@lndr/opentelemetry-typescript
v1.1.6
Published
Boilerplate for OpenTelemetry instrumentation.
Downloads
629
Readme
opentelemetry-typescript
Boilerplate for OpenTelemetry instrumentation.
Getting started:
The first step is to instrument your application code with OpenTelemetry and send its metrics, traces, and logs to the OpenTelemetry collector.
For this example, we will use the OTLP HTTP exporters:
npm install @opentelemetry/exporter-metrics-otlp-http @opentelemetry/exporter-trace-otlp-http @opentelemetry/exporter-logs-otlp-http// ./instrumentation.js
const OpenTelemetry = require('@lndr/opentelemetry-typescript');
const { OTLPMetricExporter } = require('@opentelemetry/exporter-metrics-otlp-http');
const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-http');
const { OTLPLogExporter } = require('@opentelemetry/exporter-logs-otlp-http');
OpenTelemetry(
'my-app:1.0.0',
{
exporters: {
metrics: [
new OTLPMetricExporter({ url: `http://localhost:4318/v1/metrics` })
],
traces: [
new OTLPTraceExporter({ url: `http://localhost:4318/v1/traces` })
],
logs: [
new OTLPLogExporter({ url: `http://localhost:4318/v1/logs` })
]
}
}
).start();Then you can run your Node.js application by preloading the instrumentation file, like below:
node -r ./instrumentation.js my-app.jsYou can use other available exporters, just remember to install them in your project first.
Infrastructure setup:
After your code is instrumented, the next step is to spin up the OpenTelemetry collector and the LGTM stack (Loki, Grafana, Tempo and Mimir).
If you need instructions for configuring your deployment, refer to the examples in Grafana’s intro-to-mltp repository or the official Grafana Labs documentation.
Notice
This project, opentelemetry-typescript, makes use of the OpenTelemetry packages published under the Apache License 2.0.
This package itself is licensed under the MIT license.
Disclaimer: This project is provided “as is”, without warranty of any kind. The author assumes no responsibility for how this package is used.
