Moving to leveldb

This commit is contained in:
Jeff Morgan 2014-12-10 18:55:03 -08:00
parent 9c5eed99fa
commit cbb40dded8
2 changed files with 32 additions and 9 deletions

View File

@ -8,18 +8,41 @@ var db = level(path.join(process.env[(process.platform === 'win32') ? 'USERPROFI
Metrics = {};
Metrics.enable = function () {
db.put('metrics.enabled', true);
};
Metrics.disable = function () {
db.put('metrics.enabled', false);
};
Metrics.enabled = function (callback) {
db.get('metrics.enabled', function (err, value) {
if (err) {
callback(false);
} else {
callback(value);
}
});
};
Metrics.trackEvent = function (name) {
if (!name) {
return;
}
var uuid = localStorage.getItem('metrics.uuid');
db.get('metrics.enabled', function (err, value) {
if (!err && uuid) {
if (err || !value) {
return;
}
db.get('metrics.uuid', function (err, uuid) {
if (err) {
return;
}
mixpanel.track('docker_gui ' + name, {
distinct_id: uuid,
version: app.getVersion()
});
}
});
});
};
@ -34,7 +57,9 @@ Metrics.prepareTracking = function () {
}
}
db.get('metrics.uuid', function (err, value) {
if (err && err.notFound) {
db.put('metrics.uuid', uuid.v4());
}
});
});
};

View File

@ -1,15 +1,13 @@
var remote = require('remote');
var dialog = remote.require('dialog');
var level = require('levelup');
var db = level(path.join(process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'], 'Library/Application Support/Kitematic/data', 'db'));
Template.dashboardSettings.events({
'click .btn-usage-analytics-on': function () {
db.put('metrics.enabled', true);
Metrics.enable();
Session.set('metrics.enabled', true);
},
'click .btn-usage-analytics-off': function () {
db.put('metrics.enabled', false);
Metrics.disable();
Session.set('metrics.enabled', false);
}
});
@ -17,7 +15,7 @@ Template.dashboardSettings.events({
Template.dashboardSettings.helpers({
metricsEnabled: function () {
if (Session.get('metrics.enabled') === undefined) {
db.get('metrics.enabled', function (err, value) {
Metrics.enabled(function (value) {
Session.set('metrics.enabled', value);
});
}