New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

minum

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

minum

Core 'minum' module with backend tracking and aggregation

latest
Source
npmnpm
Version
0.2.1
Version published
Weekly downloads
11
450%
Maintainers
1
Weekly downloads
 
Created
Source

minum Build Status

When its comes to metrics, aggregations plays a huge role. If that fails, then there is no use of collecting metrics. Here is the how minum do it correctly.

  • There are sources who generate metrics
  • metrics will be collected with the awareness of the source
  • When it comes aggregations, metrics will be aggregated in 2 steps
  • It will first aggregate values in each source, then result will be aggregated
  • function which used to aggregate metrics can be specified in runtime
  • result will be grouped into time resolutions

Tracking Metrics

var MONGODB_URL = "mongodb://localhost/test";
var minum = require('minum')(MONGODB_URL);

minum.track('no-of-users', 344, 'my-source', function(err) {

});

Aggregate Metrics

API

aggregate

Aggregate both values and sources

  @param {String} name - name of the metric
    @param {Constant} resolution - resolution type
        possible values: "day", "hour", "minute", "five_secs"
    @param {String} valueAggregator - aggregation function to be used for aggregating metric of the each source
        possible values: "sum", "avg", "min", "max"
    @param {String} sourceAggregator - aggregation function to be used for the aggregating sources(value from metricsAggregation)
        possible values: "sum", "avg", "min", "max"
    @param {Object} query - mongodb query for filtering out metrics
        only supports date and source only
    @param {Function} callback - callback function
        callback(err, results)

Metrics.aggregate = function(name, resolution, valueAggregator, sourceAggregator, query, callback){}
aggregateOnlyValues

Only aggregate values, source will not be aggregated and return values aggregations

    @param {String} name - name of the metric
    @param {Constant} resolution - resolution type
        possible values: "DAY", "HOUR", "MINUTE", "FIVE_SECS"
    @param {String} valueAggregator - aggregation function to be used for aggregating metric of the each source
        possible values: "sum", "avg", "min", "max"
    @param {Array} sourceFilter - list of sources need to be return in the result. if empty all the sources will be retured
    @param {Object} query - mongodb query for filtering out metrics
        only supports date and source only
    @param {Function} callback - callback function
        callback(err, results)

Metrics.aggregate = function(name, resolution, valueAggregator, sourceAggregator, query, callback){}
identifySources

identify sources available for a given metric

    @param {String} name - name of the metric
    @param {Object} query - mongodb query for filtering out metrics
        only supports date only
    @param {Function} callback - callback function
        callback(err, resultsArray)

Metrics.indentifySources = function (name, query, callback) {}

Example

	
var MONGODB_URL = "mongodb://localhost/test";
var minum = require('minum')(MONGODB_URL);

minum.aggregate('no-of-users', 'minute', 'avg', 'sum', {date: { $gte: 1361030882576 }}, function(err, result) {

});

Keywords

metrics

FAQs

Package last updated on 23 Apr 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts