You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
thumbsup/bin/analytics.js

36 lines
1.1 KiB
JavaScript

const Insight = require('insight')
const path = require('path')
const pkg = require(path.join(__dirname, '..', 'package.json'))
// Google Analytics tracking code
const TRACKING_CODE = 'UA-110087713-3'
class Analytics {
constructor ({ enabled }) {
this.enabled = enabled
this.insight = new Insight({ trackingCode: TRACKING_CODE, pkg })
this.insight.optOut = !enabled
}
// report that the gallery has started building
start (done) {
this.insight.track('start')
}
// report that the gallery has finished building + some stats
finish (stats, done) {
this.insight.track('finish')
this.insight.trackEvent({ category: 'gallery', action: 'albums', label: 'Album count', value: stats.albums })
this.insight.trackEvent({ category: 'gallery', action: 'photos', label: 'Photo count', value: stats.photos })
this.insight.trackEvent({ category: 'gallery', action: 'videos', label: 'Video count', value: stats.videos })
}
// report that an error happened
// but don't report the contents (might contain file paths etc)
error (done) {
this.insight.track('error')
}
}
module.exports = Analytics