Skip to content

Commit

Permalink
fix: analytics report includes duration of execution
Browse files Browse the repository at this point in the history
  • Loading branch information
Anton Drukh committed Mar 14, 2018
1 parent c2399ae commit 66d658a
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
5 changes: 2 additions & 3 deletions cli/index.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
#!/usr/bin/env node

// require analytics as soon as possible to start measuring execution time
var analytics = require('../lib/analytics');
var args = require('./args')(process.argv);
var debug = require('debug')('snyk');
var copy = require('./copy');
var alerts = require('../lib/alerts');
var sln = require('../lib/sln');

var exitcode = 0;

if (args.options.file && args.options.file.match(/\.sln$/)) {
sln.updateArgs(args);
}

var cli = args.method.apply(null, args.options._).then(function (result) {
var analytics = require('../lib/analytics');
var res = analytics({
command: args.command,
args: args.options._,
Expand All @@ -30,7 +30,6 @@ var cli = args.method.apply(null, args.options._).then(function (result) {
}).catch(function (error) {
var spinner = require('../lib/spinner');
spinner.clearAll();
var analytics = require('../lib/analytics');
var command = 'bad-command';

if (error.code === 'VULNS') {
Expand Down
12 changes: 7 additions & 5 deletions lib/analytics.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ var crypto = require('crypto');
var uuid = require('uuid');

var metadata = {};
// analytics module is required at the beginning of the CLI run cycle
var startTime = Date.now();

function analytics(data) {
if (!data) {
Expand Down Expand Up @@ -41,8 +43,7 @@ function postAnalytics(data) {
return Promise.resolve();
}

// get fingerprint from mac address
// snyk version
// get snyk version
return version().then(function (version) {
data.version = version;
data.os = osName(os.platform(), os.release());
Expand All @@ -58,8 +59,9 @@ function postAnalytics(data) {
}

data.ci = isCI;
data.durationMs = Date.now() - startTime;

debug(data);
debug('analytics', data);

return request({
body: {
Expand All @@ -71,7 +73,7 @@ function postAnalytics(data) {
headers: headers,
});
}).catch(function (error) {
debug(error); // this swallows the analytics error
debug('analytics', error); // this swallows the analytics error
});
}

Expand All @@ -80,7 +82,7 @@ analytics.reset = function () {
};

analytics.add = function (key, value) {
debug('add', key, value);
debug('analytics add', key, value);
if (metadata[key]) {
if (!Array.isArray(metadata[key])) {
metadata[key] = [metadata[key]];
Expand Down
2 changes: 1 addition & 1 deletion test/analytics.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ test('analytics', function (t) {
args: [],
}).then(function () {
var body = spy.lastCall.args[0].body.data;
t.deepEqual(Object.keys(body).sort(), ['command', 'os', 'version', 'id', 'ci', 'metadata', 'args', 'nodeVersion'].sort(), 'keys as expected');
t.deepEqual(Object.keys(body).sort(), ['command', 'os', 'version', 'id', 'ci', 'metadata', 'args', 'nodeVersion', 'durationMs'].sort(), 'keys as expected');
});
});

Expand Down

0 comments on commit 66d658a

Please sign in to comment.