Honeycomb supports OpenTelemetry, the CNCF open standard for sending tracing and metrics data, in a few different forms. If your application is already instrumented for OpenTelemetry, you can send OTLP data directly to Honeycomb’s endpoint. Read more about instrumenting with OpenTelemetry.
Honeycomb supports receiving telemetry data via OpenTelemetry’s native protocol, OTLP, over gRPC, HTTP/protobuf, and HTTP/JSON. The minimum supported versions of OTLP protobuf definitions are 0.7.0 for traces and metrics.
If a system is already instrumented with OpenTracing, OpenCensus, Zipkin, or Jaeger, you might want to use an OpenTelemetry Collector to export your data to Honeycomb.
If you are instrumenting code for the first time, you can use one of Honeycomb’s OpenTelemetry Distributions.
Honeycomb’s OpenTelemetry Distributions wrap an OpenTelemetry SDK and provide more features in addition to what the SDK already gives you:
Select your application’s language for instructions on instrumenting with OpenTelemetry:
If you are not using an OpenTelemetry Distribution, you can send data to Honeycomb directly over OTLP with an OpenTelemetry SDK or the OpenTelemetry Collector.
In general, any OpenTelemetry integration should carry out these two steps:
x-honeycomb-teamheader with your API key
When using the
OTEL_EXPORTER_OTLP_ENDPOINT environment variable with an SDK and an HTTP exporter, the final path of the endpoint is actually modified by the SDK to represent the specific signal being sent.
For example, when exporting trace data, the endpoint is updated to append
When exporting metrics data, the endpoint is updated to append
The same modification is not necessary for gRPC.
https://api.honeycomb.io, traces are sent to
https://api.honeycomb.io/v1/traces and metrics to
If the desired outcome is to send data to a different endpoint depending on the signal, use
OTEL_EXPORTER_OTLP_<SIGNAL>_ENDPOINT instead of the more generic
When using a signal-specific environment variable, these paths must be appended manually.
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT for traces, appending the endpoint with
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT for metrics, appending the endpoint with
Send both traces and metrics to Honeycomb using this method by setting the following variables:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://api.honeycomb.io/v1/traces export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://api.honeycomb.io/v1/metrics
More details about endpoints and signals can be found in the OpenTelemetry Specification.
Did you find what you were looking for?