Send Data to Honeycomb | Honeycomb

We use cookies or similar technologies to personalize your online experience & tailor marketing to you. Many of our product features require cookies to function properly.

Read our privacy policy I accept cookies from this site

Send Data to Honeycomb

In this section, we walk you through adding an integration, instrumenting your code, and verifying that your data arrives successfully in Honeycomb from your local dev environment. From there, you will be ready to deploy and start observing production!

To learn more about instrumentation, visit the About Instrumentation section of our docs.

In order to have the best experience with Honeycomb, you should have access to run, modify, and deploy source code for at least one app or service.

Pre-Instrumented Systems  🔗

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.

Instrument Your Code  🔗

To get the most out of Honeycomb’s features, we recommend instrumenting your code.

Instrumenting for the First Time  🔗

OpenTelemetry and Honeycomb Beelines are both methods for instrumenting systems in ways that will produce distributed traces.

We generally recommend starting with OpenTelemetry for instrumenting any new service. You can read more about choosing between Beelines and OpenTelemetry.

Honeycomb has two official OpenTelemetry SDK distributions, Java and .NET, which provide the most direct way to send OpenTelemetry data to Honeycomb. If you are using a language that we do not support a distribution for, you can manually configure the OTLP exporter in your language’s SDK. Check the OpenTelemetry Registry for a wide variety of instrumentation SDKs.

Honeycomb supports OpenTelemetry’s native protocol, OTLP, over gRPC and HTTP/protobuf. (HTTP/JSON is not supported yet since it is an experimental format.)

If OpenTelemetry is not an option, Honeycomb also supports Beelines for Go, Ruby, Python, Java, and JavaScript NodeJS. Beelines are older SDKs that pre-date OpenTelemetry.

Low-level SDKs  🔗

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.

There are also community-contributed Libhoneys for other languages. Want to create a Beeline or Libhoney for a language we do not currently support? Check out our SDK Spec.

Instrumenting Infrastructure and Ingesting Log Files  🔗

While infrastructure usually cannot provide tracing data, it is still possible to get rich data into Honeycomb. If you have something in your infrastructure, we have probably already thought about the best way to get events from it into Honeycomb. Check out these integrations, including curling data directly in, tailing a logfile, and Kubernetes support.