🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@emartech/aggregate-metric-logger

Package Overview
Dependencies
Maintainers
284
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@emartech/aggregate-metric-logger

aggregate metrics in memory for logging

6.0.2
latest
Source
npm
Version published
Weekly downloads
675
-29.32%
Maintainers
284
Weekly downloads
 
Created
Source

aggregate-metric-logger

Aggregate metrics in memory and send them to GCP them every minute.

Setup

Set METRIC_LOGGER_ENABLED env variable to true for aggregate-metric-logger to start collecting and logging measurements.

Set MONITORING_PROJECT_ID and GCP_CREDENTIALS env variables. HOSTNAME env variable also has to be set, but for a pod running on kubernetes this should already be set.

Add Monitoring Metrics Writer Role to the service account in the GCP project.

Usage

Count occurrences

const metricLogger = require('@emartech/aggregate-metric-logger')

metricLogger.count('etwas-went-wrong', { customer_id: 11 });
metricLogger.count('etwas-went-wrong', { customer_id: 11 });

// will aggregate these to a single metric

Measure values

If you want aggregate measurements about something you need to simply call the measure method for each value:

const metricLogger = require('@emartech/aggregate-metric-logger')

metricLogger.measure('thing-to-measure', 14, { customer_id: 12 })
metricLogger.measure('thing-to-measure', 20, { customer_id: 44 })

Measuring durations

For duration measurements, there are two convenient methods: start, and stop;

You start the measurement with start, the counted value for aggregation will be the duration between this start and the matching stop call;

function exampleIOHeavyFunction() {
  const measurement = metricLogger.start('tag-for-the-measuement', { customer_id: 23 });
  const result = db.findItems();
  metricLogger.stop(measurement);
  return result;
}

Keywords

metric

FAQs

Package last updated on 30 May 2025

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