This module provides automatic collection of Host Metrics which includes metrics for:
- CPU
- Memory
- Network
Compatible with OpenTelemetry JS API and SDK 1.0+
.
npm install --save @opentelemetry/host-metrics
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();
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 |
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
- For help or feedback on this project, join us in GitHub Discussions
APACHE 2.0 - See LICENSE for more information.