Fixing metrics

This commit is contained in:
Jeffrey Morgan 2015-04-28 11:02:17 -04:00
parent 46161ecfbf
commit 928e006550
4 changed files with 13 additions and 3 deletions

View File

@ -7,7 +7,7 @@ var util = require('./Util');
var settings; var settings;
try { try {
settings = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'settings.json'), 'utf8')); settings = JSON.parse(fs.readFileSync(path.join(__dirname, '../..', 'settings.json'), 'utf8'));
} catch (err) { } catch (err) {
settings = {}; settings = {};
} }

View File

@ -24,6 +24,10 @@ describe('Util', function () {
var testdata = String.raw`/Users/johnappleseed/.docker/machine/machines/dev2/id_rsa docker@localhost echo`; var testdata = String.raw`/Users/johnappleseed/.docker/machine/machines/dev2/id_rsa docker@localhost echo`;
expect(util.removeSensitiveData(testdata).indexOf('/Users/johnappleseed/')).toEqual(-1); expect(util.removeSensitiveData(testdata).indexOf('/Users/johnappleseed/')).toEqual(-1);
expect(util.removeSensitiveData(testdata).indexOf('/Users/<redacted>/')).toNotEqual(-1); expect(util.removeSensitiveData(testdata).indexOf('/Users/<redacted>/')).toNotEqual(-1);
testdata = String.raw`/Users/some.wei-rdUsername/.docker/machine/machines/dev2/id_rsa docker@localhost echo`;
expect(util.removeSensitiveData(testdata).indexOf('/Users/johnappleseed/')).toEqual(-1);
expect(util.removeSensitiveData(testdata).indexOf('/Users/<redacted>/')).toNotEqual(-1);
}); });
it ('returns input if empty or not a string', function () { it ('returns input if empty or not a string', function () {

View File

@ -37,7 +37,7 @@ module.exports = {
} }
return str.replace(/-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----/mg, '<redacted>') return str.replace(/-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----/mg, '<redacted>')
.replace(/-----BEGIN RSA PRIVATE KEY-----.*-----END RSA PRIVATE KEY-----/mg, '<redacted>') .replace(/-----BEGIN RSA PRIVATE KEY-----.*-----END RSA PRIVATE KEY-----/mg, '<redacted>')
.replace(/\/Users\/[a-z_][a-z0-9_]+\//mg, '/Users/<redacted>/'); .replace(/\/Users\/.*\//mg, '/Users/<redacted>/');
}, },
resourceDir: function () { resourceDir: function () {
return process.env.RESOURCES_PATH; return process.env.RESOURCES_PATH;
@ -48,7 +48,7 @@ module.exports = {
settingsjson: function () { settingsjson: function () {
var settingsjson = {}; var settingsjson = {};
try { try {
settingsjson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'settings.json'), 'utf8')); settingsjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../..', 'settings.json'), 'utf8'));
} catch (err) {} } catch (err) {}
return settingsjson; return settingsjson;
}, },

View File

@ -3,6 +3,7 @@ var fs = require('fs');
var util = require('./Util'); var util = require('./Util');
var path = require('path'); var path = require('path');
var bugsnag = require('bugsnag-js'); var bugsnag = require('bugsnag-js');
var metrics = require('./MetricsUtil');
var WebUtil = { var WebUtil = {
addWindowSizeSaving: function () { addWindowSizeSaving: function () {
@ -24,6 +25,7 @@ var WebUtil = {
}, },
addBugReporting: function () { addBugReporting: function () {
var settingsjson = util.settingsjson(); var settingsjson = util.settingsjson();
if (settingsjson.bugsnag) { if (settingsjson.bugsnag) {
bugsnag.apiKey = settingsjson.bugsnag; bugsnag.apiKey = settingsjson.bugsnag;
bugsnag.autoNotify = true; bugsnag.autoNotify = true;
@ -35,6 +37,10 @@ var WebUtil = {
}; };
bugsnag.beforeNotify = function(payload) { bugsnag.beforeNotify = function(payload) {
if (!metrics.enabled()) {
return false;
}
payload.stacktrace = util.removeSensitiveData(payload.stacktrace); payload.stacktrace = util.removeSensitiveData(payload.stacktrace);
payload.context = util.removeSensitiveData(payload.context); payload.context = util.removeSensitiveData(payload.context);
payload.file = util.removeSensitiveData(payload.file); payload.file = util.removeSensitiveData(payload.file);