aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/node
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-04-20 19:24:11 +0000
committerGravatar Craig Tiller <ctiller@google.com>2017-04-20 19:24:11 +0000
commitc4c296e2d8ad6b90f5e36e4739ae3d68c66ace1f (patch)
treed33adf934999da3bdfd61567b1698b10c5f164e9 /src/node
parentdbc12105a3e9266dde57647ccc6340ea9c50fd2c (diff)
parent14ff003ae48f6bafe379e7590573834bc563a7cb (diff)
Merge github.com:grpc/grpc into tsan-c++
Diffstat (limited to 'src/node')
-rw-r--r--src/node/ext/call.cc4
-rw-r--r--src/node/performance/benchmark_client.js16
-rw-r--r--src/node/performance/benchmark_client_express.js10
-rw-r--r--src/node/performance/benchmark_server.js15
-rw-r--r--src/node/performance/benchmark_server_express.js8
5 files changed, 37 insertions, 16 deletions
diff --git a/src/node/ext/call.cc b/src/node/ext/call.cc
index 0f192ac90a..fe0c80e642 100644
--- a/src/node/ext/call.cc
+++ b/src/node/ext/call.cc
@@ -248,6 +248,7 @@ class SendMessageOp : public Op {
out->data.send_message.send_message = send_message;
return true;
}
+
bool IsFinalOp() { return false; }
void OnComplete(bool success) {}
@@ -264,6 +265,7 @@ class SendClientCloseOp : public Op {
EscapableHandleScope scope;
return scope.Escape(Nan::True());
}
+
bool ParseOp(Local<Value> value, grpc_op *out) { return true; }
bool IsFinalOp() { return false; }
void OnComplete(bool success) {}
@@ -501,7 +503,7 @@ void DestroyTag(void *tag) {
void Call::DestroyCall() {
if (this->wrapped_call != NULL) {
- grpc_call_destroy(this->wrapped_call);
+ grpc_call_unref(this->wrapped_call);
this->wrapped_call = NULL;
}
}
diff --git a/src/node/performance/benchmark_client.js b/src/node/performance/benchmark_client.js
index 5ef5260a96..e7c426b2ff 100644
--- a/src/node/performance/benchmark_client.js
+++ b/src/node/performance/benchmark_client.js
@@ -88,7 +88,10 @@ function timeDiffToNanos(time_diff) {
*/
function BenchmarkClient(server_targets, channels, histogram_params,
security_params) {
- var options = {};
+ var options = {
+ "grpc.max_receive_message_length": -1,
+ "grpc.max_send_message_length": -1
+ };
var creds;
if (security_params) {
var ca_path;
@@ -180,6 +183,8 @@ BenchmarkClient.prototype.startClosedLoop = function(
self.last_wall_time = process.hrtime();
+ self.last_usage = process.cpuUsage();
+
var makeCall;
var argument;
@@ -270,6 +275,8 @@ BenchmarkClient.prototype.startPoisson = function(
self.last_wall_time = process.hrtime();
+ self.last_usage = process.cpuUsage();
+
var makeCall;
var argument;
@@ -354,9 +361,11 @@ BenchmarkClient.prototype.startPoisson = function(
*/
BenchmarkClient.prototype.mark = function(reset) {
var wall_time_diff = process.hrtime(this.last_wall_time);
+ var usage_diff = process.cpuUsage(this.last_usage);
var histogram = this.histogram;
if (reset) {
this.last_wall_time = process.hrtime();
+ this.last_usage = process.cpuUsage();
this.histogram = new Histogram(histogram.resolution,
histogram.max_possible);
}
@@ -371,9 +380,8 @@ BenchmarkClient.prototype.mark = function(reset) {
count: histogram.getCount()
},
time_elapsed: wall_time_diff[0] + wall_time_diff[1] / 1e9,
- // Not sure how to measure these values
- time_user: 0,
- time_system: 0
+ time_user: usage_diff.user / 1000000,
+ time_system: usage_diff.system / 1000000
};
};
diff --git a/src/node/performance/benchmark_client_express.js b/src/node/performance/benchmark_client_express.js
index e749956599..157bf1b6de 100644
--- a/src/node/performance/benchmark_client_express.js
+++ b/src/node/performance/benchmark_client_express.js
@@ -95,7 +95,6 @@ function BenchmarkClient(server_targets, channels, histogram_params,
var host_port;
host_port = server_targets[i % server_targets.length].split(':');
var new_options = _.assign({hostname: host_port[0], port: +host_port[1]}, options);
- new_options.agent = new protocol.Agent(new_options);
this.client_options[i] = new_options;
}
@@ -137,6 +136,7 @@ BenchmarkClient.prototype.startClosedLoop = function(
}
self.last_wall_time = process.hrtime();
+ self.last_usage = process.cpuUsage();
var argument = {
response_size: resp_size,
@@ -207,6 +207,7 @@ BenchmarkClient.prototype.startPoisson = function(
}
self.last_wall_time = process.hrtime();
+ self.last_usage = process.cpuUsage();
var argument = {
response_size: resp_size,
@@ -264,9 +265,11 @@ BenchmarkClient.prototype.startPoisson = function(
*/
BenchmarkClient.prototype.mark = function(reset) {
var wall_time_diff = process.hrtime(this.last_wall_time);
+ var usage_diff = process.cpuUsage(this.last_usage);
var histogram = this.histogram;
if (reset) {
this.last_wall_time = process.hrtime();
+ this.last_usage = process.cpuUsage();
this.histogram = new Histogram(histogram.resolution,
histogram.max_possible);
}
@@ -281,9 +284,8 @@ BenchmarkClient.prototype.mark = function(reset) {
count: histogram.getCount()
},
time_elapsed: wall_time_diff[0] + wall_time_diff[1] / 1e9,
- // Not sure how to measure these values
- time_user: 0,
- time_system: 0
+ time_user: usage_diff.user / 1000000,
+ time_system: usage_diff.system / 1000000
};
};
diff --git a/src/node/performance/benchmark_server.js b/src/node/performance/benchmark_server.js
index ea85029d98..a4d5ee1c26 100644
--- a/src/node/performance/benchmark_server.js
+++ b/src/node/performance/benchmark_server.js
@@ -132,7 +132,12 @@ function BenchmarkServer(host, port, tls, generic, response_size) {
server_creds = grpc.ServerCredentials.createInsecure();
}
- var server = new grpc.Server();
+ var options = {
+ "grpc.max_receive_message_length": -1,
+ "grpc.max_send_message_length": -1
+ };
+
+ var server = new grpc.Server(options);
this.port = server.bind(host + ':' + port, server_creds);
if (generic) {
server.addService(genericService, {
@@ -156,6 +161,7 @@ util.inherits(BenchmarkServer, EventEmitter);
BenchmarkServer.prototype.start = function() {
this.server.start();
this.last_wall_time = process.hrtime();
+ this.last_usage = process.cpuUsage();
this.emit('started');
};
@@ -175,14 +181,15 @@ BenchmarkServer.prototype.getPort = function() {
*/
BenchmarkServer.prototype.mark = function(reset) {
var wall_time_diff = process.hrtime(this.last_wall_time);
+ var usage_diff = process.cpuUsage(this.last_usage);
if (reset) {
this.last_wall_time = process.hrtime();
+ this.last_usage = process.cpuUsage();
}
return {
time_elapsed: wall_time_diff[0] + wall_time_diff[1] / 1e9,
- // Not sure how to measure these values
- time_user: 0,
- time_system: 0
+ time_user: usage_diff.user / 1000000,
+ time_system: usage_diff.system / 1000000
};
};
diff --git a/src/node/performance/benchmark_server_express.js b/src/node/performance/benchmark_server_express.js
index 4b695eb467..fab4f5307c 100644
--- a/src/node/performance/benchmark_server_express.js
+++ b/src/node/performance/benchmark_server_express.js
@@ -81,6 +81,7 @@ BenchmarkServer.prototype.start = function() {
var self = this;
this.server.listen(this.input_port, this.input_hostname, function() {
self.last_wall_time = process.hrtime();
+ self.last_usage = process.cpuUsage();
self.emit('started');
});
};
@@ -91,14 +92,15 @@ BenchmarkServer.prototype.getPort = function() {
BenchmarkServer.prototype.mark = function(reset) {
var wall_time_diff = process.hrtime(this.last_wall_time);
+ var usage_diff = process.cpuUsage(this.last_usage);
if (reset) {
this.last_wall_time = process.hrtime();
+ this.last_usage = process.cpuUsage();
}
return {
time_elapsed: wall_time_diff[0] + wall_time_diff[1] / 1e9,
- // Not sure how to measure these values
- time_user: 0,
- time_system: 0
+ time_user: usage_diff.user / 1000000,
+ time_system: usage_diff.system / 1000000
};
};