DEV.co
Open-Source Observability · open-telemetry

opentelemetry-js

OpenTelemetry JS is the JavaScript implementation of OpenTelemetry, a vendor-neutral framework for collecting traces, metrics, and logs from applications. It provides SDKs and APIs for instrumenting Node.js and browser applications to export observability data.

Source: GitHub — github.com/open-telemetry/opentelemetry-js
3.4k
GitHub stars
1.1k
Forks
TypeScript
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryopen-telemetry/opentelemetry-js
Owneropen-telemetry
Primary languageTypeScript
LicenseApache-2.0 — OSI-approved
Stars3.4k
Forks1.1k
Open issues237
Latest releasev2.9.0 (2026-07-02)
Last updated2026-07-08
Sourcehttps://github.com/open-telemetry/opentelemetry-js

What opentelemetry-js is

TypeScript-based SDK offering distributed tracing, metrics collection, and log capture via standardized APIs. Supports Node.js 18+ (Active/Maintenance LTS) and browser environments with auto-instrumentation packages for common frameworks. Exports telemetry to console or backend collectors.

Quickstart

Get the opentelemetry-js source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/open-telemetry/opentelemetry-js.gitcd opentelemetry-js# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Distributed Tracing in Microservices

Track request flows across Node.js services with span context propagation. Auto-instrumentations capture HTTP, database, and messaging operations without code changes.

Application Performance Monitoring (APM)

Collect metrics and traces to feed into observability platforms (Datadog, Jaeger, Prometheus). Vendor-neutral API prevents lock-in.

CI/CD and DevOps Pipelines

Instrument Node.js build, deployment, and monitoring scripts. Export telemetry to centralized observability backends for operational insights.

Implementation considerations

  • Requires explicit setup of TraceExporter and NodeSDK; auto-instrumentations for Node.js are provided via the meta-package @opentelemetry/auto-instrumentations-node.
  • Initialization via -r flag (node -r ./tracing.js app.js) or programmatic startup must occur before application logic; graceful shutdown handling is essential.
  • ECMAScript Modules (ESM) support exists but is less documented than CommonJS; refer to esm-support.md for production ESM deployments.
  • Package version compatibility managed via NPM tags (latest); verify compatibility matrix before upgrading across major versions.
  • Diagnostic logging can be enabled for troubleshooting export failures; built-in DiagConsoleLogger helps validate collector connectivity.

When to avoid it — and what to weigh

  • Requires Stable Production Guarantees — Status badge indicates beta. Browser instrumentation is experimental and unspecified. Production use requires risk acceptance and thorough testing.
  • Simple Logging-Only Use Case — If your need is basic application logging without distributed tracing or metrics, a lighter logging library may be more suitable.
  • Standalone Frontend Without Backend Integration — Browser support is early-stage and unspecified. Not recommended for client-only observability without mature backend export targets.
  • Legacy Node.js Versions Below 18 — Only Active/Maintenance LTS versions supported. Older Node versions are not tested and not guaranteed to work.

License & commercial use

Apache License 2.0 (Apache-2.0). Permissive OSI-approved license allowing commercial use, modification, and distribution with attribution and liability disclaimer.

Apache 2.0 is a permissive open-source license. Commercial use is permitted. However, verify that all transitive dependencies (SDK and instrumentation packages) are also licensed under compatible terms, especially if redistribution is planned.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

SDK exports telemetry data (traces, metrics, logs) which may contain sensitive application details. Ensure exporter endpoints are authenticated and encrypted (HTTPS/mTLS). Sanitize PII from spans before export. No specific vulnerabilities disclosed in provided data; review dependencies for known CVEs as part of due diligence.

Alternatives to consider

Datadog APM Agent (datadog-apm)

Proprietary, turnkey APM; tight integration with Datadog backend. Less flexible for multi-vendor observability but simpler setup if Datadog is your sole destination.

Elastic APM Agent (elastic-apm-node)

Elasticsearch-focused; simpler if Elastic Stack is your backend. Smaller ecosystem compared to OpenTelemetry's vendor-neutral approach.

New Relic Node.js Agent (newrelic)

New Relic-specific instrumentation; mature and production-hardened but vendor lock-in. Consider if New Relic is your APM platform.

Software development agency

Build on opentelemetry-js with DEV.co software developers

Start with the OpenTelemetry JS Getting Started guide. Install the SDK, initialize tracing, and export to your observability backend.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

opentelemetry-js FAQ

Is OpenTelemetry JS production-ready?
Partially. The status badge indicates beta. Core APIs and Node.js SDKs are widely used, but browser instrumentation is experimental. Evaluate risk tolerance and conduct thorough testing before production deployment.
Do I need an external collector?
For any serious use, yes. The built-in ConsoleSpanExporter is for development/debugging. Production requires exporting to OpenTelemetry Collector, Jaeger, Datadog, or similar backend.
Will auto-instrumentations impact performance?
Unknown from provided data. Auto-instrumentations add overhead (span creation, serialization, network export). Test in your environment; sampling policies can reduce overhead.
Can I use OpenTelemetry with existing logging frameworks?
Yes. OpenTelemetry can coexist with log libraries; logs can be separately collected or integrated into trace context. Refer to documentation for log bridge patterns.

Custom software development services

DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If opentelemetry-js is part of your open-source observability roadmap, our team can implement, customize, migrate, and maintain it.

Ready to instrument your Node.js application?

Start with the OpenTelemetry JS Getting Started guide. Install the SDK, initialize tracing, and export to your observability backend.