Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.
The Honeycomb OpenTelemetry Android SDK is Honeycomb’s OpenTelemetry Android distribution.
It simplifies adding instrumentation to your Android applications and sending telemetry to Honeycomb.This page briefly covers usage of the SDK.
If you just want to see some code, check out the examples on GitHub.
Create a Honeycomb Ingest API Key.
To get started, you can create a key that you expect to swap out when you deploy to production.
Name it something helpful, perhaps noting that it’s a Getting Started key.
Make note of your API key; for security reasons, you will not be able to see the key again, and you will need it later!
For setup, make sure you select the “Can create datasets” checkbox so that your data will show up in Honeycomb.
Later, when you replace this key with a permanent one, you can uncheck that box.
String Ingest API Key to use when sending traces. Overrides apiKey for traces.
metricsApiKey
String Ingest API Key to use when sending metrics. Overrides apiKey for metrics.
logsApiKey
String Ingest API Key to use when sending logs. Overrides apiKey for logs.
dataset
String Name of the dataset to send telemetry data to. Required if using Honeycomb Classic.
metricsDataset
String Name of the dataset to send metrics to. Overrides dataset for metrics.
apiEndpoint
String Telemetry is sent to this URL. For Honeycomb EU instances, set this to https://api.eu1.honeycomb.io:443. If you’re using an OpenTelemetry Collector, provide your collector URL instead. Default: https://api.honeycomb.io:443 (US instance)
tracesEndpoint
String API endpoint to send traces to.
metricsEndpoint
String API endpoint to send metrics to.
logsEndpoint
String API endpoint to send logs to.
spanProcessor
io.opentelemetry.sdk.trace.SpanProcessor Additional span processor to use.
sampleRate
Int Sample rate to apply. For example, a sampleRate of 40 means 1 in 40 traces will be exported. Default: 1
debug
Boolean Whether to enable debug logging. Default: false.
serviceName
String The name of your application. Used as the value for service.name resource attribute. Default: "unknown_service"
serviceVersion
String Current version of your application. Used as the value for service.version resource attribute.
resourceAttributes
Map<String, String> Attributes to attach to outgoing resources.
headers
Map<String, String> Headers to add to exported telemetry data.
tracesHeaders
Map<String, String> Headers to add to exported trace data.
metricsHeaders
Map<String, String> Headers to add to exported metrics data.
logsHeaders
Map<String, String> Headers to add to exported logs data.
timeout
Duration Timeout used by exporter when sending data. Default: Duration = 10.seconds
tracesTimeout
Duration Timeout used by traces exporter. Overrides timeout for trace data.
metricsTimeout
Duration Timeout used by metrics exporter. Overrides timeout for metrics data.
logsTimeout
Duration Timeout used by logs exporter. Overrides timeout for logs data.
protocol
OtlpProtocol Protocol to use when sending data. Can be one of: OtlpProtocol.GRPC, OtlpProtocol.HTTP_PROTOBUF, OtlpProtocol.HTTP_JSON. Default: OtlpProtocol.HTTP_PROTOBUF
tracesProtocol
OtlpProtocol Overrides protocol for trace data.
metricsProtocol
OtlpProtocol Overrides protocol for metrics data.
logsProtocol
OtlpProtocol Overrides protocol for logs data.
offlineCachingEnabled
Boolean Enable offline caching for telemetry. When offline caching is enabled, telemetry is cached during network failures. The SDK will retry exporting telemetry for up to 18 hours. Offline caching also adds a minimum delay of 30 seconds to telemetry exports. Offline caching is an alpha feature and may be unstable. Default: false
In production, we recommend running an OpenTelemetry Collector.
Your application sends telemetry to your Collector instead of directly to Honeycomb.
Your Collector then forwards the telemetry data to Honeycomb, keeping your API key stored securely in the Collector’s configuration.Call setApiEndpoint() with your Collector’s URL when initializing the SDK:
import io.honeycomb.opentelemetry.android.Honeycombimport io.honeycomb.opentelemetry.android.HoneycombOptionsimport io.opentelemetry.android.OpenTelemetryRumclass ExampleApp: Application() { var otelRum: OpenTelemetryRum? = null override fun onCreate() { super.onCreate() val options = HoneycombOptions.builder(this) .setApiEndpoint("http(s)://YOUR-COLLECTOR-URL") .setServiceName("YOUR-SERVICE-NAME") .setServiceVersion("0.0.1") .build() otelRum = Honeycomb.configure(this, options) }}
To send telemetry data directly to Honeycomb, call setApiKey() with your Ingest API Key value.
import io.honeycomb.opentelemetry.android.Honeycombimport io.honeycomb.opentelemetry.android.HoneycombOptionsimport io.opentelemetry.android.OpenTelemetryRumclass ExampleApp: Application() { var otelRum: OpenTelemetryRum? = null override fun onCreate() { super.onCreate() val options = HoneycombOptions.builder(this) // Uncomment the line below to send to EU instance. Defaults to US. // .setApiEndpoint("https://api.eu1.honeycomb.io:443") .setApiKey("YOUR-API-KEY") .setServiceName("YOUR-SERVICE-NAME") .setServiceVersion("0.0.1") .build() otelRum = Honeycomb.configure(this, options) }}
Resource attributes are available on every span your instrumentation emits.
Adding custom, application-specific attributes makes it easier to correlate your data to important business information.You can add extra resource attributes during SDK configuration with the .setResourceAttributes() method.
import android.app.Applicationimport io.honeycomb.opentelemetry.android.Honeycombimport io.honeycomb.opentelemetry.android.HoneycombOptionsimport io.opentelemetry.android.OpenTelemetryRumclass ExampleApp: Application() { var otelRum: OpenTelemetryRum? = null override fun onCreate() { super.onCreate() val options = HoneycombOptions.builder(this) .setApiKey("YOUR-API-KEY") .setServiceName("YOUR-SERVICE-NAME") .setServiceVersion("0.0.1") .setResourceAttributes(mapOf("app.ab_test" to "test c")) .setDebug(true) .build() otelRum = Honeycomb.configure(this, options) }}
The Honeycomb Android SDK includes optional deterministic head sampling.
To enable sampling, call .setSampleRate() with your desired sample rate as an Int value.
The sample rate is 1 by default, meaning every trace is exported.The example below sets a sampleRate of 40, meaning 1 in 40 traces will be exported.
Automatic instrumentation is a fast way to instrument your code, but you get more insight into your application by adding custom, or manual, instrumentation.To add your own custom instrumentation, import the OpenTelemetry API in to your application.
You can retrieve the currently active span in a trace and add attributes to it.
This lets you add more context to traces and gives you more ways to group or filter traces in your queries:
In the above example, we add an app.cart.discount_code attribute to the current span.
This lets us use the app.cart.discount_code field in WHERE or GROUP BY clauses in the Honeycomb query builder.
Create custom spans to get a clear view of the critical parts in your application.
import io.opentelemetry.api.OpenTelemetryimport io.opentelemetry.api.common.Attributesimport io.opentelemetry.android.OpenTelemetryRum// ...val otelRum = app.otelRum as OpenTelemetryRumval tracer = otelRum.tracerProvider.tracerBuilder("my-application-tracer").build()fun generateNewLevel() { val span = tracer.spanBuilder("newLevel").startSpan() // do some work span.end()}
Span processors provide hooks for when a span starts and when it ends.
This lets you mutate spans after they have been created by automatic or manual instrumentation.Here’s a basic example of a span processor that adds an attribute to spans when they start:
Kotlin Coroutines may operate across multiple threads, and do not automatically inherit the correct OpenTelemetry context.Instead, context must be propagated manually with the OpenTelemetry Kotlin Extensions.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Honeycomb Docs","colors":{"primary":"#0298ec","light":"#0298ec","dark":"#0160a4"},"logo":{"light":"https://mintcdn.com/honeycomb/TYbxiKcJ1fL3Sm5n/_assets/logos/light.svg?fit=max\u0026auto=format\u0026n=TYbxiKcJ1fL3Sm5n\u0026q=85\u0026s=27a1eaed720bce94471b9408761a57a5","dark":"https://mintcdn.com/honeycomb/TYbxiKcJ1fL3Sm5n/_assets/logos/dark.svg?fit=max\u0026auto=format\u0026n=TYbxiKcJ1fL3Sm5n\u0026q=85\u0026s=37c10aab54c3f49068831ba2b3f72519"},"favicon":"https://mintcdn.com/honeycomb/FS58DPvSVOqwGF9Q/favicon.ico?fit=max\u0026auto=format\u0026n=FS58DPvSVOqwGF9Q\u0026q=85\u0026s=f2dcbbe978265dbef9b3e5c895466dfc","navbar":{"links":[{"href":"https://status.honeycomb.io/","label":"Status"},{"href":"https://support.honeycomb.io/","label":"Support"}],"primary":{"type":"button","label":"Log in to Honeycomb","href":"https://ui.honeycomb.io/"}},"footer":{"socials":{"bluesky":"https://bsky.app/profile/honeycomb.io","github":"https://github.com/honeycombio","linkedin":"https://linkedin.com/company/honeycomb.io","youtube":"https://www.youtube.com/channel/UCty8KGQ3oAP0MQQmLIv7k0Q"}},"fonts":{"heading":{"family":"Roboto","weight":600},"body":{"family":"Roboto","weight":400}},"styling":{"eyebrows":"breadcrumbs","codeblocks":{},"latex":true},"integrations":{"amplitude":{"apiKey":"3b49e4f1b31c8cc751801eb555172ee7"},"ga4":{"measurementId":"G-6GB1G2KSLD"},"plausible":{"domain":"docs.honeycomb.io","server":"stats.honeycomb.io"},"telemetry":{"enabled":true},"cookies":{"key":"honeycomb_docs_consent","value":"yes"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Docs Home","icon":"home","href":"/"},{"anchor":"Blog","icon":"bullhorn","href":"https://www.honeycomb.io/blog"},{"anchor":"Honeycomb Academy","icon":"book","href":"https://academy.honeycomb.io/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"honeycomb","hasAudioNarration":false,"actualSubdomain":"honeycomb","customDomains":["docs.honeycomb.io"],"gitSource":{"type":"github","owner":"honeycombio","repo":"docs","deployBranch":"main","contentDirectory":"mintlify","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"contextualFeedback":{"allowEmail":false}},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED","enabled":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED","enabled":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af376f6c70a7273c74f1b38","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Send Data","count":234},{"language":"default","tag":"Manage Pipelines","count":148},{"language":"default","tag":"Honeycomb Telemetry Pipeline","count":145},{"language":"default","tag":"Pipeline Manager","count":142},{"language":"default","tag":"API Reference","count":108},{"language":"default","tag":"Sources","count":93},{"language":"default","tag":"API Endpoints","count":90},{"language":"default","tag":"Investigate","count":72},{"language":"default","tag":"Get Started","count":62},{"language":"default","tag":"Processors","count":41}],"searchSettings":{"maxResults":15}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":true},"customCss":[{"filePath":"_assets/stylesheets/badges.css","content":"[class*=\"hny-badge-\"]{background-color:var(--hny-badge-bg)!important;color:var(--hny-badge-text)!important;border-color:var(--hny-badge-bg)!important;min-width:4rem!important;height:1.75rem!important;justify-content:center!important;align-items:center!important}[class*=\"hny-badge-\"].border{background-color:transparent!important;border-color:var(--hny-badge-text)!important}html.dark [class*=\"hny-badge-\"]{background-color:var(--hny-badge-bg-dark)!important;color:var(--hny-badge-text-dark)!important;border-color:var(--hny-badge-bg-dark)!important}html.dark [class*=\"hny-badge-\"].border{background-color:transparent!important;border-color:var(--hny-badge-text-dark)!important;color:var(--hny-badge-text-dark)!important}@media (prefers-color-scheme: dark){html:not(.light) [class*=\"hny-badge-\"]{background-color:var(--hny-badge-bg-dark)!important;color:var(--hny-badge-text-dark)!important;border-color:var(--hny-badge-bg-dark)!important}html:not(.light) [class*=\"hny-badge-\"].border{background-color:transparent!important;border-color:var(--hny-badge-text-dark)!important;color:var(--hny-badge-text-dark)!important}}.hny-badge-enterprise{--hny-badge-bg: #EAE6F1;--hny-badge-text: #302054;--hny-badge-bg-dark: #60606F;--hny-badge-text-dark: #FFFFFF}.hny-badge-enterprise-addon{--hny-badge-bg: #EAE6F1;--hny-badge-text: #302054;--hny-badge-bg-dark: #60606F;--hny-badge-text-dark: #FFFFFF}.hny-badge-pro{--hny-badge-bg: #E0F2FC;--hny-badge-text: #015B8D;--hny-badge-bg-dark: #163144;--hny-badge-text-dark: #1BA2ED}.hny-badge-beta{--hny-badge-bg: #FEEDE2;--hny-badge-text: #954209;--hny-badge-bg-dark: #3B2A23;--hny-badge-text-dark: #F97C27}.hny-badge-early-access{--hny-badge-bg: #FEEDE2;--hny-badge-text: #954209;--hny-badge-bg-dark: #3B2A23;--hny-badge-text-dark: #F97C27}"},{"filePath":"_assets/stylesheets/icons.css","content":".hny-icon{background-color:var(--hny-icon-color)}"},{"filePath":"_assets/stylesheets/images.css","content":".dark img[src^=\"http\"]:not(.nav-logo){background-color:transparent;border-radius:0;padding:0}[data-rmiz-content] img,[data-rmiz-modal-img]{background-color:transparent;box-sizing:border-box;border-radius:0.4rem}a.card{border-radius:0px!important}a.card img[data-component-part=\"card-image\"]{object-fit:contain!important}.dark .integration-logo-invert{filter:invert(1)}.integration-logo-grayscale{filter:grayscale(1)}.dark .integration-logo-grayscale.integration-logo-invert{filter:grayscale(1) invert(1)}"},{"filePath":"_assets/stylesheets/kapa.css","content":"#kapa-ask-ai-btn{display:inline-flex;align-items:center;gap:0.4rem;flex-shrink:0;height:2.25rem;padding:0 1rem;margin-left:0.5rem;border-radius:0.75rem;border:none;background:transparent;box-shadow:0 0 0 1px rgba(156, 163, 175, 0.3);color:rgb(107, 114, 128);font-size:0.875rem;cursor:pointer;white-space:nowrap;transition:box-shadow 0.15s ease}#kapa-ask-ai-btn:hover{box-shadow:0 0 0 1px rgba(75, 85, 99, 0.3)}.kapa-btn-icon svg{width:16px;height:16px}.kapa-btn-icon svg path{fill:rgb(107, 114, 128)}.dark .kapa-btn-icon svg path{fill:rgba(255, 255, 255, 0.5)}.dark #kapa-ask-ai-btn{color:rgba(255, 255, 255, 0.5);box-shadow:0 0 0 1px rgba(75, 85, 99, 0.3)}.dark #kapa-ask-ai-btn:hover{box-shadow:0 0 0 1px rgba(107, 114, 128, 0.3)}.dark #kapa-ask-ai-btn img{filter:invert(1) opacity(0.5)}"},{"filePath":"_assets/stylesheets/links.css","content":".prose a[href^=\"http\"]:not(.card):not(:has(img))::after{content:\"↗\";font-size:0.75em;vertical-align:baseline;margin-left:2px}"},{"filePath":"_assets/stylesheets/style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Roboto Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/robotomono/v31/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SeW4Ep0.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Roboto Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/robotomono/v31/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_QOW4Ep0.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'Roboto Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/robotomono/v31/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_R-W4Ep0.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Roboto Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/robotomono/v31/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_S-W4Ep0.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Roboto Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/robotomono/v31/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SuW4Ep0.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Roboto Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/robotomono/v31/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n.nav-logo{height:2.5rem!important}.prose,.prose-gray{--tw-prose-body: var(--lat-color-foreground-primary-default);--tw-prose-headings: var(--lat-color-foreground-primary-default);--tw-prose-lead: var(--lat-color-foreground-secondary-default);--tw-prose-links: var(--lat-color-foreground-link-default);--tw-prose-bold: var(--lat-color-foreground-primary-default);--tw-prose-invert-body: var(--lat-color-foreground-inverse-default);--tw-prose-invert-headings: var(--lat-color-foreground-inverse-default);--tw-prose-invert-lead: var(--lat-color-foreground-inverse-secondary);--tw-prose-invert-links: var(--lat-color-foreground-inverse-link-default);--tw-prose-invert-bold: var(--lat-color-foreground-inverse-default)}.prose{color:var(--lat-color-foreground-primary-default)!important;line-height:var(--lat-ref-font-line-height-5)!important}#page-title,.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--lat-color-foreground-primary-default)!important;font-weight:var(--lat-ref-font-weight-500)!important;font-size:var(--lat-ref-font-size-700)!important;line-height:var(--lat-ref-font-line-height-8)!important}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--lat-color-foreground-primary-default)!important;font-weight:var(--lat-ref-font-weight-600)!important;font-size:var(--lat-ref-font-size-600)!important;line-height:var(--lat-ref-font-line-height-6)!important}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--lat-color-foreground-primary-default)!important;font-weight:var(--lat-ref-font-weight-600)!important;font-size:var(--lat-ref-font-size-500)!important;line-height:var(--lat-ref-font-line-height-5)!important}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--lat-color-foreground-primary-default)!important;font-weight:var(--lat-ref-font-weight-400)!important;font-size:var(--lat-ref-font-size-500)!important;line-height:var(--lat-ref-font-line-height-4)!important}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--lat-color-foreground-primary-default)!important;font-weight:600!important}th{color:var(--lat-color-foreground-primary-default)!important}.prose a.link{border-color:var(--lat-color-foreground-link-default);\u0026:hover{color:var(--lat-color-foreground-link-hover);border-color:var(--lat-color-foreground-link-hover)}}.font-mono{font-family:var(--lat-ref-font-family-roboto-mono)}code,kbd,pre,samp{font-family:var(--lat-ref-font-family-roboto-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}.sidebar-group{margin-top:0.05rem}a.card{border-radius:var(--lat-border-radius-xsmall)!important}"},{"filePath":"_assets/stylesheets/tables.css","content":".schema-table table{font-family:var(--hny-font-mono);font-size:var(--hny-font-mono-size);width:fit-content}.schema-table table{font-family:var(--hny-font-mono);font-size:var(--hny-font-mono-size);width:fit-content;min-width:unset}.permissions-table table,.permissions-table th,.permissions-table td{border:0}.permissions-table table{width:100%}.permissions-table thead tr:nth-child(odd),.permissions-table tbody tr:nth-child(even){background-color:var(--hny-table-stripe)}.permissions-table th{padding:var(--hny-permissions-header-padding-v, 10px) 0.75rem;text-align:center}.permissions-table th:first-child{text-align:left}.permissions-table td{text-align:center;padding-top:var(--hny-permissions-cell-padding-v, 5px);padding-bottom:var(--hny-permissions-cell-padding-v, 5px);padding-left:0.75rem;padding-right:0.75rem}.permissions-table td:first-child{width:var(--hny-permissions-col1-width, 50%);text-align:left}.flex-style-table table{width:100%}"},{"filePath":"_assets/stylesheets/tokens.css","content":":root{--hny-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco,\n Consolas, \"Liberation Mono\", \"Courier New\",\n monospace;--hny-font-mono-size: 0.8rem;--hny-permissions-col1-width: 50%;--hny-permissions-cell-padding-v: 5px;--hny-permissions-header-padding-v: 10px}html.light{--hny-table-stripe: rgba(107, 114, 128, 0.1);--hny-icon-color: #33383F}html.dark{--hny-table-stripe: #1e2128;--hny-icon-color: #C9CDD2}@media (prefers-color-scheme: dark){html.dark{--hny-table-stripe: #1e2128;--hny-icon-color: #C9CDD2}}"},{"filePath":"_assets/stylesheets/mermaid.css","content":".mermaid .label{font-size:0.875rem!important;padding:1rem .25rem!important}foreignObject>div>span>p{font-size:0.75rem!important;padding:0.25rem!important;text-align:justified!important}"},{"filePath":"_assets/stylesheets/sidebar.css","content":"ul.list-none{padding-bottom:1rem;border-bottom:1px solid rgb(107 114 128 / 0.4)}.nav-anchor{margin-bottom:0.25rem}#navigation-items>ul.sidebar-group{border-top:0.5px solid var(--border-color);padding-top:1rem}div.sidebar-group-header{margin-top:-0.5rem;margin-bottom:0.1rem;text-transform:uppercase;letter-spacing:0.01rem}div.sidebar-group{margin-bottom:1rem;font-size:0.9rem}#sidebar-content li>a{padding-top:0.1rem;padding-bottom:0.1rem;font-size:0.9rem}#sidebar-content li>button{padding-top:0.1rem;padding-bottom:0.1rem;font-size:0.9rem}#sidebar-content li[data-active]>button{padding-top:0.1rem;padding-bottom:0.1rem;font-size:0.9rem}#navigation-items>ul.sidebar-group:last-of-type{margin-top:0!important;padding-top:0!important}#navigation-items>ul.sidebar-group:nth-last-of-type(2){border-top:1px solid var(--border-color);padding-top:1rem;margin-top:1rem!important}.nav-tag-pill{min-width:2rem;text-align:center}.flex-1.flex.min-w-0.flex-wrap{flex-wrap:nowrap}.nav-tag-pill-text{text-transform:uppercase;background:none;padding:0;border-left:1px solid currentColor;border-radius:0;padding-left:0.25rem}#sidebar-content a[href^=\"https://docs.honeycomb.io/\"] svg,#sidebar-content a[href^=\"https://docs.honeycomb.io\"]::after{display:none}"},{"filePath":"_assets/stylesheets/tabs.css","content":".hny-client-tabs>.tabs.tab-container>ul[data-component-part=\"tabs-list\"]{border-bottom:none;flex-wrap:wrap;gap:8px;margin-bottom:0.375rem!important}.hny-client-tabs>.tabs.tab-container>ul[data-component-part=\"tabs-list\"]>li{list-style:none}.hny-client-tabs>.tabs.tab-container>ul[data-component-part=\"tabs-list\"]>li [data-component-part=\"tab-button\"]{border:1px solid #B9C2CC;border-radius:6px;padding:6px 14px!important;margin-bottom:0!important;color:#25303E;font-weight:500}.hny-client-tabs>.tabs.tab-container>ul[data-component-part=\"tabs-list\"]>li [data-component-part=\"tab-button\"][data-active=\"true\"]{background:#0160A4;border-color:#0160A4;color:#FFFFFF}.dark .hny-client-tabs>.tabs.tab-container>ul[data-component-part=\"tabs-list\"]>li [data-component-part=\"tab-button\"]{border-color:#4B5563;color:#E5E7EB}.hny-client-tabs>.tabs.tab-container>div>[data-component-part=\"tab-content\"]{border:1px solid #CBD5E1;border-radius:12px;padding:1.25rem 1.5rem;margin-top:0.75rem}.dark .hny-client-tabs>.tabs.tab-container>div>[data-component-part=\"tab-content\"]{border-color:#475569!important}.hny-client-tabs [data-component-part=\"tab-button\"]:focus-visible{outline:2px solid #0298EC;outline-offset:2px}"},{"filePath":"_assets/stylesheets/_tokens.css","content":":root{--lat-ref-border-radius-0: 0px;--lat-ref-border-radius-50: 2px;--lat-ref-border-radius-75: 3px;--lat-ref-border-radius-100: 4px;--lat-ref-border-radius-200: 8px;--lat-ref-border-radius-300: 12px;--lat-ref-border-radius-400: 16px;--lat-ref-border-radius-2000: 80px;--lat-ref-border-width-0: 0px;--lat-ref-border-width-25: 1px;--lat-ref-border-width-50: 2px;--lat-ref-color-blue-500: #225dbe;--lat-ref-color-blue-600: #1c4c9c;--lat-ref-color-blue-700: #0f3880;--lat-ref-color-blue-800: #002566;--lat-ref-color-blue-900: #00173e;--lat-ref-color-gold-100: #ffeab2;--lat-ref-color-gold-1000: #a94a04;--lat-ref-color-gold-1100: #7a3302;--lat-ref-color-gold-200: #ffdd81;--lat-ref-color-gold-300: #ffd14d;--lat-ref-color-gold-400: #ffc626;--lat-ref-color-gold-50: #fffae1;--lat-ref-color-gold-500: #ffbc04;--lat-ref-color-gold-600: #ffb000;--lat-ref-color-gold-700: #ff9b03;--lat-ref-color-gold-800: #fe8a04;--lat-ref-color-gold-900: #f26905;--lat-ref-color-gray-100: #ebeff4;--lat-ref-color-gray-1000: #1e2023;--lat-ref-color-gray-1050: #1b1d20;--lat-ref-color-gray-1100: #191a1b;--lat-ref-color-gray-200: #dee3ec;--lat-ref-color-gray-300: #c9d1df;--lat-ref-color-gray-400: #b0baca;--lat-ref-color-gray-50: #f5f7fa;--lat-ref-color-gray-500: #8f94a9;--lat-ref-color-gray-600: #717a89;--lat-ref-color-gray-700: #59606d;--lat-ref-color-gray-800: #444a53;--lat-ref-color-gray-850: #3c4149;--lat-ref-color-gray-900: #33383f;--lat-ref-color-gray-950: #272b30;--lat-ref-color-green-100: #d8efc0;--lat-ref-color-green-1000: #005700;--lat-ref-color-green-200: #bde596;--lat-ref-color-green-300: #a1db6a;--lat-ref-color-green-400: #8ad243;--lat-ref-color-green-50: #eff9e6;--lat-ref-color-green-500: #73ca0d;--lat-ref-color-green-600: #64ba00;--lat-ref-color-green-700: #4ca600;--lat-ref-color-green-800: #329200;--lat-ref-color-green-900: #007000;--lat-ref-color-indigo-100: #d3cdf0;--lat-ref-color-indigo-1000: #100e38;--lat-ref-color-indigo-200: #b4ace6;--lat-ref-color-indigo-300: #9186d9;--lat-ref-color-indigo-400: #7165cc;--lat-ref-color-indigo-50: #edeaf8;--lat-ref-color-indigo-500: #5549be;--lat-ref-color-indigo-600: #4538a8;--lat-ref-color-indigo-700: #362c8f;--lat-ref-color-indigo-800: #282275;--lat-ref-color-indigo-900: #1b185a;--lat-ref-color-miscellaneous-charcoal: #191a1b;--lat-ref-color-miscellaneous-white: #ffffff;--lat-ref-color-pink-100: #fad4e9;--lat-ref-color-pink-1000: #3e0827;--lat-ref-color-pink-200: #f5b0d5;--lat-ref-color-pink-300: #ee84bb;--lat-ref-color-pink-400: #e563a5;--lat-ref-color-pink-50: #fdeef6;--lat-ref-color-pink-500: #dc4d90;--lat-ref-color-pink-600: #c23a7c;--lat-ref-color-pink-700: #a22868;--lat-ref-color-pink-800: #821a53;--lat-ref-color-pink-900: #61103d;--lat-ref-color-purple-100: #dfd3eb;--lat-ref-color-purple-1000: #2e1260;--lat-ref-color-purple-200: #cbb8df;--lat-ref-color-purple-300: #b89bce;--lat-ref-color-purple-400: #ac8dc7;--lat-ref-color-purple-50: #f7f3fb;--lat-ref-color-purple-500: #9b77c2;--lat-ref-color-purple-600: #8659b4;--lat-ref-color-purple-700: #6a37a1;--lat-ref-color-purple-800: #54298f;--lat-ref-color-purple-900: #431e80;--lat-ref-color-red-100: #f7d2d7;--lat-ref-color-red-1000: #85322e;--lat-ref-color-red-200: #e4a3a5;--lat-ref-color-red-300: #d78184;--lat-ref-color-red-400: #e16767;--lat-ref-color-red-50: #fbedf0;--lat-ref-color-red-500: #e65b53;--lat-ref-color-red-600: #d75450;--lat-ref-color-red-700: #c54b49;--lat-ref-color-red-800: #b74643;--lat-ref-color-red-900: #a63f3a;--lat-ref-color-sky-100: #b9def8;--lat-ref-color-sky-1000: #002f7a;--lat-ref-color-sky-200: #8dcaf5;--lat-ref-color-sky-300: #60b5f0;--lat-ref-color-sky-400: #3aa5ee;--lat-ref-color-sky-50: #e3f2fc;--lat-ref-color-sky-500: #0296ec;--lat-ref-color-sky-600: #0088df;--lat-ref-color-sky-700: #0077cc;--lat-ref-color-sky-800: #0066ba;--lat-ref-color-sky-900: #00489c;--lat-ref-color-teal-100: #cce8f0;--lat-ref-color-teal-1000: #023040;--lat-ref-color-teal-200: #aad8e6;--lat-ref-color-teal-300: #7ec3d8;--lat-ref-color-teal-400: #50adc8;--lat-ref-color-teal-50: #eaf6f7;--lat-ref-color-teal-500: #2297b6;--lat-ref-color-teal-600: #0d83a0;--lat-ref-color-teal-700: #0a6d87;--lat-ref-color-teal-800: #085870;--lat-ref-color-teal-900: #054558;--lat-ref-size-0: 0px;--lat-ref-size-100: 4px;--lat-ref-size-200: 8px;--lat-ref-size-300: 12px;--lat-ref-size-400: 16px;--lat-ref-size-500: 20px;--lat-ref-size-600: 24px;--lat-ref-size-700: 28px;--lat-ref-size-800: 32px;--lat-ref-size-900: 36px;--lat-ref-size-1000: 40px;--lat-ref-size-1100: 44px;--lat-ref-size-1200: 48px;--lat-ref-size-1300: 52px;--lat-ref-size-1400: 56px;--lat-ref-size-1500: 60px;--lat-ref-size-1600: 64px;--lat-ref-size-2000: 80px;--lat-ref-space-0: 0px;--lat-ref-space-1: 2px;--lat-ref-space-2: 4px;--lat-ref-space-3: 8px;--lat-ref-space-4: 12px;--lat-ref-space-5: 16px;--lat-ref-space-6: 20px;--lat-ref-space-7: 24px;--lat-ref-space-8: 28px;--lat-ref-space-9: 32px;--lat-ref-space-10: 36px;--lat-ref-space-11: 40px;--lat-ref-space-12: 44px;--lat-ref-space-13: 48px;--lat-ref-font-line-height-0: 0rem;--lat-ref-font-line-height-1: 1rem;--lat-ref-font-line-height-2: 1.125rem;--lat-ref-font-line-height-3: 1.25rem;--lat-ref-font-line-height-4: 1.375rem;--lat-ref-font-line-height-5: 1.5rem;--lat-ref-font-line-height-6: 1.875rem;--lat-ref-font-line-height-7: 2.25rem;--lat-ref-font-line-height-8: 2.5rem;--lat-ref-font-size-100: 0.625rem;--lat-ref-font-size-200: 0.75rem;--lat-ref-font-size-300: 0.875rem;--lat-ref-font-size-400: 1rem;--lat-ref-font-size-500: 1.25rem;--lat-ref-font-size-600: 1.5rem;--lat-ref-font-size-700: 2rem;--lat-ref-font-weight-400: 400;--lat-ref-font-weight-500: 500;--lat-ref-font-weight-600: 600;--lat-ref-font-weight-700: 700;--lat-ref-font-family-poppins: 'Poppins', Arial, Helvetica, sans-serif;--lat-ref-font-family-roboto: 'Roboto', Arial, Helvetica, sans-serif;--lat-ref-font-family-roboto-mono: 'Roboto Mono', monospace}:root,.light{--lat-border-radius-zero: 0px;--lat-border-radius-xsmall: 2px;--lat-border-radius-small: 4px;--lat-border-radius-medium: 8px;--lat-border-radius-primary-default: 8px;--lat-border-radius-secondary-default: 12px;--lat-border-radius-container: 8px;--lat-border-radius-control-small: 4px;--lat-border-radius-circle: 80px;--lat-border-width-zero: 0px;--lat-border-width-primary-default: 1px;--lat-border-width-secondary-default: 2px;--lat-color-background-critical-bold: var(--lat-ref-color-red-700);--lat-color-background-critical-bolder: var(--lat-ref-color-red-800);--lat-color-background-critical-boldest: var(--lat-ref-color-red-900);--lat-color-background-critical-default: var(--lat-ref-color-red-100);--lat-color-background-critical-hover: var(--lat-ref-color-red-200);--lat-color-background-critical-subtle: var(--lat-ref-color-red-300);--lat-color-background-informational-default: var(--lat-ref-color-sky-100);--lat-color-background-informational-hover: var(--lat-ref-color-sky-200);--lat-color-background-informational-subtle: var(--lat-ref-color-sky-300);--lat-color-background-interactive-active: var(--lat-ref-color-sky-900);--lat-color-background-interactive-default: var(--lat-ref-color-sky-700);--lat-color-background-interactive-disabled: var(--lat-ref-color-gray-100);--lat-color-background-interactive-hover: var(--lat-ref-color-sky-800);--lat-color-background-inverse-active: var(--lat-ref-color-gray-700);--lat-color-background-inverse-default: var(--lat-ref-color-gray-950);--lat-color-background-inverse-disabled: var(--lat-ref-color-gray-1050);--lat-color-background-inverse-hover: var(--lat-ref-color-gray-900);--lat-color-background-neutral-active: var(--lat-ref-color-sky-50);--lat-color-background-neutral-bold: var(--lat-ref-color-gray-400);--lat-color-background-neutral-bolder: var(--lat-ref-color-gray-600);--lat-color-background-neutral-boldest: var(--lat-ref-color-gray-800);--lat-color-background-neutral-default: var(--lat-ref-color-gray-100);--lat-color-background-neutral-disabled: var(--lat-ref-color-gray-200);--lat-color-background-neutral-hover: var(--lat-ref-color-gray-300);--lat-color-background-neutral-subtle: var(--lat-ref-color-gray-300);--lat-color-background-pink-default: var(--lat-ref-color-pink-100);--lat-color-background-primary-active: var(--lat-ref-color-sky-50);--lat-color-background-primary-default: var(--lat-ref-color-miscellaneous-white);--lat-color-background-primary-disabled: var(--lat-ref-color-gray-100);--lat-color-background-primary-hover: var(--lat-ref-color-gray-50);--lat-color-background-primary-selected: var(--lat-ref-color-gray-200);--lat-color-background-purple-default: var(--lat-ref-color-purple-100);--lat-color-background-secondary-default: var(--lat-ref-color-gray-50);--lat-color-background-secondary-hover: var(--lat-ref-color-gray-200);--lat-color-background-secondary-selected: var(--lat-ref-color-sky-700);--lat-color-background-success-bold: var(--lat-ref-color-green-400);--lat-color-background-success-bolder: var(--lat-ref-color-green-600);--lat-color-background-success-default: var(--lat-ref-color-green-100);--lat-color-background-success-hover: var(--lat-ref-color-green-200);--lat-color-background-success-subtle: var(--lat-ref-color-green-300);--lat-color-background-teal-default: var(--lat-ref-color-teal-100);--lat-color-background-warning-default: var(--lat-ref-color-gold-100);--lat-color-background-warning-hover: var(--lat-ref-color-gold-200);--lat-color-background-warning-subtle: var(--lat-ref-color-gold-300);--lat-color-border-contrast: var(--lat-ref-color-miscellaneous-white);--lat-color-border-contrast-focus: var(--lat-ref-color-miscellaneous-white);--lat-color-border-critical-default: var(--lat-ref-color-red-1000);--lat-color-border-critical-subtle: var(--lat-ref-color-red-1000);--lat-color-border-focus: var(--lat-ref-color-sky-700);--lat-color-border-informational-default: var(--lat-ref-color-sky-800);--lat-color-border-informational-subtle: var(--lat-ref-color-sky-900);--lat-color-border-inverse-active: var(--lat-ref-color-gray-600);--lat-color-border-inverse-default: var(--lat-ref-color-gray-400);--lat-color-border-inverse-disabled: var(--lat-ref-color-gray-700);--lat-color-border-inverse-focus: var(--lat-ref-color-sky-400);--lat-color-border-inverse-hover: var(--lat-ref-color-gray-500);--lat-color-border-neutral-subtle: var(--lat-ref-color-gray-900);--lat-color-border-neutral-subtlest: var(--lat-ref-color-gray-100);--lat-color-border-primary-active: var(--lat-ref-color-gray-700);--lat-color-border-primary-default: var(--lat-ref-color-gray-300);--lat-color-border-primary-disabled: var(--lat-ref-color-gray-200);--lat-color-border-primary-hover: var(--lat-ref-color-gray-700);--lat-color-border-secondary-default: var(--lat-ref-color-gray-600);--lat-color-border-success-default: var(--lat-ref-color-green-900);--lat-color-border-success-subtle: var(--lat-ref-color-green-1000);--lat-color-border-transparent: #ffffff00;--lat-color-border-warning-default: var(--lat-ref-color-gold-1000);--lat-color-border-warning-subtle: var(--lat-ref-color-gold-1100);--lat-color-foreground-critical-default: var(--lat-ref-color-red-1000);--lat-color-foreground-critical-hover: var(--lat-ref-color-red-900);--lat-color-foreground-critical-subtle: var(--lat-ref-color-red-1000);--lat-color-foreground-informational-default: var(--lat-ref-color-sky-900);--lat-color-foreground-informational-subtle: var(--lat-ref-color-sky-900);--lat-color-foreground-inverse-critical-default: var(--lat-ref-color-red-300);--lat-color-foreground-inverse-default: var(--lat-ref-color-miscellaneous-white);--lat-color-foreground-inverse-disabled: var(--lat-ref-color-gray-700);--lat-color-foreground-inverse-link-active: var(--lat-ref-color-sky-300);--lat-color-foreground-inverse-link-default: var(--lat-ref-color-sky-200);--lat-color-foreground-inverse-link-hover: var(--lat-ref-color-sky-300);--lat-color-foreground-inverse-link-visited: var(--lat-ref-color-purple-300);--lat-color-foreground-inverse-secondary: var(--lat-ref-color-gray-300);--lat-color-foreground-inverse-success-default: var(--lat-ref-color-green-500);--lat-color-foreground-inverse-warning-default: var(--lat-ref-color-gold-500);--lat-color-foreground-link-active: var(--lat-ref-color-blue-700);--lat-color-foreground-link-default: var(--lat-ref-color-sky-900);--lat-color-foreground-link-hover: var(--lat-ref-color-blue-700);--lat-color-foreground-link-visited: var(--lat-ref-color-purple-700);--lat-color-foreground-neutral-default: var(--lat-ref-color-gray-700);--lat-color-foreground-neutral-subtle: var(--lat-ref-color-gray-900);--lat-color-foreground-pink-boldest: var(--lat-ref-color-pink-1000);--lat-color-foreground-primary-default: var(--lat-ref-color-gray-900);--lat-color-foreground-primary-disabled: var(--lat-ref-color-gray-600);--lat-color-foreground-purple-boldest: var(--lat-ref-color-purple-1000);--lat-color-foreground-secondary-default: var(--lat-ref-color-gray-700);--lat-color-foreground-secondary-disabled: var(--lat-ref-color-gray-600);--lat-color-foreground-success-boldest: var(--lat-ref-color-green-1000);--lat-color-foreground-success-default: var(--lat-ref-color-green-900);--lat-color-foreground-teal-boldest: var(--lat-ref-color-teal-1000);--lat-color-foreground-warning-boldest: var(--lat-ref-color-gold-1100);--lat-color-foreground-warning-default: var(--lat-ref-color-gold-1000);--lat-color-page-primary: var(--lat-ref-color-miscellaneous-white);--lat-color-page-secondary: var(--lat-ref-color-gray-50);--lat-gradient-rainbow: linear-gradient(90deg, #F96E10, #FFC305, #FFE84F, #78E898, #3EDFFF, #0298EC);--lat-motion-duration-instant: 100ms;--lat-motion-duration-fast: 150ms;--lat-motion-duration-moderate: 200ms;--lat-motion-duration-slow: 300ms;--lat-motion-duration-deliberate: 500ms;--lat-motion-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);--lat-motion-ease-entrance: cubic-bezier(0.16, 1, 0.3, 1);--lat-motion-ease-exit: cubic-bezier(0.4, 0, 1, 1);--lat-motion-spin-fast: 1s;--lat-motion-spin-slow: 2.5s;--lat-motion-pulse-slow: 1.4s;--lat-motion-type-chart: 35ms;--lat-motion-type-erase: 20ms;--lat-motion-type-pause: 1200ms;--lat-shadow-popover: 0 1px 2px rgba(25, 26, 27, 0.06), 0 2px 6px rgba(25, 26, 27, 0.08);--lat-shadow-focus: 0 4px 4px rgba(0, 0, 0, 0.12);--lat-shadow-tooltip: 0 1px 2px rgba(25, 26, 27, 0.06), 0 2px 6px rgba(25, 26, 27, 0.08);--lat-shadow-small: 0 1px 2px rgba(25, 26, 27, 0.06), 0 2px 6px rgba(25, 26, 27, 0.08);--lat-shadow-medium: 0 2px 4px rgba(25, 26, 27, 0.06), 0 6px 16px rgba(25, 26, 27, 0.10);--lat-shadow-large: 0 4px 8px rgba(25, 26, 27, 0.08), 0 12px 28px rgba(25, 26, 27, 0.14);--lat-shadow-overflow-left: -4px 0 8px rgba(25, 26, 27, 0.08);--lat-shadow-overflow-right: 4px 0 8px rgba(25, 26, 27, 0.08);--lat-shadow-overflow-bottom: 0 4px 8px rgba(25, 26, 27, 0.08);--lat-size-x0: 0px;--lat-size-x1: 4px;--lat-size-x2: 8px;--lat-size-x3: 12px;--lat-size-x4: 16px;--lat-size-x5: 20px;--lat-size-x6: 24px;--lat-size-x7: 28px;--lat-size-x8: 32px;--lat-size-x9: 36px;--lat-size-x10: 40px;--lat-size-x11: 44px;--lat-size-x12: 48px;--lat-size-x13: 52px;--lat-size-x14: 56px;--lat-size-x15: 60px;--lat-size-x16: 64px;--lat-size-x20: 80px;--lat-space-inline-text: 4px;--lat-space-text-to-separator-padding: 4px;--lat-space-trigger-to-anchor: 4px;--lat-space-gutter-s: 8px;--lat-space-text-to-text-s: 8px;--lat-space-trigger-s: 8px;--lat-space-card-padding: 12px;--lat-space-form-s: 12px;--lat-space-gutter-m: 12px;--lat-space-text-to-component-s: 12px;--lat-space-text-to-text-m: 12px;--lat-space-trigger-m: 12px;--lat-space-form-m: 16px;--lat-space-section-s: 16px;--lat-space-text-to-component-m: 16px;--lat-space-section-m: 20px;--lat-space-modal-padding: 24px;--lat-space-page-padding: 24px;--lat-space-pane: 24px;--lat-space-x0: 0px;--lat-space-x1: 4px;--lat-space-x2: 8px;--lat-space-x3: 12px;--lat-space-x4: 16px;--lat-space-x5: 20px;--lat-space-x6: 24px;--lat-space-x7: 28px;--lat-space-x8: 32px;--lat-space-x9: 36px;--lat-space-x10: 40px;--lat-space-x11: 44px;--lat-space-x12: 48px;--lat-text-body-default: 400 0.875rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-body-default-italic: italic 400 0.875rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-body-default-medium: 500 0.875rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-body-small: 400 0.75rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-body-small-medium: 500 0.75rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-body-large: 400 1rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-body-large-italic: italic 400 1rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-body-large-medium: 500 1rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-code-small: 400 0.75rem 'Roboto Mono', monospace;--lat-text-code-medium: 400 0.875rem 'Roboto Mono', monospace;--lat-text-heading-1: 600 2rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-heading-2: 600 1.5rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-heading-3: 600 1.25rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-heading-4: 600 1rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-heading-5: 600 0.875rem 'Roboto', Arial, Helvetica, sans-serif;--lat-text-heading-6: 600 0.75rem 'Roboto', Arial, Helvetica, sans-serif;--lat-z-base: 0;--lat-z-sticky: 50;--lat-z-chrome: 100;--lat-z-overlay: 500;--lat-z-modal: 600;--lat-z-popover: 1000;--lat-z-toast: 1500;--lat-z-tooltip: 2000;--lat-comp-badge-background-critical-bold: var(--lat-color-background-critical-bold);--lat-comp-badge-background-critical-default: #d781844d;--lat-comp-badge-background-informational-default: #60b5f04d;--lat-comp-badge-background-neutral-default: #c9d1df4d;--lat-comp-badge-background-success-default: #a1db6a4d;--lat-comp-badge-background-warning-default: #ffd14d4d;--lat-comp-badge-border-contrast-default: var(--lat-color-border-contrast);--lat-comp-badge-foreground-critical-default: var(--lat-color-foreground-critical-subtle);--lat-comp-badge-foreground-informational-default: var(--lat-color-foreground-informational-subtle);--lat-comp-badge-foreground-inverse-default: var(--lat-color-foreground-inverse-default);--lat-comp-badge-foreground-neutral-default: var(--lat-color-foreground-neutral-subtle);--lat-comp-badge-foreground-success-default: var(--lat-color-foreground-success-boldest);--lat-comp-badge-foreground-warning-default: var(--lat-color-foreground-warning-boldest);--lat-comp-banner-background-critical-default: #d781844d;--lat-comp-banner-background-critical-hover: var(--lat-color-background-critical-hover);--lat-comp-banner-background-informational-default: #60b5f04d;--lat-comp-banner-background-informational-hover: var(--lat-color-background-informational-hover);--lat-comp-banner-background-neutral-default: #c9d1df4d;--lat-comp-banner-background-neutral-hover: var(--lat-color-background-neutral-hover);--lat-comp-banner-background-success-default: #a1db6a4d;--lat-comp-banner-background-success-hover: var(--lat-color-background-success-hover);--lat-comp-banner-background-warning-default: #ffd14d4d;--lat-comp-banner-background-warning-hover: var(--lat-color-background-warning-hover);--lat-comp-banner-border-critical-default: var(--lat-color-border-critical-subtle);--lat-comp-banner-border-informational-default: var(--lat-color-border-informational-subtle);--lat-comp-banner-border-neutral-default: var(--lat-color-border-neutral-subtle);--lat-comp-banner-border-success-default: var(--lat-color-border-success-subtle);--lat-comp-banner-border-warning-default: var(--lat-color-border-warning-subtle);--lat-comp-banner-foreground-critical-default: var(--lat-color-foreground-critical-subtle);--lat-comp-banner-foreground-informational-default: var(--lat-color-foreground-informational-subtle);--lat-comp-banner-foreground-neutral-default: var(--lat-color-foreground-neutral-subtle);--lat-comp-banner-foreground-success-default: var(--lat-color-foreground-success-boldest);--lat-comp-banner-foreground-warning-default: var(--lat-color-foreground-warning-boldest);--lat-comp-toast-background-primary-default: var(--lat-color-background-inverse-default);--lat-comp-toast-background-primary-hover: var(--lat-color-background-inverse-hover);--lat-comp-toast-foreground-critical-default: var(--lat-color-foreground-inverse-critical-default);--lat-comp-toast-foreground-link-active: var(--lat-color-foreground-inverse-link-active);--lat-comp-toast-foreground-link-default: var(--lat-color-foreground-inverse-link-default);--lat-comp-toast-foreground-link-hover: var(--lat-color-foreground-inverse-link-hover);--lat-comp-toast-foreground-link-visited: var(--lat-color-foreground-inverse-link-visited);--lat-comp-toast-foreground-primary-default: var(--lat-color-foreground-inverse-default);--lat-comp-toast-foreground-success-default: var(--lat-color-foreground-inverse-success-default);--lat-comp-tooltip-background-primary-default: var(--lat-color-background-inverse-default);--lat-comp-tooltip-foreground-primary-default: var(--lat-color-foreground-inverse-default)}.dark{--lat-color-background-critical-bold: var(--lat-ref-color-red-400);--lat-color-background-critical-bolder: var(--lat-ref-color-red-300);--lat-color-background-critical-boldest: var(--lat-ref-color-red-200);--lat-color-background-critical-default: var(--lat-ref-color-red-1000);--lat-color-background-critical-hover: var(--lat-ref-color-red-300);--lat-color-background-critical-subtle: var(--lat-ref-color-red-500);--lat-color-background-informational-default: var(--lat-ref-color-sky-900);--lat-color-background-informational-hover: var(--lat-ref-color-blue-700);--lat-color-background-informational-subtle: var(--lat-ref-color-sky-500);--lat-color-background-interactive-active: var(--lat-ref-color-sky-200);--lat-color-background-interactive-default: var(--lat-ref-color-sky-400);--lat-color-background-interactive-disabled: var(--lat-ref-color-gray-900);--lat-color-background-interactive-hover: var(--lat-ref-color-sky-300);--lat-color-background-inverse-active: var(--lat-ref-color-sky-50);--lat-color-background-inverse-default: var(--lat-ref-color-miscellaneous-white);--lat-color-background-inverse-disabled: var(--lat-ref-color-gray-100);--lat-color-background-inverse-hover: var(--lat-ref-color-gray-50);--lat-color-background-neutral-active: var(--lat-ref-color-gray-700);--lat-color-background-neutral-bold: var(--lat-ref-color-gray-800);--lat-color-background-neutral-bolder: var(--lat-ref-color-gray-600);--lat-color-background-neutral-boldest: var(--lat-ref-color-gray-400);--lat-color-background-neutral-default: var(--lat-ref-color-gray-900);--lat-color-background-neutral-disabled: var(--lat-ref-color-gray-1000);--lat-color-background-neutral-hover: var(--lat-ref-color-gray-800);--lat-color-background-neutral-subtle: var(--lat-ref-color-gray-500);--lat-color-background-pink-default: var(--lat-ref-color-pink-900);--lat-color-background-primary-active: var(--lat-ref-color-gray-700);--lat-color-background-primary-default: var(--lat-ref-color-gray-1000);--lat-color-background-primary-disabled: var(--lat-ref-color-gray-1050);--lat-color-background-primary-hover: var(--lat-ref-color-gray-900);--lat-color-background-primary-selected: var(--lat-ref-color-gray-800);--lat-color-background-purple-default: var(--lat-ref-color-purple-900);--lat-color-background-secondary-default: var(--lat-ref-color-gray-950);--lat-color-background-secondary-hover: var(--lat-ref-color-gray-800);--lat-color-background-secondary-selected: var(--lat-ref-color-sky-700);--lat-color-background-success-bold: var(--lat-ref-color-green-700);--lat-color-background-success-bolder: var(--lat-ref-color-green-400);--lat-color-background-success-default: var(--lat-ref-color-green-1000);--lat-color-background-success-hover: var(--lat-ref-color-green-900);--lat-color-background-success-subtle: var(--lat-ref-color-green-500);--lat-color-background-teal-default: var(--lat-ref-color-teal-900);--lat-color-background-warning-default: var(--lat-ref-color-gold-1000);--lat-color-background-warning-hover: var(--lat-ref-color-gold-1100);--lat-color-background-warning-subtle: var(--lat-ref-color-gold-500);--lat-color-border-contrast: var(--lat-ref-color-miscellaneous-charcoal);--lat-color-border-contrast-focus: var(--lat-ref-color-miscellaneous-white);--lat-color-border-critical-default: var(--lat-ref-color-red-500);--lat-color-border-critical-subtle: var(--lat-ref-color-red-400);--lat-color-border-focus: var(--lat-ref-color-sky-400);--lat-color-border-informational-default: var(--lat-ref-color-sky-500);--lat-color-border-informational-subtle: var(--lat-ref-color-sky-400);--lat-color-border-inverse-active: var(--lat-ref-color-gray-700);--lat-color-border-inverse-default: var(--lat-ref-color-gray-300);--lat-color-border-inverse-disabled: var(--lat-ref-color-gray-200);--lat-color-border-inverse-focus: var(--lat-ref-color-sky-700);--lat-color-border-inverse-hover: var(--lat-ref-color-gray-700);--lat-color-border-neutral-subtle: var(--lat-ref-color-gray-400);--lat-color-border-neutral-subtlest: var(--lat-ref-color-gray-900);--lat-color-border-primary-active: var(--lat-ref-color-gray-500);--lat-color-border-primary-default: var(--lat-ref-color-gray-900);--lat-color-border-primary-disabled: var(--lat-ref-color-gray-700);--lat-color-border-primary-hover: var(--lat-ref-color-gray-500);--lat-color-border-secondary-default: var(--lat-ref-color-gray-600);--lat-color-border-success-default: var(--lat-ref-color-green-400);--lat-color-border-success-subtle: var(--lat-ref-color-green-400);--lat-color-border-transparent: #ffffff00;--lat-color-border-warning-default: var(--lat-ref-color-gold-600);--lat-color-border-warning-subtle: var(--lat-ref-color-gold-400);--lat-color-foreground-critical-default: var(--lat-ref-color-red-300);--lat-color-foreground-critical-hover: var(--lat-ref-color-red-200);--lat-color-foreground-critical-subtle: var(--lat-ref-color-red-100);--lat-color-foreground-informational-default: var(--lat-ref-color-sky-500);--lat-color-foreground-informational-subtle: var(--lat-ref-color-sky-100);--lat-color-foreground-inverse-critical-default: var(--lat-ref-color-red-1000);--lat-color-foreground-inverse-default: var(--lat-ref-color-gray-1050);--lat-color-foreground-inverse-disabled: var(--lat-ref-color-gray-500);--lat-color-foreground-inverse-link-active: var(--lat-ref-color-blue-700);--lat-color-foreground-inverse-link-default: var(--lat-ref-color-sky-900);--lat-color-foreground-inverse-link-hover: var(--lat-ref-color-blue-700);--lat-color-foreground-inverse-link-visited: var(--lat-ref-color-purple-700);--lat-color-foreground-inverse-secondary: var(--lat-ref-color-gray-700);--lat-color-foreground-inverse-success-default: var(--lat-ref-color-green-900);--lat-color-foreground-inverse-warning-default: var(--lat-ref-color-gold-1000);--lat-color-foreground-link-active: var(--lat-ref-color-sky-300);--lat-color-foreground-link-default: var(--lat-ref-color-sky-200);--lat-color-foreground-link-hover: var(--lat-ref-color-sky-300);--lat-color-foreground-link-visited: var(--lat-ref-color-purple-300);--lat-color-foreground-neutral-default: var(--lat-ref-color-gray-100);--lat-color-foreground-neutral-subtle: var(--lat-ref-color-gray-100);--lat-color-foreground-pink-boldest: var(--lat-ref-color-pink-100);--lat-color-foreground-primary-default: var(--lat-ref-color-gray-50);--lat-color-foreground-primary-disabled: var(--lat-ref-color-gray-700);--lat-color-foreground-purple-boldest: var(--lat-ref-color-purple-100);--lat-color-foreground-secondary-default: var(--lat-ref-color-gray-300);--lat-color-foreground-secondary-disabled: var(--lat-ref-color-gray-600);--lat-color-foreground-success-boldest: var(--lat-ref-color-green-100);--lat-color-foreground-success-default: var(--lat-ref-color-green-500);--lat-color-foreground-teal-boldest: var(--lat-ref-color-teal-100);--lat-color-foreground-warning-boldest: var(--lat-ref-color-gold-100);--lat-color-foreground-warning-default: var(--lat-ref-color-gold-500);--lat-color-page-primary: var(--lat-ref-color-gray-1050);--lat-color-page-secondary: var(--lat-ref-color-gray-1100);--lat-gradient-rainbow: linear-gradient(90deg, #F96E10, #FFC305, #FFE84F, #78E898, #3EDFFF, #0298EC);--lat-shadow-popover: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 2px 6px rgba(0, 0, 0, 0.35);--lat-shadow-focus: 0 4px 8px rgba(0, 0, 0, 0.20);--lat-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 2px 6px rgba(0, 0, 0, 0.35);--lat-shadow-small: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 2px 6px rgba(0, 0, 0, 0.35);--lat-shadow-medium: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 6px 16px rgba(0, 0, 0, 0.40);--lat-shadow-large: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 12px 28px rgba(0, 0, 0, 0.45);--lat-shadow-overflow-left: -4px 0 8px rgba(0, 0, 0, 0.35);--lat-shadow-overflow-right: 4px 0 8px rgba(0, 0, 0, 0.35);--lat-shadow-overflow-bottom: 0 4px 8px rgba(0, 0, 0, 0.35);--lat-comp-badge-background-critical-bold: var(--lat-color-background-critical-bold);--lat-comp-badge-background-critical-default: #e65b534d;--lat-comp-badge-background-informational-default: #0296ec4d;--lat-comp-badge-background-neutral-default: #8f94a94d;--lat-comp-badge-background-success-default: #73ca0d4d;--lat-comp-badge-background-warning-default: #ffbc044d;--lat-comp-badge-border-contrast-default: var(--lat-color-border-contrast);--lat-comp-badge-foreground-critical-default: var(--lat-color-foreground-critical-subtle);--lat-comp-badge-foreground-informational-default: var(--lat-color-foreground-informational-subtle);--lat-comp-badge-foreground-inverse-default: var(--lat-color-foreground-inverse-default);--lat-comp-badge-foreground-neutral-default: var(--lat-color-foreground-neutral-subtle);--lat-comp-badge-foreground-success-default: var(--lat-color-foreground-success-boldest);--lat-comp-badge-foreground-warning-default: var(--lat-color-foreground-warning-boldest);--lat-comp-banner-background-critical-default: #e65b534d;--lat-comp-banner-background-critical-hover: var(--lat-color-background-critical-hover);--lat-comp-banner-background-informational-default: #0296ec4d;--lat-comp-banner-background-informational-hover: var(--lat-color-background-informational-hover);--lat-comp-banner-background-neutral-default: #8f94a94d;--lat-comp-banner-background-neutral-hover: var(--lat-color-background-neutral-hover);--lat-comp-banner-background-success-default: #73ca0d4d;--lat-comp-banner-background-success-hover: var(--lat-color-background-success-hover);--lat-comp-banner-background-warning-default: #ffbc044d;--lat-comp-banner-background-warning-hover: var(--lat-color-background-warning-hover);--lat-comp-banner-border-critical-default: var(--lat-color-border-critical-subtle);--lat-comp-banner-border-informational-default: var(--lat-color-border-informational-subtle);--lat-comp-banner-border-neutral-default: var(--lat-color-border-neutral-subtle);--lat-comp-banner-border-success-default: var(--lat-color-border-success-subtle);--lat-comp-banner-border-warning-default: var(--lat-color-border-warning-subtle);--lat-comp-banner-foreground-critical-default: var(--lat-color-foreground-critical-subtle);--lat-comp-banner-foreground-informational-default: var(--lat-color-foreground-informational-subtle);--lat-comp-banner-foreground-neutral-default: var(--lat-color-foreground-neutral-subtle);--lat-comp-banner-foreground-success-default: var(--lat-color-foreground-success-boldest);--lat-comp-banner-foreground-warning-default: var(--lat-color-foreground-warning-boldest);--lat-comp-toast-background-primary-default: var(--lat-color-background-neutral-default);--lat-comp-toast-background-primary-hover: var(--lat-color-background-neutral-hover);--lat-comp-toast-foreground-critical-default: var(--lat-color-foreground-critical-default);--lat-comp-toast-foreground-link-active: var(--lat-color-foreground-link-active);--lat-comp-toast-foreground-link-default: var(--lat-color-foreground-link-default);--lat-comp-toast-foreground-link-hover: var(--lat-color-foreground-link-hover);--lat-comp-toast-foreground-link-visited: var(--lat-color-foreground-link-visited);--lat-comp-toast-foreground-primary-default: var(--lat-color-foreground-primary-default);--lat-comp-toast-foreground-success-default: var(--lat-color-foreground-success-default);--lat-comp-tooltip-background-primary-default: var(--lat-color-background-neutral-default);--lat-comp-tooltip-foreground-primary-default: var(--lat-color-foreground-primary-default)}#navbar-transition{background-color:var(--lat-color-background-secondary-default)}"}],"page":{"pagePath":"send-data/android","slug":"/send-data/android","pageMetadata":{"title":"Send Android Data to Honeycomb","description":"Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.","sidebarTitle":"Android","href":"/send-data/android"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`https://github.com/honeycombio/honeycomb-opentelemetry-android`,children:`Honeycomb OpenTelemetry Android SDK`}),` is Honeycomb’s `,_jsx(_components.a,{href:`https://github.com/open-telemetry/opentelemetry-android`,children:`OpenTelemetry Android`}),` distribution.\nIt simplifies adding instrumentation to your Android applications and sending telemetry to Honeycomb.`]}),`\n`,_jsxs(_components.p,{children:[`This page briefly covers usage of the SDK.\nIf you just want to see some code, check out the `,_jsx(_components.a,{href:`https://github.com/honeycombio/honeycomb-opentelemetry-android/tree/main/example`,children:`examples on GitHub`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-begin`,children:`Before You Begin`}),`\n`,_jsx(_components.p,{children:`Before you can add instrumentation to your Android application, you will need to do a few things.`}),`\n`,_jsx(Heading,{level:`3`,id:`get-your-honeycomb-api-key`,children:`Get Your Honeycomb API Key`}),`\n`,_jsx(_components.p,{children:`To send data to Honeycomb, you need to:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Sign up for a Honeycomb account.\nTo sign up, decide whether you would like Honeycomb to store your data in a US-based or EU-based location, then `,_jsx(_components.a,{href:`https://ui.honeycomb.io/signup`,children:`create a Honeycomb account in the US`}),` or `,_jsx(_components.a,{href:`https://ui.eu1.honeycomb.io/signup`,children:`create a Honeycomb account in the EU`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/configure/environments/manage-api-keys/#create-api-key`,children:`Create a Honeycomb Ingest API Key`}),`.\nTo get started, you can create a key that you expect to swap out when you deploy to production.\nName it something helpful, perhaps noting that it’s a Getting Started key.\nMake note of your API key; for security reasons, you will not be able to see the key again, and you will need it later!`]}),`\n`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`For setup, make sure you select the “Can create datasets” checkbox so that your data will show up in Honeycomb.\nLater, when you replace this key with a permanent one, you can uncheck that box.`})}),`\n`,_jsx(Heading,{level:`3`,id:`install-the-honeycomb-android-sdk`,children:`Install the Honeycomb Android SDK`}),`\n`,_jsxs(_components.p,{children:[`Add the Honeycomb and OpenTelemetry Android SDKs to your application’s `,_jsx(_components.code,{children:`build.gradle.kts`}),`.\nWhen adding OpenTelemetry dependencies, make sure `,_jsx(_components.a,{href:`https://github.com/honeycombio/honeycomb-opentelemetry-android/?tab=readme-ov-file#honeycomb-opentelemetry-android`,children:`the library is compatible with the Honeycomb Android SDK`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`dependencies {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` implementation(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"io.opentelemetry.android:android-agent:0.11.0-alpha\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` implementation(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"io.honeycomb.android:honeycomb-opentelemetry-android:0.0.20\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If your application’s `,_jsx(_components.code,{children:`minSDK`}),` is lower than 26, enable `,_jsx(_components.a,{href:`https://developer.android.com/studio/write/java8-support#library-desugaring`,children:`corelib desugaring`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`16`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`android {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` compileOptions {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` isCoreLibraryDesugaringEnabled = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sourceCompatibility = JavaVersion.VERSION_1_8`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` targetCompatibility = JavaVersion.VERSION_1_8`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` kotlinOptions {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` jvmTarget = `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1.8\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`dependencies {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` coreLibraryDesugaring(libs.desugar.jdk.libs)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If your application’s `,_jsx(_components.code,{children:`minSdk`}),` is lower than 24, running instrumentation tests or debug application builds requires that you:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.a,{href:`https://developer.android.com/build/releases/gradle-plugin#updating-plugin`,children:`Android Gradle Plugin (AGP) 8.3.0+`})]}),`\n`,_jsxs(_components.li,{children:[`Add `,_jsx(_components.code,{children:`android.useFullClasspathForDexingTransform=true`}),` to your `,_jsx(_components.code,{children:`gradle.properties`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`configuration`,children:`Configuration`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Option`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`apiKey`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`Your `,_jsx(_components.a,{href:`/configure/environments/manage-api-keys/#create-api-key`,children:`Honeycomb Ingest API Key`}),`.`,_jsx(`br`,{}),_jsx(_components.strong,{children:`Required`}),` if sending telemetry directly to Honeycomb.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`tracesApiKey`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`Ingest API Key to use when sending traces. Overrides `,_jsx(_components.code,{children:`apiKey`}),` for traces.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`metricsApiKey`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`Ingest API Key to use when sending metrics. Overrides `,_jsx(_components.code,{children:`apiKey`}),` for metrics.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`logsApiKey`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`Ingest API Key to use when sending logs. Overrides `,_jsx(_components.code,{children:`apiKey`}),` for logs.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`dataset`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`Name of the `,_jsx(_components.a,{href:`/configure/datasets/manage/`,children:`dataset`}),` to send telemetry data to. `,_jsx(`br`,{}),_jsx(_components.strong,{children:`Required`}),` if using Honeycomb Classic.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`metricsDataset`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`Name of the dataset to send metrics to. Overrides `,_jsx(_components.code,{children:`dataset`}),` for metrics.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`apiEndpoint`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`Telemetry is sent to this URL. For Honeycomb EU instances, set this to `,_jsx(_components.code,{children:`https://api.eu1.honeycomb.io:443`}),`. If you’re using an OpenTelemetry Collector, provide your collector URL instead.`,_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`https://api.honeycomb.io:443`}),` (US instance)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`tracesEndpoint`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`API endpoint to send traces to.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`metricsEndpoint`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`API endpoint to send metrics to.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`logsEndpoint`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`API endpoint to send logs to.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`spanProcessor`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`io.opentelemetry.sdk.trace.SpanProcessor`}),_jsx(`br`,{}),`Additional span processor to use.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`sampleRate`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Int`}),_jsx(`br`,{}),`Sample rate to apply. For example, a `,_jsx(_components.code,{children:`sampleRate`}),` of `,_jsx(_components.code,{children:`40`}),` means 1 in 40 traces will be exported.`,_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`1`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`debug`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Boolean`}),_jsx(`br`,{}),`Whether to enable debug logging.`,_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`false`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`serviceName`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`The name of your application. Used as the value for `,_jsx(_components.code,{children:`service.name`}),` resource attribute. `,_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`\"unknown_service\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`serviceVersion`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`String`}),_jsx(`br`,{}),`Current version of your application. Used as the value for `,_jsx(_components.code,{children:`service.version`}),` resource attribute.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`resourceAttributes`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Map\u003cString, String>`}),_jsx(`br`,{}),`Attributes to attach to outgoing resources.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`headers`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Map\u003cString, String>`}),_jsx(`br`,{}),`Headers to add to exported telemetry data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`tracesHeaders`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Map\u003cString, String>`}),_jsx(`br`,{}),`Headers to add to exported trace data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`metricsHeaders`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Map\u003cString, String>`}),_jsx(`br`,{}),`Headers to add to exported metrics data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`logsHeaders`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Map\u003cString, String>`}),_jsx(`br`,{}),`Headers to add to exported logs data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`timeout`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Duration`}),_jsx(`br`,{}),`Timeout used by exporter when sending data.`,_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`Duration = 10.seconds`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`tracesTimeout`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Duration`}),_jsx(`br`,{}),`Timeout used by traces exporter. Overrides `,_jsx(_components.code,{children:`timeout`}),` for trace data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`metricsTimeout`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Duration`}),_jsx(`br`,{}),`Timeout used by metrics exporter. Overrides `,_jsx(_components.code,{children:`timeout`}),` for metrics data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`logsTimeout`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Duration`}),_jsx(`br`,{}),`Timeout used by logs exporter. Overrides `,_jsx(_components.code,{children:`timeout`}),` for logs data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`protocol`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`OtlpProtocol`}),_jsx(`br`,{}),`Protocol to use when sending data.`,_jsx(`br`,{}),`Can be one of: `,_jsx(_components.code,{children:`OtlpProtocol.GRPC`}),`, `,_jsx(_components.code,{children:`OtlpProtocol.HTTP_PROTOBUF`}),`, `,_jsx(_components.code,{children:`OtlpProtocol.HTTP_JSON`}),`.`,_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`OtlpProtocol.HTTP_PROTOBUF`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`tracesProtocol`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`OtlpProtocol`}),_jsx(`br`,{}),`Overrides `,_jsx(_components.code,{children:`protocol`}),` for trace data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`metricsProtocol`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`OtlpProtocol`}),_jsx(`br`,{}),`Overrides `,_jsx(_components.code,{children:`protocol`}),` for metrics data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`logsProtocol`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`OtlpProtocol`}),_jsx(`br`,{}),`Overrides `,_jsx(_components.code,{children:`protocol`}),` for logs data.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`offlineCachingEnabled`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Boolean`}),_jsx(`br`,{}),`Enable offline caching for telemetry. When offline caching is enabled, telemetry is cached during network failures. The SDK will retry exporting telemetry for up to 18 hours. Offline caching also adds a minimum delay of 30 seconds to telemetry exports.`,_jsx(`br`,{}),_jsx(_components.strong,{children:`Offline caching is an alpha feature and may be unstable.`}),_jsx(`br`,{}),`Default: `,_jsx(_components.code,{children:`false`})]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`sending-to-opentelemetry-collector`,children:`Sending to OpenTelemetry Collector`}),`\n`,_jsxs(_components.p,{children:[`In production, we recommend running an `,_jsx(_components.a,{href:`/send-data/opentelemetry/collector/`,children:`OpenTelemetry Collector`}),`.\nYour application sends telemetry to your Collector instead of directly to Honeycomb.\nYour Collector then forwards the telemetry data to Honeycomb, keeping your API key stored securely in the Collector’s configuration.`]}),`\n`,_jsxs(_components.p,{children:[`Call `,_jsx(_components.code,{children:`setApiEndpoint()`}),` with your Collector’s URL when initializing the SDK:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.honeycomb.opentelemetry.android.Honeycomb`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.honeycomb.opentelemetry.android.HoneycombOptions`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.android.OpenTelemetryRum`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`class`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ExampleApp: Application() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` otelRum: OpenTelemetryRum? = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` override`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` onCreate() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` super`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.onCreate()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` options = HoneycombOptions.builder(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setApiEndpoint(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http(s)://YOUR-COLLECTOR-URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceName(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-SERVICE-NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceVersion(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.0.1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .build()`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` otelRum = Honeycomb.configure(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, options)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`sending-to-honeycomb`,children:`Sending to Honeycomb`}),`\n`,_jsxs(_components.p,{children:[`To send telemetry data directly to Honeycomb, call `,_jsx(_components.code,{children:`setApiKey()`}),` with your `,_jsx(_components.a,{href:`/configure/environments/manage-api-keys/#create-api-key`,children:`Ingest API Key`}),` value.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`21`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.honeycomb.opentelemetry.android.Honeycomb`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.honeycomb.opentelemetry.android.HoneycombOptions`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.android.OpenTelemetryRum`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`class`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ExampleApp: Application() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` otelRum: OpenTelemetryRum? = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` override`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` onCreate() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` super`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.onCreate()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` options = HoneycombOptions.builder(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Uncomment the line below to send to EU instance. Defaults to US.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // .setApiEndpoint(\"https://api.eu1.honeycomb.io:443\")`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setApiKey(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-API-KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceName(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-SERVICE-NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceVersion(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.0.1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .build()`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` otelRum = Honeycomb.configure(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, options)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`add-resource-attributes`,children:`Add Resource Attributes`}),`\n`,_jsx(_components.p,{children:`Resource attributes are available on every span your instrumentation emits.\nAdding custom, application-specific attributes makes it easier to correlate your data to important business information.`}),`\n`,_jsxs(_components.p,{children:[`You can add extra resource attributes during SDK configuration with the `,_jsx(_components.code,{children:`.setResourceAttributes()`}),` method.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` android.app.Application`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.honeycomb.opentelemetry.android.Honeycomb`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.honeycomb.opentelemetry.android.HoneycombOptions`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.android.OpenTelemetryRum`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`class`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ExampleApp: Application() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` otelRum: OpenTelemetryRum? = `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` override`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` onCreate() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` super`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.onCreate()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` options = HoneycombOptions.builder(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setApiKey(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-API-KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceName(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-SERVICE-NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceVersion(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.0.1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setResourceAttributes(mapOf(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"app.ab_test\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` to `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test c\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setDebug(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .build()`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` otelRum = Honeycomb.configure(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, options)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`enable-sampling`,children:`Enable Sampling`}),`\n`,_jsxs(_components.p,{children:[`The Honeycomb Android SDK includes optional `,_jsx(_components.a,{href:`/manage-data-volume/sample/`,children:`deterministic head sampling`}),`.\nTo enable sampling, call `,_jsx(_components.code,{children:`.setSampleRate()`}),` with your desired sample rate as an `,_jsx(_components.code,{children:`Int`}),` value.\nThe sample rate is `,_jsx(_components.code,{children:`1`}),` by default, meaning every trace is exported.`]}),`\n`,_jsxs(_components.p,{children:[`The example below sets a `,_jsx(_components.code,{children:`sampleRate`}),` of `,_jsx(_components.code,{children:`40`}),`, meaning 1 in 40 traces will be exported.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` options = HoneycombOptions.Builder(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setApiKey(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-API-KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceName(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-SERVICE-NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceVersion(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.0.1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setSampleRate(40)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setDebug(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .build()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// ...`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`add-automatic-instrumentation`,children:`Add Automatic Instrumentation`}),`\n`,_jsxs(_components.p,{children:[`Enable all OpenTelemetry auto-instrumentations by including the OpenTelemetry `,_jsx(_components.a,{href:`https://github.com/open-telemetry/opentelemetry-android`,children:`android-agent`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`dependencies {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` implementation(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"io.opentelemetry.android:android-agent:0.11.0-alpha\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` implementation(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"io.honeycomb.android:honeycomb-opentelemetry-android:0.0.20\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`If you don’t need all of them, you can instead add dependencies for each instrumentation you want to include:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/open-telemetry/opentelemetry-android/tree/main/instrumentation/activity`,children:`Activity navigation`}),`: `,_jsx(_components.code,{children:`io.opentelemetry.android:instrumentation-activity`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/open-telemetry/opentelemetry-android/tree/main/instrumentation/anr`,children:`Application Not Responding (ANR)`}),`: `,_jsx(_components.code,{children:`io.opentelemetry.android:instrumentation-anr`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/open-telemetry/opentelemetry-android/tree/main/instrumentation/crash`,children:`Crash (uncaught exception)`}),`: `,_jsx(_components.code,{children:`io.opentelemetry.android:instrumentation-crash`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/open-telemetry/opentelemetry-android/tree/main/instrumentation/fragment`,children:`Fragment navigation`}),`: `,_jsx(_components.code,{children:`io.opentelemetry.android:instrumentation-fragment`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/open-telemetry/opentelemetry-android/tree/main/instrumentation/slowrendering`,children:`Slow Rendering`}),`: `,_jsx(_components.code,{children:`io.opentelemetry.android:instrumentation-slowrendering`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/honeycombio/honeycomb-opentelemetry-android/tree/main/interaction`,children:`UI interactions`}),`: `,_jsx(_components.code,{children:`io.honeycomb.android:honeycomb-opentelemetry-android-interaction`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`custom-instrumentation`,children:`Custom Instrumentation`}),`\n`,_jsx(_components.p,{children:`Automatic instrumentation is a fast way to instrument your code, but you get more insight into your application by adding custom, or manual, instrumentation.`}),`\n`,_jsx(_components.p,{children:`To add your own custom instrumentation, import the OpenTelemetry API in to your application.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.api.OpenTelemetry`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`add-attributes-to-an-active-span`,children:`Add Attributes to an Active Span`}),`\n`,_jsx(_components.p,{children:`You can retrieve the currently active span in a trace and add attributes to it.\nThis lets you add more context to traces and gives you more ways to group or filter traces in your queries:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.api.OpenTelemetry`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.api.trace.Span`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.api.common.Attributes`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` applyDiscountCode(discountCode: String) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` currentSpan = Span.current()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` currentSpan.setAttribute(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"app.cart.discount_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, discountCode)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`In the above example, we add an `,_jsx(_components.code,{children:`app.cart.discount_code`}),` attribute to the current span.\nThis lets us use the `,_jsx(_components.code,{children:`app.cart.discount_code`}),` field in `,_jsx(_components.code,{children:`WHERE`}),` or `,_jsx(_components.code,{children:`GROUP BY`}),` clauses in the Honeycomb query builder.`]}),`\n`,_jsx(Heading,{level:`3`,id:`acquire-a-tracer`,children:`Acquire a Tracer`}),`\n`,_jsx(_components.p,{children:`To create custom spans, you need to acquire a tracer:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.api.OpenTelemetry`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.android.OpenTelemetryRum`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// ...`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` otelRum = app.otelRum `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenTelemetryRum`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` tracer = otelRum.tracerProvider.tracerBuilder(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-application-tracer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).build()`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`create-spans`,children:`Create Spans`}),`\n`,_jsx(_components.p,{children:`Create custom spans to get a clear view of the critical parts in your application.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.api.OpenTelemetry`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.api.common.Attributes`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.android.OpenTelemetryRum`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// ...`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` otelRum = app.otelRum `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenTelemetryRum`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` tracer = otelRum.tracerProvider.tracerBuilder(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-application-tracer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).build()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` generateNewLevel() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` span = tracer.spanBuilder(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"newLevel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).startSpan()`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // do some work`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` span.end()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`custom-span-processing`,children:`Custom Span Processing`}),`\n`,_jsx(_components.p,{children:`Span processors provide hooks for when a span starts and when it ends.\nThis lets you mutate spans after they have been created by automatic or manual instrumentation.`}),`\n`,_jsx(_components.p,{children:`Here’s a basic example of a span processor that adds an attribute to spans when they start:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`23`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`23`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.context.Context`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.sdk.trace.ReadWriteSpan`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.sdk.trace.ReadableSpan`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` io.opentelemetry.sdk.trace.SpanProcessor`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`class`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BasicSpanProcessor : SpanProcessor {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` override`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` onStart(`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` parentContext: Context,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` span: ReadWriteSpan,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ) {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` span.setAttribute(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"app.metadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"extra metadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` override`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` isStartRequired(): Boolean {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` override`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` onEnd(span: ReadableSpan) {}`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` override`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fun`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` isEndRequired(): Boolean {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` false`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Add the span processor as part of your SDK configuration to use it:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` options = HoneycombOptions.builder(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setApiKey(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-API-KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceName(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-SERVICE-NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setSpanProcessor(BasicSpanProcessor())`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setServiceVersion(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.0.1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .setDebug(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .build()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// ...`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`manual-context-propagation`,children:`Manual Context Propagation`}),`\n`,_jsx(_components.p,{children:`Kotlin Coroutines may operate across multiple threads, and do not automatically inherit the correct OpenTelemetry context.`}),`\n`,_jsxs(_components.p,{children:[`Instead, context must be propagated manually with the `,_jsx(_components.a,{href:`https://github.com/open-telemetry/opentelemetry-java/tree/main/extensions/kotlin`,children:`OpenTelemetry Kotlin Extensions`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`dependencies {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` implementation(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"io.opentelemetry:opentelemetry-extension-kotlin:1.47.0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Once these are installed, replace any `,_jsx(_components.code,{children:`launch`}),` calls with`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`launch(Span.current().asContextElement()) {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(_components.p,{children:[`To explore common issues when sending data, visit `,_jsx(_components.a,{href:`/troubleshoot/common-issues/sending-data/#opentelemetry-sdks-and-honeycomb-distributions`,children:`Common Issues with Sending Data in Honeycomb`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{},"config":{},"pageMetadata":{"title":"Send Android Data to Honeycomb","description":"Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.","sidebarTitle":"Android","href":"/send-data/android"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before You Begin","slug":"before-you-begin","depth":2,"children":[{"title":"Get Your Honeycomb API Key","slug":"get-your-honeycomb-api-key","depth":3,"children":[]},{"title":"Install the Honeycomb Android SDK","slug":"install-the-honeycomb-android-sdk","depth":3,"children":[]}]},{"title":"Configuration","slug":"configuration","depth":2,"children":[{"title":"Sending to OpenTelemetry Collector","slug":"sending-to-opentelemetry-collector","depth":3,"children":[]},{"title":"Sending to Honeycomb","slug":"sending-to-honeycomb","depth":3,"children":[]},{"title":"Add Resource Attributes","slug":"add-resource-attributes","depth":3,"children":[]},{"title":"Enable Sampling","slug":"enable-sampling","depth":3,"children":[]}]},{"title":"Add Automatic Instrumentation","slug":"add-automatic-instrumentation","depth":2,"children":[]},{"title":"Custom Instrumentation","slug":"custom-instrumentation","depth":2,"children":[{"title":"Add Attributes to an Active Span","slug":"add-attributes-to-an-active-span","depth":3,"children":[]},{"title":"Acquire a Tracer","slug":"acquire-a-tracer","depth":3,"children":[]},{"title":"Create Spans","slug":"create-spans","depth":3,"children":[]}]},{"title":"Custom Span Processing","slug":"custom-span-processing","depth":2,"children":[]},{"title":"Manual Context Propagation","slug":"manual-context-propagation","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/honeycomb/b94dfbf0ae869e30/_assets/scripts/kapa.js","/_mintlify/custom/honeycomb/0eb253641253d1ce/main.js","/_mintlify/custom/honeycomb/a0f1d373bf4aece9/tracing.js"],"subdomain":"honeycomb","siteName":"Honeycomb Docs","title":"Send Android Data to Honeycomb - Honeycomb Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-11T06:51:32.002Z","originalFileLocation":"send-data/android.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Honeycomb Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send Android Data to Honeycomb - Honeycomb Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Honeycomb Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.honeycomb.io/send-data/android\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://honeycomb.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Send+Android+Data+to+Honeycomb\u0026amp;description=Instrument+your+Android+application+with+the+Honeycomb+OpenTelemetry+Android+SDK+and+send+telemetry+to+Honeycomb+to+monitor+real+device+performance.\u0026amp;theme=7a2953e59b04d0249f8de909\u0026amp;signature=037eebb5b0243a028fbcd50127ad1465d3262e4efaa77dfa61c53635d6598fe9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Send Android Data to Honeycomb - Honeycomb Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://honeycomb.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Send+Android+Data+to+Honeycomb\u0026amp;description=Instrument+your+Android+application+with+the+Honeycomb+OpenTelemetry+Android+SDK+and+send+telemetry+to+Honeycomb+to+monitor+real+device+performance.\u0026amp;theme=7a2953e59b04d0249f8de909\u0026amp;signature=037eebb5b0243a028fbcd50127ad1465d3262e4efaa77dfa61c53635d6598fe9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/honeycomb/7YUY9epdPvOVWjv6/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Honeycomb Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0298ec\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.honeycomb.io/send-data/android\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/send-data/android.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.honeycomb.io/#organization\",\"name\":\"Honeycomb Docs\",\"url\":\"https://docs.honeycomb.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/honeycomb/TYbxiKcJ1fL3Sm5n/_assets/logos/light.svg?fit=max\u0026auto=format\u0026n=TYbxiKcJ1fL3Sm5n\u0026q=85\u0026s=27a1eaed720bce94471b9408761a57a5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.honeycomb.io#website\",\"name\":\"Honeycomb Docs\",\"url\":\"https://docs.honeycomb.io\",\"publisher\":{\"@id\":\"https://docs.honeycomb.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.honeycomb.io/send-data/android#webpage\",\"url\":\"https://docs.honeycomb.io/send-data/android\",\"name\":\"Send Android Data to Honeycomb\",\"description\":\"Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.\",\"dateModified\":\"2026-03-11T06:51:32.002Z\",\"isPartOf\":{\"@id\":\"https://docs.honeycomb.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.honeycomb.io/send-data/android#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.honeycomb.io/send-data/android#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Instrument Applications\",\"item\":\"https://docs.honeycomb.io/send-data/opentelemetry\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web and Mobile\",\"item\":\"https://docs.honeycomb.io/send-data/javascript-browser/symbolicate\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Send Android Data to Honeycomb\",\"item\":\"https://docs.honeycomb.io/send-data/android\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.honeycomb.io/send-data/android#article\",\"headline\":\"Send Android Data to Honeycomb\",\"name\":\"Send Android Data to Honeycomb\",\"description\":\"Instrument your Android application with the Honeycomb OpenTelemetry Android SDK and send telemetry to Honeycomb to monitor real device performance.\",\"url\":\"https://docs.honeycomb.io/send-data/android\",\"mainEntityOfPage\":{\"@id\":\"https://docs.honeycomb.io/send-data/android#webpage\"},\"dateModified\":\"2026-03-11T06:51:32.002Z\",\"publisher\":{\"@id\":\"https://docs.honeycomb.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.honeycomb.io#website\"}}]}\u003c/script>","agentPointerHref":"/send-data/android.md","siteName":"Honeycomb Docs","nav":{"global":{"anchors":[{"anchor":"Docs Home","icon":"home","href":"/"},{"anchor":"Blog","icon":"bullhorn","href":"https://www.honeycomb.io/blog"},{"anchor":"Honeycomb Academy","icon":"book","href":"https://academy.honeycomb.io/"}]},"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started"}]},{"tab":"Send Data","pages":[{"title":"Send Data to Honeycomb: Overview","sidebarTitle":"Overview","icon":"location-pin","mode":"wide","href":"/send-data"},{"group":"Send Data with AI","public":true,"expanded":true,"pages":[{"title":"Send Data with AI Agent","sidebarTitle":"Send Data with AI Agent","href":"/send-data/ai"}]},{"group":"Instrument Applications","public":true,"expanded":true,"pages":[{"title":"Send Data from Applications","sidebarTitle":"Overview","href":"/send-data/opentelemetry"},{"group":"Backend","public":true,"pages":[{"group":"Node.js","public":true,"root":{"title":"Send Data to Honeycomb with Node.js","sidebarTitle":"Node.js","mode":"wide","href":"/send-data/javascript-nodejs"},"pages":[{"title":"Send Data with the OpenTelemetry JavaScript SDK","sidebarTitle":"OpenTelemetry for JavaScript SDK","href":"/send-data/javascript-nodejs/opentelemetry-sdk"},{"title":"Send Logs with Libhoney for JavaScript","sidebarTitle":"Libhoney for JavaScript","href":"/send-data/javascript-nodejs/libhoney"}]},{"group":"Python","public":true,"root":{"title":"Send Data to Honeycomb with Python","sidebarTitle":"Python","mode":"wide","href":"/send-data/python"},"pages":[{"title":"Send Data with the OpenTelemetry Python SDK","sidebarTitle":"OpenTelemetry for Python SDK","href":"/send-data/python/opentelemetry-sdk"},{"title":"Send Logs with Libhoney for Python","sidebarTitle":"Libhoney for Python","href":"/send-data/python/libhoney"}]},{"group":"Go","public":true,"root":{"title":"Send Data to Honeycomb with Go","sidebarTitle":"Go","mode":"wide","href":"/send-data/go"},"pages":[{"title":"Send Data with the OpenTelemetry Go SDK","sidebarTitle":"OpenTelemetry for Go SDK","href":"/send-data/go/opentelemetry-sdk"},{"title":"Send Logs with Libhoney for Go","sidebarTitle":"Libhoney for Go","href":"/send-data/go/libhoney"}]},{"group":"Java","public":true,"root":{"title":"Send Data to Honeycomb with Java","sidebarTitle":"Java","mode":"wide","href":"/send-data/java"},"pages":[{"title":"Send Data with the OpenTelemetry Java Agent","sidebarTitle":"OpenTelemetry Java Agent","href":"/send-data/java/opentelemetry-agent"},{"title":"Send Logs with Libhoney for Java","sidebarTitle":"Libhoney for Java","href":"/send-data/java/libhoney"}]},{"group":"Ruby","public":true,"root":{"title":"Send Data to Honeycomb with Ruby","sidebarTitle":"Ruby","mode":"wide","href":"/send-data/ruby"},"pages":[{"title":"Send Data with the OpenTelemetry Ruby SDK","sidebarTitle":"OpenTelemetry for Ruby SDK","href":"/send-data/ruby/opentelemetry-sdk"},{"title":"Send Logs with Libhoney for Ruby","sidebarTitle":"Libhoney for Ruby","href":"/send-data/ruby/libhoney"}]},{"title":"Send Data with the OpenTelemetry .NET SDK","sidebarTitle":".NET","href":"/send-data/dotnet"}]},{"group":"Web and Mobile","public":true,"pages":[{"group":"Browser JavaScript","public":true,"root":{"title":"Instrument Frontend Web Applications with OpenTelemetry","sidebarTitle":"Web JavaScript","href":"/send-data/javascript-browser"},"pages":[{"title":"Symbolicate JavaScript Stack Traces with the OpenTelemetry Collector","description":"Use the source map processor in the OpenTelemetry Collector to resolve minified JavaScript stack traces into readable symbols for easier debugging.","sidebarTitle":"Symbolicate Stack Traces","href":"/send-data/javascript-browser/symbolicate"}]},{"group":"Android","public":true,"root":{"title":"Send Android Data to Honeycomb","sidebarTitle":"Android","href":"/send-data/android"},"pages":[{"title":"Attributes in the Honeycomb OpenTelemetry Android SDK","description":"Reference the standard attributes the Honeycomb OpenTelemetry Android SDK automatically adds to spans, covering environment, runtime, device, and SDK version data.","sidebarTitle":"Available Attributes","href":"/send-data/android/attributes"},{"title":"Symbolicate Android Stack Traces with the OpenTelemetry Collector","description":"Use the Proguard processor in the OpenTelemetry Collector to replace obfuscated names in Android stack traces with readable symbols for easier debugging.","sidebarTitle":"Symbolicate Stack Traces","href":"/send-data/android/symbolicate"}]},{"group":"iOS","public":true,"root":{"title":"Send iOS Data to Honeycomb with Swift","sidebarTitle":"Swift","href":"/send-data/ios"},"pages":[{"title":"Attributes in the Honeycomb OpenTelemetry Swift SDK","sidebarTitle":"Available Attributes","href":"/send-data/ios/attributes"},{"title":"Symbolicate iOS Stack Traces with the OpenTelemetry Collector","sidebarTitle":"Symbolicate Stack Traces","href":"/send-data/ios/symbolicate"}]},{"title":"Instrument React Native Applications with OpenTelemetry","sidebarTitle":"React Native","href":"/send-data/react-native"}]},{"title":"Add Custom Instrumentation","sidebarTitle":"Customize Instrumentation","href":"/send-data/standardize/add-custom-instrumentation"},{"title":"Add Context","sidebarTitle":"Add Context","href":"/send-data/standardize/add-context"},{"title":"Send Application Metrics to Honeycomb","sidebarTitle":"Send Application Metrics","href":"/send-data/metrics/application"},{"group":"Send Logs with SDKs","public":true,"root":{"title":"Send Logs from OpenTelemetry SDKs","sidebarTitle":"SDKs","href":"/send-data/logs/opentelemetry/sdk"},"pages":[{"title":"Example: Send OpenTelemetry Logs with the OpenTelemetry .NET SDK","sidebarTitle":"Example: SDK Logs + .NET","href":"/send-data/logs/opentelemetry/sdk/dotnet"},{"title":"Example: Send OpenTelemetry Logs with the OpenTelemetry Python SDK","sidebarTitle":"Example: SDK Logs + Python","href":"/send-data/logs/opentelemetry/sdk/python"},{"title":"Example: Send OpenTelemetry Logs with the OpenTelemetry Java SDK","sidebarTitle":"Example: SDK Logs + Java","href":"/send-data/logs/opentelemetry/sdk/java"},{"title":"Example: Send OpenTelemetry Logs with the OpenTelemetry JavaScript SDK","sidebarTitle":"Example: SDK Logs + JavaScript","href":"/send-data/logs/opentelemetry/sdk/javascript"},{"title":"Example: Send OpenTelemetry Logs with the OpenTelemetry Go SDK","sidebarTitle":"Example: SDK Logs + Go","href":"/send-data/logs/opentelemetry/sdk/go"}]}]},{"group":"Instrument Infrastructure","public":true,"expanded":true,"pages":[{"group":"Kubernetes","public":true,"root":{"title":"Send Data from Kubernetes","sidebarTitle":"Kubernetes","href":"/send-data/kubernetes"},"pages":[{"title":"Create a Telemetry Pipeline","sidebarTitle":"Create Telemetry Pipeline","tag":"Ent+","href":"/send-data/kubernetes/opentelemetry/create-telemetry-pipeline"},{"title":"Add Automatic Instrumentation (Low Code)","sidebarTitle":"Add Automatic Instrumentation","href":"/send-data/kubernetes/opentelemetry/add-automatic-instrumentation"},{"title":"Send Data from Instrumented Code to Collectors","href":"/send-data/kubernetes/opentelemetry/collect-instrumented-code"},{"title":"OpenTelemetry's Kubernetes Components","href":"/send-data/kubernetes/opentelemetry/components"},{"title":"Send Events with the Kubernetes Objects Receiver","sidebarTitle":"Send Events with Kubernetes Objects Receiver","href":"/send-data/kubernetes/send-events-objects-receiver"},{"title":"Send Logs with OpenTelemetry's Filelog Receiver","sidebarTitle":"Send Logs with OpenTelemetry's Filelog Receiver","href":"/send-data/kubernetes/send-logs-filelog-receiver"}]},{"group":"AWS","public":true,"root":{"title":"Send Data from Amazon Web Services (AWS)","sidebarTitle":"AWS","href":"/send-data/aws"},"pages":[{"title":"How Honeycomb's AWS Integrations Work","sidebarTitle":"How Integrations Work","href":"/send-data/aws/how-aws-integrations-work"},{"title":"Send Data from AWS via AWS CloudFormation","sidebarTitle":"AWS + AWS CloudFormation","href":"/send-data/aws/aws-cloudformation"},{"title":"Send Data from AWS via HashiCorp Terraform","sidebarTitle":"AWS + HashiCorp Terraform","href":"/send-data/aws/hashicorp-terraform"},{"group":"AWS Lambda","public":true,"root":{"title":"Send Data from AWS Lambda","sidebarTitle":"AWS Lambda","mode":"wide","href":"/send-data/aws/lambda"},"pages":[{"title":"Export Data with AWS Lambda Layer + OpenTelemetry","sidebarTitle":"AWS Lambda + OpenTelemetry","href":"/send-data/aws/lambda/opentelemetry"},{"title":"Export Data with AWS Lambda + Honeycomb Lambda Extension","sidebarTitle":"Honeycomb Lambda Extension","href":"/send-data/aws/lambda/honeycomb-lambda-extension"}]},{"title":"Send Metrics from AWS CloudWatch","sidebarTitle":"AWS CloudWatch","href":"/integrations/metrics/aws-cloudwatch"},{"title":"Connect to Honeycomb with AWS PrivateLink","sidebarTitle":"AWS PrivateLink","tag":"Ent","href":"/integrations/aws-privatelink"}]},{"title":"Collect Telemetry from Azure","sidebarTitle":"Azure","href":"/send-data/azure"},{"title":"Collect Telemetry from Google Cloud Platform","sidebarTitle":"GCP","href":"/send-data/gcp"},{"group":"HashiCorp","public":true,"pages":[{"title":"Send Metrics from HashiCorp Consul","sidebarTitle":"HashiCorp Consul","href":"/integrations/metrics/hashicorp-consul"},{"title":"Send Metrics from HashiCorp Nomad","sidebarTitle":"HashiCorp Nomad","href":"/integrations/metrics/hashicorp-nomad"},{"title":"Send Metrics from HashiCorp Vault","sidebarTitle":"HashiCorp Vault","href":"/integrations/metrics/hashicorp-vault"}]},{"title":"Send Data from Service Meshes and API Gateways","sidebarTitle":"Service Meshes \u0026 API Gateways","href":"/integrations/traces/service-meshes-api-gateways"},{"group":"Log Sources","public":true,"pages":[{"title":"Send JSON Logs","sidebarTitle":"JSON","href":"/send-data/logs/structured/json"},{"title":"Send NGINX Logs","sidebarTitle":"NGINX","href":"/send-data/logs/structured/nginx"},{"title":"Send MySQL Logs","sidebarTitle":"MySQL","href":"/send-data/logs/structured/mysql"},{"title":"Send PostgreSQL Logs","sidebarTitle":"PostgreSQL","href":"/send-data/logs/structured/postgresql"},{"title":"Send Other Webserver Logs","sidebarTitle":"Other Webserver","href":"/send-data/logs/structured/other-webserver"},{"title":"Send Structured Logs with Honeytail","sidebarTitle":"Other","href":"/send-data/logs/structured/honeytail"},{"title":"Send Logs with the OpenTelemetry Collector","sidebarTitle":"Logs with the OpenTelemetry Collector","href":"/send-data/logs/unstructured/collector"},{"title":"Send Unstructured Logs with Honeytail + Custom Regex","sidebarTitle":"Logs with Honeytail + Regex","href":"/send-data/logs/unstructured/honeytail-regex"},{"group":"Log Shippers","public":true,"pages":[{"title":"Stream Logs from Fastly","sidebarTitle":"Fastly","href":"/integrations/logs/fastly"},{"title":"Forward Fluentd Data","sidebarTitle":"Fluentd","href":"/integrations/logs/fluentd"},{"title":"Filter and Send Logstash Data","sidebarTitle":"Logstash","href":"/integrations/logs/logstash"}]}]},{"group":"Metrics Sources","public":true,"root":{"title":"Send Metrics to Honeycomb","sidebarTitle":"Metrics","href":"/send-data/metrics"},"pages":[{"title":"Send System Metrics with the OpenTelemetry Collector","sidebarTitle":"Host System Metrics","href":"/send-data/metrics/system"},{"title":"Send Metrics from Prometheus Clients","sidebarTitle":"Prometheus","href":"/integrations/metrics/prometheus"}]}]},{"group":"CI/CD Observability","public":true,"pages":[{"title":"Generate Traces from Build Pipelines","sidebarTitle":"Build Pipelines","href":"/integrations/build-pipelines"},{"title":"Gate Deployments with GitHub Actions Deployment Protection Rules","sidebarTitle":"GitHub Deployment Protection Rules","tag":"Beta","href":"/integrations/github-deployment-protection-rules"}]},{"group":"Manage Pipelines","public":true,"pages":[{"group":"OpenTelemetry Collector","public":true,"root":{"title":"Send Data with the OpenTelemetry Collector","sidebarTitle":"OpenTelemetry Collector","href":"/send-data/opentelemetry/collector"},"pages":[{"title":"Handle Sensitive Information with the OpenTelemetry Collector","sidebarTitle":"Handle Sensitive Information","href":"/send-data/opentelemetry/collector/handle-sensitive-information"},{"title":"Group Logs by Pattern with the OpenTelemetry Drain Processor","sidebarTitle":"Group Logs by Pattern","href":"/send-data/opentelemetry/collector/group-logs-by-pattern"},{"title":"Migrate Telemetry Schemas with the OpenTelemetry Schema Processor","sidebarTitle":"Migrate Telemetry Schemas","href":"/send-data/opentelemetry/collector/migrate-telemetry-schemas"}]},{"group":"Honeycomb Telemetry Pipeline","public":true,"root":{"title":"Honeycomb Telemetry Pipeline","sidebarTitle":"Honeycomb Telemetry Pipeline","tag":"Ent+","href":"/send-data/telemetry-pipeline"},"pages":[{"group":"Pipeline Manager","public":true,"root":{"title":"Pipeline Manager","sidebarTitle":"Pipeline Manager","tag":"Ent+","href":"/send-data/telemetry-pipeline/manager"},"pages":[{"title":"Install Pipeline Manager","tag":"Ent+","href":"/send-data/telemetry-pipeline/install"},{"group":"Sources","public":true,"root":{"title":"Pipeline Manager Sources","sidebarTitle":"Sources","tag":"Ent+","mode":"wide","href":"/send-data/telemetry-pipeline/sources"},"pages":[{"title":"Active Directory","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/active-directory"},{"title":"Aerospike","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/aerospike"},{"title":"Apache Combined","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/apache-combined"},{"title":"Apache Common","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/apache-common"},{"title":"Apache HTTP","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/apache-http"},{"title":"Apache Spark","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/apache-spark"},{"title":"AWS Cloudwatch","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/aws-cloudwatch"},{"title":"AWS S3 Event","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/aws-s3-event"},{"title":"AWS S3 Rehydration","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/aws-s3-rehydration"},{"title":"Azure Blob Storage","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/azure-blob-storage"},{"title":"Azure Blob Rehydration","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/azure-blob-rehydration"},{"title":"Azure Event Hub","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/azure-event-hub"},{"title":"Cassandra","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/cassandra"},{"title":"Cisco ASA","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/cisco-asa"},{"title":"Cisco Catalyst","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/cisco-catalyst"},{"title":"Cisco Meraki","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/cisco-meraki"},{"title":"Cloudflare","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/cloudflare"},{"title":"CockroachDB","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/cockroachdb"},{"title":"Common Event Format","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/common-event-format"},{"title":"Couchbase","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/couchbase"},{"title":"CouchDB","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/couchdb"},{"title":"Crowdstrike FDR","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/crowdstrike-fdr"},{"title":"CSV","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/csv"},{"title":"Custom","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/custom"},{"title":"Elasticsearch","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/elasticsearch"},{"title":"F5 BIG-IP","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/f5-big-ip"},{"title":"File","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/filelog"},{"title":"Filestats","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/filestats"},{"title":"Fluent Forward","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/fluent-forward"},{"title":"Google Cloud PubSub","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/google-cloud-pubsub"},{"title":"Google Cloud Storage Rehydration","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/google-cloud-storage-rehydration"},{"title":"Hadoop","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/hadoop"},{"title":"HAProxy","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/haproxy"},{"title":"HBase","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/hbase"},{"title":"Honeycomb Telemetry Pipeline Agent","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/honeycomb-telemetry-pipeline-agent"},{"title":"Honeycomb Telemetry Pipeline Gateway","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/honeycomb-telemetry-pipeline-gateway"},{"title":"Honeycomb Telemetry Pipeline","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/honeycomb-telemetry-pipeline"},{"title":"Host Metrics","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/host-metrics"},{"title":"HTTP Check","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/http-check"},{"title":"HTTP Log","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/http-log"},{"title":"JBoss","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/jboss"},{"title":"Journald","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/journald"},{"title":"JVM","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/jvm"},{"title":"Kafka Cluster","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/kafka-cluster"},{"title":"Kafka Node","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/kafka-node"},{"title":"Kafka OTLP","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/kafka-otlp"},{"title":"Kubernetes Cluster Events","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/kubernetes-cluster-events"},{"title":"Kubernetes Cluster Metrics","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/kubernetes-cluster-metrics"},{"title":"Kubernetes Container Logs","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/kubernetes-container-logs"},{"title":"Kubernetes Kubelet Metrics","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/kubernetes-kubelet-metrics"},{"title":"Kubernetes Prometheus Node","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/kubernetes-prometheus-metrics"},{"title":"Logstash","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/logstash"},{"title":"macOS","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/macos"},{"title":"macOS Unified Logging","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/macos-unified-logging"},{"title":"Microsoft 365","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/microsoft-365"},{"title":"Microsoft IIS","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/microsoft-iis"},{"title":"Microsoft SQL Server","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/microsoft-sql-server"},{"title":"MongoDB","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/mongodb"},{"title":"MongoDB Atlas","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/mongodb-atlas"},{"title":"MySQL","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/mysql"},{"title":"NetFlow","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/netflow"},{"title":"Nginx","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/nginx"},{"title":"Okta","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/okta"},{"title":"OpenTelemetry (OTLP)","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/opentelemetry"},{"title":"Oracle Database","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/oracle-database"},{"title":"Packet Capture","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/packet-capture"},{"title":"PgBouncer","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/pgbouncer"},{"title":"PostgreSQL","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/postgresql"},{"title":"Prometheus","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/prometheus"},{"title":"RabbitMQ","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/rabbitmq"},{"title":"Redis","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/redis"},{"title":"SAP HANA","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/sap-hana"},{"title":"SAP NetWeaver","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/sap-netweaver"},{"title":"Solr","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/solr"},{"title":"Splunk (HEC)","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/splunk-hec"},{"title":"Splunk (TCP)","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/splunk-tcp"},{"title":"Splunk Search API","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/splunk-search-api"},{"title":"SQL Query","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/sql-query"},{"title":"StatsD","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/statsd"},{"title":"Syslog","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/syslog"},{"title":"TCP","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/tcp"},{"title":"Telemetry Generator","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/telemetry-generator"},{"title":"Tomcat","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/tomcat"},{"title":"Ubiquiti","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/ubiquiti"},{"title":"UDP","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/udp"},{"title":"VMware ESXi","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/vmware-esxi"},{"title":"VMware vCenter","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/vmware-vcenter"},{"title":"W3C","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/w3c"},{"title":"WildFly","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/wildfly"},{"title":"Windows DHCP","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/windows-dhcp"},{"title":"Windows Events","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/windows-events"},{"title":"Windows Event Trace (ETW)","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/windows-event-trace-etw"},{"title":"ZooKeeper","tag":"Ent+","href":"/send-data/telemetry-pipeline/sources/zookeeper"}]},{"group":"Destinations","public":true,"root":{"title":"Pipeline Manager Destinations","sidebarTitle":"Destinations","tag":"Ent+","mode":"wide","href":"/send-data/telemetry-pipeline/destinations"},"pages":[{"title":"AWS S3","tag":"Ent+","href":"/send-data/telemetry-pipeline/destinations/aws-s3"},{"title":"Azure Blob Storage","tag":"Ent+","href":"/send-data/telemetry-pipeline/destinations/azure-blob"},{"title":"Honeycomb","tag":"Ent+","href":"/send-data/telemetry-pipeline/destinations/honeycomb"},{"title":"Honeycomb","tag":"Ent+","href":"/send-data/telemetry-pipeline/destinations/honeycomb-enhance-indexing-s3"},{"title":"Honeycomb Refinery","tag":"Ent+","href":"/send-data/telemetry-pipeline/destinations/honeycomb-refinery"},{"title":"Bindplane Gateway","tag":"Ent+","href":"/send-data/telemetry-pipeline/destinations/bindplane-gateway"}]},{"group":"Processors","public":true,"root":{"title":"Pipeline Manager Processors","sidebarTitle":"Processors","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors"},"pages":[{"title":"Add Fields","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/add-fields"},{"title":"Batch","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/batch"},{"title":"Coalesce","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/coalesce"},{"title":"Compute Metric Statistics","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/compute-metric-stats"},{"title":"Concat","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/concat"},{"title":"Copy Field","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/copy-field"},{"title":"Count Telemetry","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/count-telemetry"},{"title":"Custom","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/custom"},{"title":"Deduplicate Logs","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/deduplicate-logs"},{"title":"Delete Fields","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/delete-fields"},{"title":"Delete Empty Values","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/delete-empty-values"},{"title":"Resource Detection","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/detect-resource"},{"title":"Extract Metric","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/extract-metric"},{"title":"Filter by Condition","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/filter-by-condition"},{"title":"Filter by Field","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/filter-by-field"},{"title":"Filter HTTP Status","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/filter-by-http-status"},{"title":"Filter Metric Name","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/filter-by-metric-name"},{"title":"Filter by Regex","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/filter-by-regex"},{"title":"Filter Severity","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/filter-by-severity"},{"title":"Google SecOps Standardization","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/google-secops-standardization"},{"title":"Group by Attributes","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/group-by-attributes"},{"title":"Log Sampling","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/log-sampling"},{"title":"Lookup Fields","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/lookup-fields"},{"title":"Marshal","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/marshal"},{"title":"Mask Sensitive Data","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/mask-sensitive-data"},{"title":"Move Field","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/move-field"},{"title":"Parse CSV","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/parse-csv"},{"title":"Parse JSON","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/parse-json"},{"title":"Parse Key Value","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/parse-key-value"},{"title":"Parse Severity","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/parse-severity"},{"title":"Parse Timestamp","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/parse-timestamp"},{"title":"Parse with Regex","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/parse-regex"},{"title":"Parse XML","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/parse-xml"},{"title":"Redact Sensitive Data","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/redact-sensitive-data"},{"title":"Rename Field","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/rename-field"},{"title":"Rename Metric","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/rename-metric"},{"title":"Resource Detection","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/resource-detection"},{"title":"Rewrite Timestamp","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/rewrite-timestamp"},{"title":"Split","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/split"},{"title":"Transform","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/transform"},{"title":"Unroll","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/unroll"}]},{"title":"Processor Impact on Agent Performance","tag":"Ent+","href":"/send-data/telemetry-pipeline/processors/performance"}]},{"group":"Enhance with Archive","public":true,"root":{"title":"Enhance with Archive","sidebarTitle":"Enhance with Archive","tag":"Ent+","href":"/send-data/telemetry-pipeline/enhance"},"pages":[{"title":"Set Up an Amazon S3 Archive with Terraform","sidebarTitle":"Terraform Setup","tag":"Ent+","href":"/send-data/telemetry-pipeline/enhance/terraform-setup"},{"title":"Set Up an Amazon S3 Archive with AWS Console","sidebarTitle":"AWS Console Setup","tag":"Ent+","href":"/send-data/telemetry-pipeline/enhance/aws-console-setup"},{"title":"Collector Export to Amazon S3 Archive","sidebarTitle":"Configure OTel Collector Export","tag":"Ent+","href":"/send-data/telemetry-pipeline/enhance/collector-export-s3"}]}]}]},{"group":"Shape Data","public":true,"expanded":true,"pages":[{"title":"Map Your Data","sidebarTitle":"Map Data","href":"/send-data/standardize/map-data"},{"title":"Transform Your Data","sidebarTitle":"Transform Data","href":"/send-data/standardize/transform-data"},{"title":"Calculated Field Reference","url":"https://docs.honeycomb.io/reference/calculated-field-expression","href":"/reference/calculated-field-reference"}]},{"group":"Control Data Volume","public":true,"expanded":true,"pages":[{"group":"Sample","public":true,"pages":[{"title":"Sampling","sidebarTitle":"About Sampling","href":"/manage-data-volume/sample"},{"title":"When to Sample","sidebarTitle":"When to Sample","href":"/manage-data-volume/sample/guidelines"},{"title":"Avoid Sampling Gen AI Telemetry","sidebarTitle":"Gen AI Telemetry","href":"/manage-data-volume/sample/gen-ai"},{"title":"Sampled Data in Honeycomb","sidebarTitle":"Sampled Data in Honeycomb","href":"/manage-data-volume/sample/sampled-data-in-honeycomb"},{"group":"Honeycomb Refinery","root":{"title":"Honeycomb Refinery","sidebarTitle":"Honeycomb Refinery","href":"/manage-data-volume/sample/honeycomb-refinery"},"pages":[{"title":"Set Up Honeycomb Refinery","sidebarTitle":"Set Up","href":"/manage-data-volume/sample/honeycomb-refinery/set-up"},{"title":"Configure Honeycomb Refinery","sidebarTitle":"Configure","href":"/manage-data-volume/sample/honeycomb-refinery/configure"},{"title":"Specify Sampling Methods in Honeycomb Refinery","sidebarTitle":"Specify Sampling Methods","href":"/manage-data-volume/sample/honeycomb-refinery/sampling-methods"},{"title":"Scale and Size Honeycomb Refinery","sidebarTitle":"Scale \u0026 Size","href":"/manage-data-volume/sample/honeycomb-refinery/scale-size"},{"title":"Diagnose Refinery Performance Through Trace Patterns","sidebarTitle":"Diagnose Performance Through Trace Patterns","href":"/manage-data-volume/sample/honeycomb-refinery/diagnose"},{"title":"Monitor Honeycomb Refinery","sidebarTitle":"Monitor","href":"/manage-data-volume/sample/honeycomb-refinery/monitor"}]}]},{"group":"Filter","public":true,"pages":[{"title":"Filter Processor for OpenTelemetry Collector","sidebarTitle":"Filter Processor (OTel Collector)","href":"/manage-data-volume/filter/filter-processor"}]},{"group":"Adjust Metrics Granularity","public":true,"pages":[{"title":"Manage Metrics Events","sidebarTitle":"Manage Metrics Events","href":"/manage-data-volume/adjust-granularity/metrics-events"},{"title":"Metrics-to-Event Mapping","sidebarTitle":"Metric-to-Event Mapping","href":"/manage-data-volume/adjust-granularity/metrics-event-mapping"}]}]},{"group":"Use Cases","public":true,"expanded":true,"pages":[{"group":"Correlate Web and Mobile Data with Embrace","pages":[{"title":"Connect Honeycomb and Embrace","sidebarTitle":"Overview","tag":"Partner","href":"/integrations/embrace/overview"},{"title":"Investigate Backend Latency","tag":"Partner","href":"/integrations/embrace/use-cases/investigate-backend-latency"},{"title":"Diagnose Mobile ANRs and Hangs","tag":"Partner","href":"/integrations/embrace/use-cases/diagnose-mobile-anrs"},{"title":"Investigate with Embrace and Honeycomb MCP","tag":"Partner","href":"/integrations/embrace/use-cases/investigate-with-mcp"}]},{"title":"Monitor Anthropic Usage \u0026 Cost","href":"/send-data/use-cases/anthropic-usage-monitoring"},{"title":"Send Claude Platform Traces to Honeycomb","sidebarTitle":"Claude Platform Traces","tag":"Beta","href":"/send-data/use-cases/claude-platform"},{"title":"Instrumenting AI Agents","sidebarTitle":"Instrument AI Agents","playground":"none","href":"/send-data/use-cases/agents"},{"group":"Monitor LLMs","pages":[{"title":"Monitor LLM-Powered Applications","sidebarTitle":"Overview","href":"/send-data/use-cases/llm"},{"title":"Text to JSON Quick Start","href":"/send-data/use-cases/llm/text-to-json-quickstart"}]}]},{"title":"UI Changelog","url":"https://changelog.honeycomb.io/","icon":"clock","href":"/ui-changelog"},{"title":"API Changelog","url":"https://api-changelog.honeycomb.io/","icon":"code","href":"/api-changelog"}]},{"tab":"Investigate","pages":[{"title":"Investigate","href":"/investigate"}]},{"tab":"Notify \u0026 Alert","pages":[{"title":"Notify \u0026 Alert","href":"/notify"}]},{"tab":"Configure","pages":[{"title":"Configure","href":"/configure"}]},{"tab":"Troubleshoot","pages":[{"title":"Troubleshoot","href":"/troubleshoot"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api/introduction"}]}]},"basePath":"","title":"Send Android Data to Honeycomb - Honeycomb Docs","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}