Send Data to Honeycomb

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!

Note
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, Zipkin, or Jaeger, check out our support for converting and exporting your data with the OpenTelemetry Collector.

Instrumenting Infrastructure 

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:

Instrumenting Your Code 

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

Instrumenting for the First Time 

When instrumenting a new service, we recommend starting with OpenTelemetry.

OpenTelemetry supports traces, logs, and metrics. The most direct way to send OpenTelemetry data to Honeycomb is through an SDK.

Honeycomb provides documentation for the vendor-neutral OpenTelemetry SDKs:

If you use a language that we do not support via 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.

Structured Logs 

Honeycomb has an endpoint that accepts structured logs as JSON objects over HTTP. To send structured logs directly, use the Events API. The Events API is unrelated to OpenTelemetry or the OTLP format.

To make structured logging with the Events API easier, we have the Libhoney libraries, available for several languages. Libhoney exists for the following languages:

For other languages, see our community contribution repository.