Browser-specific packages are currently spread across three repositories: opentelemetry-js, opentelemetry-js-contrib, and this repository (opentelemetry-browser). This makes it harder to maintain a coherent browser observability story and creates confusion for users about where to find browser-specific packages.
The goal of this effort is to consolidate all browser-specific packages into this repository, deprecating the original packages and providing clear migration paths. This includes both instrumentations and supporting infrastructure (SDK components, context managers, resource detectors, and shared utilities).
Instrumentations
Event-based instrumentations (straightforward move)
These are newer, event-based instrumentations that can be added directly to the @opentelemetry/browser-instrumentation package as subpath exports.
Span-based instrumentations (important, needs migration planning)
These are widely used, span-based instrumentations that require careful migration planning to minimize disruption for existing users.
Span-based instrumentations (needs discussion)
These are more experimental, span-based instrumentations. Each one needs individual discussion about whether to move, deprecate, or replace with a new implementation.
Non-instrumentation browser packages (needs discussion)
These are SDK components in opentelemetry-js that are browser-specific. They need discussion on whether and how to migrate them, as they have implications for the broader SDK architecture.
Metapackage
Browser-specific packages are currently spread across three repositories: opentelemetry-js, opentelemetry-js-contrib, and this repository (opentelemetry-browser). This makes it harder to maintain a coherent browser observability story and creates confusion for users about where to find browser-specific packages.
The goal of this effort is to consolidate all browser-specific packages into this repository, deprecating the original packages and providing clear migration paths. This includes both instrumentations and supporting infrastructure (SDK components, context managers, resource detectors, and shared utilities).
Instrumentations
Event-based instrumentations (straightforward move)
These are newer, event-based instrumentations that can be added directly to the
@opentelemetry/browser-instrumentationpackage as subpath exports.instrumentation-browser-navigationfrom contribinstrumentation-web-exceptionfrom contribSpan-based instrumentations (important, needs migration planning)
These are widely used, span-based instrumentations that require careful migration planning to minimize disruption for existing users.
instrumentation-fetchfrom opentelemetry-jsinstrumentation-xml-http-requestfrom opentelemetry-jsSpan-based instrumentations (needs discussion)
These are more experimental, span-based instrumentations. Each one needs individual discussion about whether to move, deprecate, or replace with a new implementation.
instrumentation-document-load— overlaps with navigation-timinginstrumentation-long-task— Long Task API being superseded by Long Animation Frames APIinstrumentation-user-interaction— overlaps with user-action, zone.js dependency concernsplugin-react-load— unmaintained, outdatedNon-instrumentation browser packages (needs discussion)
These are SDK components in opentelemetry-js that are browser-specific. They need discussion on whether and how to migrate them, as they have implications for the broader SDK architecture.
sdk-trace-web—WebTracerProviderand web-specific trace utilities (stable, v2.6.0)web-common— session management utilities (experimental)browser-detector— browser resource detector (experimental)context-zone/context-zone-peer-dep— Zone.js context managers (stable, v2.6.0)Metapackage
auto-instrumentations-web— metapackage bundling browser instrumentations