Supported technologies
This page lists:
- Supported browser versions
- Included instrumentations and their default behavior
- Differences between EDOT Browser and contrib OpenTelemetry JS
EDOT Browser is designed to run in modern evergreen browsers.
| Browser | Supported versions |
|---|---|
| Chrome | TODO |
| Edge | TODO |
| Firefox | TODO |
| Safari | TODO |
Internet Explorer is not supported.
At a minimum, the runtime environment must support:
- ES2018 (or later) language features
fetchAPIPromisePerformanceandPerformanceObserverAPIs
If your application targets older browsers, you might need to provide polyfills. EDOT Browser does not ship with built-in polyfills.
EDOT Browser bundles a curated set of OpenTelemetry JS instrumentations suitable for browser environments.
The following table lists instrumentations that are currently included:
| Instrumentation | Included | On by default | Notes |
|---|---|---|---|
| Document load | TODO | TODO | TODO |
| Fetch | TODO | TODO | TODO |
| XMLHttpRequest | TODO | TODO | TODO |
| User interaction | TODO | TODO | TODO |
| Long tasks | TODO | TODO | TODO |
By default, EDOT Browser:
- Initializes tracing
- Registers included instrumentations
- Configures an OTLP exporter
- Applies Elastic-specific defaults (for example, resource detection or attribute normalization)
You can turn off or override instrumentations during initialization if needed.
EDOT Browser builds on top of contrib OpenTelemetry JS, but introduces several differences to simplify setup and align with Elastic Observability.
- EDOT Browser doesn't read environment variables at runtime.
- Configuration must be passed explicitly during initialization.
- Elastic-specific configuration options might be available.
- EDOT Browser expects telemetry to be sent to a reverse proxy.
- Direct export to authenticated OTLP endpoints is not supported in the browser.
- Authentication headers must be injected by infrastructure outside the browser.
Compared to contrib OpenTelemetry JS:
- EDOT Browser provides a simplified initialization API.
- A curated set of instrumentations is preconfigured.
- Sensible defaults are applied for Elastic ingestion.
Some contrib OpenTelemetry JS features are not available or are intentionally unsupported in EDOT Browser due to browser constraints.
These might include:
- Environment-based configuration
- Certain resource detectors
- Node.js-specific instrumentation
| Component | Version |
|---|---|
| OpenTelemetry JS API | TODO |
| OpenTelemetry JS SDK | TODO |
When using EDOT Browser with Elastic Observability, be aware of the following:
- API key authentication requires a reverse proxy; credentials cannot be stored in the browser.
- Metrics from browser-based RUM might have more limited utility than backend metrics, depending on your use case.
- Some OpenTelemetry browser instrumentations are still experimental. Behavior might change.
- Monitor the performance impact on the browser when using multiple instrumentations, especially on lower-end devices.
If telemetry does not appear in Elastic Observability:
- Confirm the export endpoint points to your reverse proxy (not directly to Elastic Observability) and doesn't include signal paths like
/v1/traces. - Check the browser console for network errors or OpenTelemetry-related messages. Cross-Origin Resource Sharing (CORS) errors often mean the reverse proxy is not sending the right
Access-Control-Allow-Originor preflight response. - Ensure the reverse proxy can reach your EDOT Collector or Elastic Cloud Managed OTLP endpoint; check proxy logs for connection or auth failures.
- Ensure service name is set and doesn't contain special characters.
- Set the log level to
debugorverboseduring initialization to check the detailed export and instrumentation output in the console.
If you use a Content Security Policy, ensure the proxy or OTLP endpoint domain is in the connect-src directive. For bundler or module resolution errors, refer to OpenTelemetry for Real User Monitoring (RUM) and the general OpenTelemetry ingest troubleshooting docs.
- Refer to Set up EDOT Browser to get started.
- Refer to Metrics, traces, and logs for what is emitted per signal and what is not yet supported.
- Review Configuration to customize behavior.
- Refer to Known limitations and Troubleshooting above for EDOT Browser–specific guidance, or OpenTelemetry ingest troubleshooting for general OTLP ingest issues.