@nxus/metrics

2.4.0-0 • Public • Published

@nxus/metrics

Build Status

A module for capturing and querying arbitrary events, called metrics.

A metric has a name, like 'pageViews', and arbitrary data, which can be any object. For example, your 'pageViews' metric might have an entry like:

{
  name: 'pageViews',
  data: {
    browser: 'Safari',
    location: [...]
    ...
  }
}

Installation

> npm install @nxus/metrics --save

Usage

Saving a metric value

Metrics provides a method for recording new metrics.

app.get('metrics').metric('someName', {some: 'data'});

Capturing metrics for models

You can also have Metrics capture all events from a model and save new values accordingly.

app.get('metrics').capture('myModel')

Now, whenenver an instance of the model is created, updated or destroyed, there will be a corresponding metric captured. For example, 'myModelCreated', where the data is the latest instance of the model.

API


Metrics

The Metrics module captures arbitrary data about events (a metric) for storage and querying later.

capture

Captures metric data about a specified @nxus/storage Model

Parameters

  • model string The name of the model to capture. Must be a Storage/BaseModel class.
  • events Array=(default ['create', 'update', 'destroy']) Optional. An array of model events to capture. Defaults to 'create', 'update', 'destroy'.

getMetrics

Returns metrics for the specified name, optionally using the query to filter returned values.

Parameters

  • name string the name of the metrics to return
  • query Object=(default {}) Optional. The Waterline compatible query object to filter results by.

Returns Promise A promise for the result set.

metric

Record a new metric value

Parameters

  • name string The metric name to use.
  • data object An arbitrary object to record as as the data payload for the metric.

Returns Promise A promise that is fulfilled when the metric has been saved successfully.

Readme

Keywords

none

Package Sidebar

Install

npm i @nxus/metrics

Weekly Downloads

0

Version

2.4.0-0

License

MIT

Last publish

Collaborators

  • loppear
  • mjreich
  • nxus-admin