Package Exports
- @opentelemetry/host-metrics
- @opentelemetry/host-metrics/build/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@opentelemetry/host-metrics) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
OpenTelemetry Host Metrics for Node.js
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
- 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
License
APACHE 2.0 - See LICENSE for more information.