HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode.com/node_modules/tx2/src/utils/probes/Meter.js
var units = require('./units')
var EWMA  = require('./EWMA')

function Meter(opts) {
  var self = this

  this._tickInterval = units.SECONDS
  this._samples = opts.seconds || 1
  this._timeframe = opts.timeframe || 60

  this._rate     = new EWMA(units.SECONDS, this._tickInterval)

  this._interval = setInterval(function() {
    self._rate.tick()
  }, this._tickInterval)

  this._interval.unref()
}

Meter.RATE_UNIT     = units.SECONDS

Meter.prototype.mark = function(n) {
  n = n || 1

  this._rate.update(n)
}

Meter.prototype.val = function() {
  return Math.round(this._rate.rate(Meter.RATE_UNIT) * 100 ) / 100
}

module.exports = Meter