OpenTelemetry JavaScript is the JavaScript implementation of the OpenTelemetry framework, a comprehensive system for collecting traces, metrics, and logs from applications. Written in TypeScript, the project provides both API and SDK packages that enable developers to instrument their JavaScript applications with observability capabilities. The repository is hosted at the open-telemetry organization on GitHub and serves as a critical component of the broader OpenTelemetry ecosystem, which includes parallel implementations in Go, specification documents, and the OpenTelemetry Collector.
The project is structured around three package categories: a core API located in the /api/ directory, stable SDK packages in the /packages/ directory, and experimental packages in the /experimental/packages/ directory. All stable packages are released with synchronized versions, and the repository maintains a detailed version compatibility matrix to ensure that users can identify which versions of stable and experimental packages work together. The project supports Node.js Active and Maintenance LTS versions, specifically Node.js v18, v20, v22, and v24, while browser support targets ECMAScript 2022 as the minimum language feature requirement. TypeScript v5.0.4 is used for the project build, with the team recommending the same or higher version for dependent projects and following a two-year support window policy for TypeScript versions.
The project emphasizes proper API usage for library authors, requiring that they depend only on publicly documented API properties and methods rather than SDK internals, ensuring compatibility across different SDK implementations. Documentation is comprehensive, with getting started guides, API and SDK reference materials, and examples provided to help developers integrate OpenTelemetry into their applications. The project includes debugging capabilities through diagnostics loggers to help troubleshoot instrumentation issues, and it supports both CommonJS and ECMAScript Modules, though much documentation assumes CommonJS compilation. The project is licensed under Apache 2.0 and maintains continuous integration through GitHub Actions workflows.