Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@opentelemetry/instrumentation-runtime-node
Advanced tools
OpenTelemetry instrumentation for Node.js Performance measurement API
This module provides automatic metric instrumentation that exposes measurements from the Performance measurement APIs (i.e. perf_hooks
).
While currently it is limited to metrics, it may be modified to produce other signals in the future.
>=14.10
npm install --save @opentelemetry/sdk-node @opentelemetry/exporter-prometheus
npm install --save @opentelemetry/instrumentation-runtime-node
import { NodeSDK } from '@opentelemetry/sdk-node';
import { PrometheusExporter } from '@opentelemetry/exporter-prometheus';
import { RuntimeNodeInstrumentation } from '@opentelemetry/instrumentation-runtime-node';
const prometheusExporter = new PrometheusExporter({
port: 9464,
startServer: true
});
const sdk = new NodeSDK({
metricReader: prometheusExporter,
instrumentations: [new RuntimeNodeInstrumentation({
monitoringPrecision: 5000,
})],
});
sdk.start()
NodeSDK
is the full OpenTelemetry SDK for Node.js that is a layer of abstraction on top of the @opentelemetry/sdk-metrics
and @opentelemetry/sdk-trace-*
packages. By specifying metricReader
, it will initialize the metrics SDK and creates a MeterProvider
. @opentelemetry/exporter-prometheus
will output metrics collected by registered instrumentation on a /metrics
endpoint.
Go to localhost:9464/metrics
, and you should see:
# HELP nodejs_performance_event_loop_utilization Event loop utilization
# UNIT nodejs_performance_event_loop_utilization 1
# TYPE nodejs_performance_event_loop_utilization gauge
nodejs_performance_event_loop_utilization 0.010140079547955264
Metrics will only be exported after it has collected two ELU readings (at least approximately
RuntimeNodeInstrumentationConfig.monitoringPrecision
milliseconds after initialization). Otherwise, you may see:# no registered metrics
RuntimeNodeInstrumentation
's constructor accepts the following options:
name | type | unit | default | description |
---|---|---|---|---|
monitoringPrecision | int | millisecond | 10 | The approximate number of milliseconds for which to calculate event loop utilization averages. A larger value will result in more accurate averages at the expense of less granular data. Should be set to below the scrape interval of your metrics collector to avoid duplicated data points. |
Apache 2.0 - See LICENSE for more information.
0.11.0
finish
event on response for async express layer #107 (@vmarchaud)opentelemetry-host-metrics
FAQs
OpenTelemetry instrumentation for Node.js Performance measurement API
We found that @opentelemetry/instrumentation-runtime-node demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.