To send data to Honeycomb, you will need to instrument your code or system. To learn more about instrumentation, visit About Instrumentation.
In this section, you will learn how to instrument your code and verify that your data arrives successfully in Honeycomb from your local dev environment. From there, you will be ready to deploy and start observing production!
If your system is instrumented with OpenTelemetry, you can set the OTLP exporter to point to Honeycomb.
If a system is already instrumented with OpenTracing, OpenCensus, Zipkin, or Jaeger, check out our support for converting and exporting your data with the OpenTelemetry Collector.
You can get visibility into in-depth data from your infrastructure by sending its events to Honeycomb. Regardless of your infrastructure, we have probably already identified the best way to capture its data using our integrations, the most popular of which include:
To get the most out of Honeycomb’s features, we recommend instrumenting your code.
We recommend starting with OpenTelemetry for instrumenting any new service. The most direct way to send OpenTelemetry data to Honeycomb is through an SDK.
Honeycomb provides several official OpenTelemetry SDK distributions:
as well as documentation for using the vendor-neutral OpenTelemetry SDKs:
If you are using a language that we do not support via a distribution or documentation, you can manually configure the OTLP exporter in your language’s SDK. To explore a wide variety of instrumentation SDKs, check the OpenTelemetry Registry.
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.
Honeycomb also supports proprietary SDKs called Beelines. Because Beelines pre-date OpenTelemetry and are proprietary, we recommend that current Beeline users migrate to OpenTelemetry and that new Honeycomb users start with OpenTelemetry if possible. To learn more about the differences between Beelines and OpenTelemetry and to explore ways to make them work together, visit Beelines and OpenTelemetry.
Honeycomb has an endpoint that accepts raw JSON events over HTTP. To send events directly as JSON objects, use the Events API.
The format of these events is specific to Honeycomb and is not related to the OpenTelemetry OTLP format.
We also have native SDKs, called Libhoneys, which provide idiomatic methods for sending events to Honeycomb; they do not, however, contain native support for distributed traces or automatic instrumentation.
Libhoneys exist for the following languages:
For other languages, our community has contributed Libhoneys.