Skip to content
Snippets Groups Projects
Commit a1eefcea authored by murgatroid99's avatar murgatroid99
Browse files

Improve Node benchmarks, add generic unary test

parent 7e6b7df8
No related branches found
No related tags found
No related merge requests found
...@@ -88,6 +88,13 @@ function streamingCall(call) { ...@@ -88,6 +88,13 @@ function streamingCall(call) {
}); });
} }
function makeUnaryGenericCall(response_size) {
var response = zeroBuffer(response_size);
return function unaryGenericCall(call, callback) {
callback(null, response);
};
}
function makeStreamingGenericCall(response_size) { function makeStreamingGenericCall(response_size) {
var response = zeroBuffer(response_size); var response = zeroBuffer(response_size);
return function streamingGenericCall(call) { return function streamingGenericCall(call) {
...@@ -129,6 +136,7 @@ function BenchmarkServer(host, port, tls, generic, response_size) { ...@@ -129,6 +136,7 @@ function BenchmarkServer(host, port, tls, generic, response_size) {
this.port = server.bind(host + ':' + port, server_creds); this.port = server.bind(host + ':' + port, server_creds);
if (generic) { if (generic) {
server.addService(genericService, { server.addService(genericService, {
unaryCall: makeUnaryGenericCall(response_size),
streamingCall: makeStreamingGenericCall(response_size) streamingCall: makeStreamingGenericCall(response_size)
}); });
} else { } else {
......
...@@ -34,8 +34,17 @@ ...@@ -34,8 +34,17 @@
var _ = require('lodash'); var _ = require('lodash');
module.exports = { module.exports = {
'unaryCall' : {
path: '/grpc.testing.BenchmarkService/UnaryCall',
requestStream: false,
responseStream: false,
requestSerialize: _.identity,
requestDeserialize: _.identity,
responseSerialize: _.identity,
responseDeserialize: _.identity
},
'streamingCall' : { 'streamingCall' : {
path: '/grpc.testing/BenchmarkService', path: '/grpc.testing.BenchmarkService/StreamingCall',
requestStream: true, requestStream: true,
responseStream: true, responseStream: true,
requestSerialize: _.identity, requestSerialize: _.identity,
......
...@@ -89,6 +89,7 @@ module.exports = function WorkerServiceImpl(benchmark_impl, server) { ...@@ -89,6 +89,7 @@ module.exports = function WorkerServiceImpl(benchmark_impl, server) {
default: default:
call.emit('error', new Error('Unsupported PayloadConfig type' + call.emit('error', new Error('Unsupported PayloadConfig type' +
setup.payload_config.payload)); setup.payload_config.payload));
return;
} }
switch (setup.load_params.load) { switch (setup.load_params.load) {
case 'closed_loop': case 'closed_loop':
...@@ -103,6 +104,7 @@ module.exports = function WorkerServiceImpl(benchmark_impl, server) { ...@@ -103,6 +104,7 @@ module.exports = function WorkerServiceImpl(benchmark_impl, server) {
default: default:
call.emit('error', new Error('Unsupported LoadParams type' + call.emit('error', new Error('Unsupported LoadParams type' +
setup.load_params.load)); setup.load_params.load));
return;
} }
stats = client.mark(); stats = client.mark();
call.write({ call.write({
...@@ -137,8 +139,27 @@ module.exports = function WorkerServiceImpl(benchmark_impl, server) { ...@@ -137,8 +139,27 @@ module.exports = function WorkerServiceImpl(benchmark_impl, server) {
switch (request.argtype) { switch (request.argtype) {
case 'setup': case 'setup':
console.log('ServerConfig %j', request.setup); console.log('ServerConfig %j', request.setup);
var setup = request.setup;
var resp_size, generic;
if (setup.payload_config) {
switch (setup.payload_config.payload) {
case 'bytebuf_params':
resp_size = setup.payload_config.bytebuf_params.resp_size;
generic = true;
break;
case 'simple_params':
resp_size = setup.payload_config.simple_params.resp_size;
generic = false;
break;
default:
call.emit('error', new Error('Unsupported PayloadConfig type' +
setup.payload_config.payload));
return;
}
}
server = new BenchmarkServer('[::]', request.setup.port, server = new BenchmarkServer('[::]', request.setup.port,
request.setup.security_params); request.setup.security_params,
generic, resp_size);
server.on('started', function() { server.on('started', function() {
stats = server.mark(); stats = server.mark();
call.write({ call.write({
......
...@@ -61,6 +61,9 @@ do ...@@ -61,6 +61,9 @@ do
"csharp") "csharp")
python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --compiler coreclr python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --compiler coreclr
;; ;;
"node")
python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --iomgr_platform=uv
;;
*) *)
python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8
;; ;;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment