Skip to content

Latest commit

 

History

History

opentelemetry-host-metrics

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenTelemetry Host Metrics for Node.js

NPM Published Version Apache License

This module provides automatic collection of Host Metrics which includes metrics for:

  • CPU
  • Memory
  • Network

Compatible with OpenTelemetry JS API and SDK 1.0+.

Installation

npm install --save @opentelemetry/host-metrics

Usage

const { MeterProvider } = require('@opentelemetry/sdk-metrics');
const { HostMetrics } = require('@opentelemetry/host-metrics');
const { PrometheusExporter } = require('@opentelemetry/exporter-prometheus');

const exporter = new PrometheusExporter(
  {
    startServer: true
  }, () => {
    console.log('prometheus scrape endpoint: http://localhost:9464/metrics')
  }
);

const meterProvider = new MeterProvider({
  readers: [reader],
});

const hostMetrics = new HostMetrics({ meterProvider });
hostMetrics.start();

Semantic Conventions

This package uses Semantic Conventions Version 1.25.0. As for now the Semantic Conventions are bundled in this package but eventually will be imported from @opentelemetry/semantic-conventions package when it is updated to latest version. Ref: opentelemetry-js/issues/4235

Metrics collected:

Metric Short Description
system.cpu.time Seconds each logical CPU spent on each mode
system.cpu.utilization CPU usage time (0-1)
system.memory.usage Reports memory in use by state
system.memory.utilization Memory usage (0-1)
system.network.dropped Count of packets that are dropped
system.network.errors Count of network errors detected
system.network.io Network flow direction
process.cpu.time Total CPU seconds
process.cpu.utilization Difference in process.cpu.time since the last measurement
process.memory.usage The amount of physical memory in use

Attributes collected:

Metric Short Description
system.cpu.logical_number The logical CPU number
system.cpu.state The state of the CPU
system.memory.state The memory state
system.device The device identifier
network.io.direction The network IO operation direction
system.network.state The network state
process.cpu.state The CPU state

Useful links

License

APACHE 2.0 - See LICENSE for more information.