Ignore a couple of errors in the Node express benchmark

reviewable/pr10522/r3
murgatroid99 8 years ago committed by jiangtaoli2016
parent f1a23b0f60
commit 7400d1ce75
  1. 25
      src/node/performance/benchmark_client_express.js
  2. 4
      src/node/performance/benchmark_server_express.js

@ -93,7 +93,7 @@ function BenchmarkClient(server_targets, channels, histogram_params,
for (var i = 0; i < channels; i++) {
var host_port;
host_port = server_targets[i % server_targets.length].split(':')
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;
@ -149,6 +149,17 @@ BenchmarkClient.prototype.startClosedLoop = function(
if (self.running) {
self.pending_calls++;
var start_time = process.hrtime();
function finishCall(success) {
if (success) {
var time_diff = process.hrtime(start_time);
self.histogram.add(timeDiffToNanos(time_diff));
}
makeCall(client_options);
self.pending_calls--;
if ((!self.running) && self.pending_calls == 0) {
self.emit('finished');
}
}
var req = self.request(client_options, function(res) {
var res_data = '';
res.on('data', function(data) {
@ -156,18 +167,16 @@ BenchmarkClient.prototype.startClosedLoop = function(
});
res.on('end', function() {
JSON.parse(res_data);
var time_diff = process.hrtime(start_time);
self.histogram.add(timeDiffToNanos(time_diff));
makeCall(client_options);
self.pending_calls--;
if ((!self.running) && self.pending_calls == 0) {
self.emit('finished');
}
finishCall(true);
});
});
req.write(JSON.stringify(argument));
req.end();
req.on('error', function(error) {
if (error.code === 'ECONNRESET' || error.code === 'ETIMEDOUT') {
finishCall(false);
return;
}
self.emit('error', new Error('Client error: ' + error.message));
self.running = false;
});

@ -46,7 +46,7 @@ var EventEmitter = require('events');
var util = require('util');
var express = require('express');
var bodyParser = require('body-parser')
var bodyParser = require('body-parser');
function unaryCall(req, res) {
var reqObj = req.body;
@ -56,7 +56,7 @@ function unaryCall(req, res) {
function BenchmarkServer(host, port, tls, generic, response_size) {
var app = express();
app.use(bodyParser.json())
app.use(bodyParser.json());
app.put('/serviceProto.BenchmarkService.service/unaryCall', unaryCall);
this.input_host = host;
this.input_port = port;

Loading…
Cancel
Save