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’ll 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 System  🔗

If a system is already instrumented with OpenTelemetry, OpenCensus, Zipkin, or Jaeger, check out our support for open standards with OpenTelemetry.

Instrument your code  🔗

Custom code—the logic that most directly impacts your business—is often the most interesting code to observe. To get the most out of Honeycomb’s features, we recommend instrumenting your code.

Instrumenting for the First Time  🔗

Honeycomb Beelines and OpenTelemetry are both methods for instrumenting systems in ways that will produce distributed traces. Learn more about choosing between Beelines and OpenTelemetry.

Depending on your choice of languages, a Honeycomb Beeline or an OpenTelemetry instrumentation may be more appropriate for you.

Language Beeline Support OpenTelemetry Support
Go Go Beeline Honeycomb Go Exporter
Ruby Ruby Beeline Proxy through the OpenTelemetry Collector Exporter
Python Python Beeline OpenTelemetry Python Exporter
Java Java Beeline Proxy through the OpenTelemetry Collector Exporter
NodeJS NodeJS Beeline Proxy through the OpenTelemetry Collector Exporter
C# Not available Community Honeycomb OpenTelemetry Exporter

Support for other languages and runtimes (.Net, Rust, C++, Elixir, PHP, and others) is available through one of our many community supported Beelines or by using the OpenTelemetry Collector.

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.

We also have native SDKs, called “LibHoney”, 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 don’t support now? Check out our SDK Spec.

Instrumenting Infrastructure & Ingesting Log files  🔗

While infrastructure usually can’t provide tracing data, its 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.