OpenTelemetry Auto-Instrumentations for Node.js

Zero-code observability for Node.js apps, bundling every OpenTelemetry contrib instrumentation into a single metapackage.

Library
npm
v0.82.0
938 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
94 /100 Excellent
Development Activity 100
Maintenance 100
Community 76
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
89 /100 Excellent
Architecture 88
Code Quality 88
Innovation 90
Learning Curve 85

OpenTelemetry Auto-Instrumentations for Node.js is a metapackage that bundles the OpenTelemetry Node.js core and contrib instrumentations so you can capture traces, metrics, and logs from dozens of popular libraries and frameworks without touching your application code. Requiring the package’s register hook at startup wires up HTTP, Express, gRPC, database, messaging, and cloud instrumentations automatically, and everything is configurable through OpenTelemetry environment variables.

It also exposes a programmatic API for teams that want fine-grained control, letting you build a curated instrumentation list and pass per-instrumentation configuration into the OpenTelemetry SDK. The result is a fast path from an uninstrumented Node service to full distributed tracing across your stack.

What You Get

  • A single metapackage that pulls in every officially supported OpenTelemetry Node.js instrumentation
  • A --require @opentelemetry/auto-instrumentations-node/register hook that instruments an app with no code changes
  • Environment-variable control over which instrumentations, exporters, and resource detectors are active
  • A programmatic getNodeAutoInstrumentations() API for per-instrumentation configuration
  • Bundled cloud and host resource detectors for AWS, GCP, Azure, Alibaba Cloud, and containers

Common Use Cases

  • Adding distributed tracing to an existing Node service without editing application code
  • Standardizing observability across many microservices with one shared dependency
  • Exporting traces and metrics to an OTLP backend such as Jaeger, Tempo, or a vendor APM
  • Selectively enabling or disabling instrumentations per environment via env vars

Under The Hood

Architecture

The package is a thin aggregation layer. src/utils.ts statically imports 40+ instrumentation classes (Http, Express, Grpc, MongoDB, Pg, Redis, KafkaJs, and more) plus cloud/host resource detectors, then getNodeAutoInstrumentations() instantiates the enabled subset based on the OTEL_NODE_ENABLED_INSTRUMENTATIONS / OTEL_NODE_DISABLED_INSTRUMENTATIONS env vars and any per-instrumentation config map. src/register.ts is the zero-code entry point: loaded via Node’s --require flag, it constructs an SDK with the resolved instrumentation list and resource detectors so telemetry starts flowing at process boot. src/index.ts re-exports the programmatic helpers for teams that wire the SDK themselves.

Tech Stack

Written in TypeScript (~98% of the repo) and published from the open-telemetry/opentelemetry-js-contrib Lerna/Nx monorepo. Its runtime dependencies are the 49 sibling @opentelemetry/instrumentation-* and @opentelemetry/resource-detector-* packages, layered on the OpenTelemetry JS API and SDK 2.0+. Tests run on Mocha with nyc for coverage; the build uses the shared tsconfig bases from the monorepo root.

Code Quality

The codebase is small, focused, and well-typed, with an exported InstrumentationConfigMap type giving consumers type-safe per-instrumentation configuration. Tests exist and are meaningful — test/utils.test.ts covers env-var parsing and instrumentation selection across ~18 cases and test/register.test.ts exercises the register hook against a test app. As part of the CNCF OpenTelemetry project it follows consistent Apache-2.0 headers, strict linting, and an actively enforced contribution process.

API Design The developer experience is a standout: a single node --require '@opentelemetry/auto-instrumentations-node/register' app.js yields full instrumentation with no code, while getNodeAutoInstrumentations(configMap) offers an ergonomic escape hatch for fine control. Configuration leans on documented, standard OTEL environment variables rather than bespoke options, and the README is thorough about exporters, resource detectors, and enable/disable semantics, keeping the boilerplate to get started near zero.

Used by 105 apps in this directory

TypeScript
91%
AGPL 3.0

PeerTube

Social Media

15,362

A federated, ActivityPub-based video hosting platform built by Framasoft — self-hostable instances interconnect into a network with no vendor lock-in, P2P-assisted streaming, and no ads.

View details
96
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 91%
Updated 2 weeks ago
Python
55%
Other

PostHog

Ab Testing Experimentation · Analytics · Developer Tools

40,397

The all-in-one open source product platform combining analytics, session replay, feature flags, error tracking, AI observability, and a built-in data warehouse in a single self-hostable stack.

View details
92
Repo Health
80
Technical
65
Dependency
Built with
Python 55%
TypeScript 36%
Updated 1 weeks ago
Python
55%
Other

PostHog

Ab Testing Experimentation · Analytics · Developer Tools

40,397

The all-in-one open source product platform combining analytics, session replay, feature flags, error tracking, AI observability, and a built-in data warehouse in a single self-hostable stack.

View details
92
Repo Health
80
Technical
65
Dependency
Built with
Python 55%
TypeScript 36%
Updated 1 weeks ago
TypeScript
64%
AGPL 3.0

Puter

Developer Tools · File Storage

43,864

A self-hostable, web-based internet OS with desktop GUI, cloud storage, AI drivers, and a developer SDK — all running in your browser.

View details
88
Repo Health
88
Technical
67
Dependency
Built with
TypeScript 64%
JavaScript 33%
Updated 1 weeks ago
TypeScript
96%
Other

Refly

AI Development · Automation · No Code Platforms

7,537

Build deterministic, versioned agent skills from natural language—run them anywhere from Claude Code to Slack.

View details
68
Repo Health
76
Technical
63
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
TypeScript
89%
Other

Hexclave

Authentication · Developer Tools

6,877

The open-source user infrastructure platform — authentication, teams, payments, emails, analytics, and more on a single unified user model.

View details
88
Repo Health
80
Technical
66
Dependency
Built with
TypeScript 89%
Updated 1 weeks ago
TypeScript
98%
Apache 2.0

superlog

AI Agents · Monitoring

1,469

Open-source agentic observability that ingests OpenTelemetry signals, groups them into incidents, and deploys AI agents to investigate and fix your production bugs automatically.

View details
66
Repo Health
73
Technical
72
Dependency
Built with
TypeScript 98%
Updated 1 weeks ago
TypeScript
98%
Apache 2.0

superlog

AI Agents · Monitoring

1,469

Open-source agentic observability that ingests OpenTelemetry signals, groups them into incidents, and deploys AI agents to investigate and fix your production bugs automatically.

View details
66
Repo Health
73
Technical
72
Dependency
Built with
TypeScript 98%
Updated 1 weeks ago
TypeScript
98%
Apache 2.0

superlog

AI Agents · Monitoring

1,469

Open-source agentic observability that ingests OpenTelemetry signals, groups them into incidents, and deploys AI agents to investigate and fix your production bugs automatically.

View details
66
Repo Health
73
Technical
72
Dependency
Built with
TypeScript 98%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers