Type to search.

Supported technologies

Serverless Observability

Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

Stack

The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

EDOT Browser Preview

The Elastic Distribution of OpenTelemetry (EDOT) Browser SDK (RUM) collects performance metrics, traces, and logs from web applications in OpenTelemetry format, and sends them to Elastic Observability.

Availability

  • Preview

    This functionality is in technical preview and is ready for evaluation. Use with caution in production; it is not recommended for mission-critical workloads. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Specific Support terms apply.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

This page lists supported browser versions, included instrumentations and their default behavior.

At a minimum, the runtime environment must support:

  • ES2022 (the SDK bundle targets this version)
  • The fetch API
  • Promise
  • The Performance and PerformanceObserver APIs

EDOT Browser is designed to run in modern evergreen browsers that meet these requirements.

Browser Supported versions
Chrome 94+
Edge 94+
Firefox 93+
Safari 15.4+
Note

Internet Explorer is not supported.

If your application targets older browsers, you might need to downlevel the code with a bundler and provide polyfills. EDOT Browser doesn't include built-in polyfills.

When you install EDOT Browser as a package (refer to Install the agent), you build your application with a JavaScript bundler. The following bundlers are supported:

Bundler Notes
Webpack 4 Supported. Refer to this sample configuration and adapt it to your setup.
Webpack 5 Supported. Refer to this sample configuration and adapt it to your setup.
Rollup Supported. Refer to this sample configuration and adapt it to your setup.
esbuild Supported. No plugins are required. Refer to the example configuration.

Usage of @elastic/opentelemetry-browser in TypeScript code requires:

  • TypeScript 5.0.4 or later
  • Using "module": "node16" or "nodenext" in "tsconfig.json" to get support for handling the "exports" entry in package.json. This is so entry points like @opentelemetry/browser-instrumentation/experimental/web-vitals can be used.

EDOT Browser bundles a curated set of OpenTelemetry JS instrumentations suitable for browser environments. This list is being reviewed and might change in future releases.

The following instrumentations are included and turned on by default. You can turn off any of them by listing its config key in disableInstrumentations, or using instrumentations with { enabled: false } for the corresponding key when calling startBrowserSdk (the instrumentations option is not recommended for most applications; refer to Configure EDOT Browser):

Instrumentation NPM package Config key On by default
Navigation timing @opentelemetry/browser-instrumentation navigation-timing Yes
Resource timing @opentelemetry/browser-instrumentation resource-timing Yes
Fetch @opentelemetry/browser-instrumentation fetch Yes
XMLHttpRequest @opentelemetry/browser-instrumentation xhr Yes
User action @opentelemetry/browser-instrumentation user-action Yes
Errors @opentelemetry/browser-instrumentation errors Yes
Web vitals @opentelemetry/browser-instrumentation web-vitals Yes
Navigation @opentelemetry/browser-instrumentation navigation Yes

By default, EDOT Browser:

  • Initializes tracing
  • Registers included instrumentations
  • Configures an OTLP exporter
  • Applies Elastic-specific defaults (for example, resource detection or attribute normalization)

To turn off an instrumentation, pass disableInstrumentations with the instrumentation keys you want to disable (for example, disableInstrumentations: ['web-vitals']), or pass instrumentations with { enabled: false } for that key (for example, instrumentations: { 'web-vitals': { enabled: false } }). Prefer disableInstrumentations when you only need to disable defaults without passthrough configuration.

Component Version
OpenTelemetry JS API (@opentelemetry/api) ^1.9.0
OpenTelemetry Browser SDK (@opentelemetry/browser-sdk) ^0.3.0
OpenTelemetry Browser Instrumentation (@opentelemetry/browser-instrumentation) ^0.8.0
OpenTelemetry JS Trace SDK (@opentelemetry/sdk-trace) ^2.12.0
OpenTelemetry JS Metrics SDK (@opentelemetry/sdk-metrics) ^2.2.0
OpenTelemetry JS Logs SDK (@opentelemetry/sdk-logs) ^0.223.0
OpenTelemetry JS Logs API (@opentelemetry/api-logs) ^0.221.0

For capabilities that are not yet available and per-signal limitations (metrics, traces, logs), refer to Limitations on the overview page and Metrics, traces, and logs.