UNPKG

judoscale-node-core

Version:

Core dependencies for NodeJS adapters for the JudoScale autoscaling add-on for Heroku

41 lines (28 loc) 708 B
const Metric = require('./metric') class MetricsStore { constructor() { this.metrics = [] this.flushedAt = new Date() } push(identifier, value, time = new Date(), queueName = null) { if (this.flushedAt && this.flushedAt < new Date(new Date() - 120000)) { return false } const metric = new Metric(identifier, time, value, queueName) this.metrics.push(metric) return true } flush() { this.flushedAt = new Date() const flushedMetrics = [] let metric = null while ((metric = this.metrics.shift())) { flushedMetrics.push(metric) } return flushedMetrics } clear() { this.metrics = [] } } module.exports = MetricsStore