Metrics.coffee 647 B

123456789101112131415161718192021222324
  1. StatsD = require('lynx')
  2. settings = require('settings-sharelatex')
  3. statsd = new StatsD('localhost', 8125, {on_error:->})
  4. buildKey = (key)-> "web.#{process.env.NODE_ENV}.#{key}"
  5. module.exports =
  6. set : (key, value, sampleRate = 1)->
  7. statsd.set buildKey(key), value, sampleRate
  8. inc : (key, sampleRate = 1)->
  9. statsd.increment buildKey(key), sampleRate
  10. Timer : class
  11. constructor :(key, sampleRate = 1)->
  12. this.start = new Date()
  13. this.key = buildKey(key)
  14. done:->
  15. timeSpan = new Date - this.start
  16. statsd.timing(this.key, timeSpan, this.sampleRate)
  17. gauge : (key, value, sampleRate = 1)->
  18. statsd.gauge key, value, sampleRate