Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.honeycomb.io/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The Embrace SDK forwards network spans directly to Honeycomb using an OTLP exporter, giving you mobile and web client telemetry alongside your backend traces. Configuring metrics forwarding adds session-level data, including Application Not Responding (ANR) rates, crash rates, and Core Web Vitals.

Before you begin

Before starting, confirm that you have:
  • A Honeycomb environment with at least one backend service sending OpenTelemetry traces
  • An Embrace account on an Enterprise plan
  • A mobile or web app on a platform for which Embrace supports Network Spans Forwarding

Install and initialize the Embrace SDK

The Embrace SDK instruments your app and captures session data and network requests automatically once initialized.
1

Install the Embrace SDK

The Embrace Web SDK is the package that provides the EmbraceWebSDK class you will use to initialize and configure the integration.
npm install @embrace-io/web-sdk
For Android, iOS, React Native, and Flutter, visit Embrace’s SDK installation documentation.
2

Initialize the Embrace SDK

Initialize the SDK with your Embrace App ID and version:
import { EmbraceWebSDK } from '@embrace-io/web-sdk';

const embrace = new EmbraceWebSDK({
appId: "YOUR_EMBRACE_APP_ID",
appVersion: "YOUR_APP_VERSION",
});

if (embrace) {
console.log("Successfully initialized the Embrace SDK");
embrace.start();
} else {
console.log("Failed to initialize the Embrace SDK");
}
Your Embrace App ID and version are available in the Embrace dashboard.
Once initialized, the SDK begins capturing session data and network requests automatically.

Set up network spans forwarding

Network spans forwarding stitches Embrace client spans into your backend traces in Honeycomb and enables the emb.dashboard_session deep link that connects a Honeycomb trace to the originating Embrace session.
1

Configure domains for network spans forwarding

Network spans forwarding requires you to specify which apps and domains to forward spans from. Configure this in the Embrace dashboard:
  1. Navigate to Settings > Integrations.
  2. Select the Network Spans Forwarding view.
  3. Select Honeycomb as the data destination.
  4. Select the apps you want to forward spans from.
  5. Add the domain names of the backend services you want to trace.
Embrace forwards spans only for configured domains, which must be internet-reachable. You can add domains as exact matches or use regex patterns for more flexible matching.
2

Create a Honeycomb Ingest Key

The Embrace SDK uses a Honeycomb Ingest Key to forward spans to your environment. If you already have an Ingest Key for this environment, you can use it here.To learn how to create a new Ingest Key, visit Manage Environment API Keys. When creating the key, enable Create datasets, so that Embrace can create a dataset for the forwarded spans.You will use this key in the next step to configure the SDK exporter.
3

Configure the Embrace SDK exporter

The exporter tells the Embrace SDK where to send spans. Add a Honeycomb OTLP exporter to your Embrace SDK configuration, using your Ingest Key as the x-honeycomb-team header:
import { EmbraceWebSDK } from '@embrace-io/web-sdk';

const embrace = new EmbraceWebSDK({
appId: "YOUR_EMBRACE_APP_ID",
appVersion: "YOUR_APP_VERSION",
exporters: [{
    type: 'otlp',
    endpoint: 'https://api.honeycomb.io/v1/traces',
    headers: { 'x-honeycomb-team': YOUR_HONEYCOMB_INGEST_KEY }
}]
});

if (embrace) {
console.log("Successfully initialized the Embrace SDK");
embrace.start();
} else {
console.log("Failed to initialize the Embrace SDK");
}
The SDK automatically attaches a W3C traceparent header to every network request your app makes and forwards the resulting spans to Honeycomb with emb.* attributes included.

Set up metrics forwarding

Metrics forwarding sends session data from Embrace to Honeycomb, so you can query and alert on user experience signals alongside your backend traces.
1

Create a Honeycomb Configuration Key

Embrace uses a Honeycomb Configuration Key to authenticate when forwarding metrics to your environment. To learn how to create one, visit Manage Environment API Keys.
2

Add Honeycomb as a Data Destination in Embrace

Adding Honeycomb as a Data Destination tells Embrace where to send session metrics. In the Embrace dashboard:
  1. Navigate to Settings > Integrations.
  2. Select the Data Destinations view.
  3. Select Add Data Destination.
  4. Choose Honeycomb and enter your Honeycomb Configuration Key.
Once configured, Embrace forwards metrics to Honeycomb where you can query them alongside your trace data. To learn which metrics are forwarded, visit Embrace Integration Overview: Session Metrics.

Verify the integration

Verification confirms that both flows are working: spans appearing in the trace view means the SDK exporter is forwarding correctly, and metrics appearing in Honeycomb means the Data Destinations configuration is correct.

Network spans

Spans appear in Honeycomb after the SDK exporter is configured and app traffic flows through a configured domain.
  1. In Honeycomb, open the dataset that corresponds to your backend service.
  2. Run a query and filter for emb.app_id exists.
  3. Select a result row and open the trace view.
  4. Confirm that the trace includes a span labeled forwarded via Embrace at the top of the waterfall, with emb.* attributes visible in the span detail panel.
  5. Confirm that emb.dashboard_session appears as a clickable link in the span detail panel.
If you don’t see spans after 15 minutes, refer to the troubleshooting section in Embrace’s Network Spans Forwarding documentation.

Metrics

Metrics should appear in Honeycomb within a few minutes of adding it as a Data Destination.
  1. In Honeycomb, open the dataset that corresponds to your Embrace metrics.
  2. Run a query and filter for session.count exists.
  3. Confirm that data is appearing.

Next steps

Now that your integration is configured, put it to work: