Skip to content

Commit f57858e

Browse files
committed
pull in system tests env vars & run prettier
1 parent 57922bc commit f57858e

1 file changed

Lines changed: 38 additions & 25 deletions

File tree

packages/bigquery/benchmark/bench.js

Lines changed: 38 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,16 @@
1919
const async = require('async');
2020
const fs = require('fs');
2121
const BigQuery = require('../src/index.js');
22+
const env = require('../../../system-test/env.js');
2223

2324
if (process.argv.length < 3) {
24-
throw `need query file; usage: \
25-
'${process.argv[0]} ${process.argv[1]} <queries.json>'`;
25+
throw new Error(`need query file; ` +
26+
`usage: '${process.argv[0]} ${process.argv[1]} <queries.json>'`);
2627
}
28+
2729
var queryJson = fs.readFileSync(process.argv[2]);
2830
var queries = JSON.parse(queryJson);
29-
var client = new BigQuery();
31+
var client = new BigQuery(env);
3032

3133
var doQuery = function(queryTxt, callback) {
3234
var startMilli = new Date().getTime();
@@ -39,28 +41,39 @@ var doQuery = function(queryTxt, callback) {
3941
useLegacySql: false
4042
};
4143

42-
client.createQueryStream(query)
43-
.on('error', function(err) {
44-
callback(err);
45-
})
46-
.on('data', function(row) {
47-
if (numRows === 0) {
48-
numCols = Object.keys(row).length;
49-
timeFirstByteMilli = new Date().getTime() - startMilli;
50-
} else if (numCols !== Object.keys(row).length) {
51-
this.end();
52-
callback(`query "${queryTxt}": wrong number of columns, \
53-
want ${numCols} got ${Object.keys(row).length}`);
54-
}
55-
numRows++;
56-
})
57-
.on('end', function() {
58-
var timeTotalMilli = new Date().getTime() - startMilli;
59-
console.log(`query ${queryTxt}: got ${numRows} rows, ${numCols} cols, \
60-
first byte ${timeFirstByteMilli / 1000} sec, \
61-
total ${timeTotalMilli / 1000} sec`);
62-
callback(null);
63-
});
44+
client
45+
.createQueryStream(query)
46+
.on('error', callback)
47+
.on('data', function(row) {
48+
if (numRows === 0) {
49+
numCols = Object.keys(row).length;
50+
timeFirstByteMilli = new Date().getTime() - startMilli;
51+
} else if (numCols !== Object.keys(row).length) {
52+
this.end();
53+
54+
var receivedCols = Object.keys(row).length;
55+
var error = new Error(
56+
`query "${queryTxt}": ` +
57+
`wrong number of columns, want ${numCols} got ${receivedCols}`
58+
);
59+
60+
callback(error);
61+
}
62+
numRows++;
63+
})
64+
.on('end', function() {
65+
var timeTotalMilli = new Date().getTime() - startMilli;
66+
67+
console.log(
68+
`query ${queryTxt}:`,
69+
`got ${numRows} rows,`,
70+
`${numCols} cols,`,
71+
`first byte ${timeFirstByteMilli / 1000} sec,`,
72+
`total ${timeTotalMilli / 1000} sec`
73+
);
74+
75+
callback(null);
76+
});
6477
};
6578

6679
async.eachSeries(queries, doQuery, err => {

0 commit comments

Comments
 (0)