README ¶
Honeycomb Instrumentation Examples
The full power of Honeycomb is unlocked by proper instrumentation, especially at the code level. The examples in this repository will help guide you along the way to unlocking this power for yourself by showing you how instrumentation is meant to be done.
Most of the top level directories in this repository correspond to an example which demonstrates instrumentation using Honeycomb and sample queries to help you along. The current examples are:
Examples | Meant to Teach | Description |
---|---|---|
Example Greeting Service |
Instrumentation, tracing across services | A ridiculously over-engineered microservice application implemented in several languages. The services are instrumented to send telemetry to Honeycomb, with examples of Beelines and OpenTelemetry SDKs. |
buildevents |
Manual tracing | A small binary to help create traces out of Travis-CI builds, visualizing each step and command as spans within the trace. |
beeline-go |
Go Beeline | Examples of using the Beeline Go SDK |
libhoney-go |
libhoney-go | Examples of using the low-level Libhoney Go SDK |
golang-wiki-tracing |
Manual Tracing with Go | A simple wiki (Go) manually instrumented for tracing. |
honeytail |
Honeytail (flat log files) | Using Honeytail's keyval parser to ingest a structured log file. |
honeytail-haproxy |
Honeytail (flat log files) | Using Honeytail's nginx parser to ingest HAProxy access logs from an instance acting as a reverse proxy. |
honeytail-mysql |
Honeytail (flat log files) | Using Honeytail's mysql parser to ingest MySQL slow query logs |
honeytail-nginx |
Honeytail (flat log files) | Using Honeytail's nginx parser to ingest Nginx access logs from an instance acting as a reverse proxy. |
honeycomb-opentelemetry-java |
OpenTelemetry Java | Spring Boot applications instrumented using the Honeycomb OpenTelemetry Java Distribution |
honeycomb-opentelemetry-dotnet |
OpenTelemetry .NET | .NET applications instrumented using the Honeycomb OpenTelemetry .NET Distribution |
libhoney-java |
Libhoney Java | Examples of using the low-level Libhoney Java SDK |
kubernetes-envoy-tracing |
Using the Honeycomb Opentracing Proxy to accept OpenTracing data | Two small services deployed to Kubernetes which communicate using Envoy Proxy |
beeline-nodejs |
Node Beeline | A simple webapp instrumented with the NodeJS Beeline. |
node-serverless-app |
Node Beeline + Lambda | A simple Lambda function meant to be part of a larger trace. |
python-api |
libhoney-py | A TODO API written and instrumented using Python (Flask). |
beeline-python |
Python Beeline | Examples of using the Beeline Python SDK |
beeline-ruby |
Ruby Beeline | Examples of using the Beeline Ruby SDK |
ruby-wiki-tracing |
Manual Tracing with Ruby | A simple wiki (Ruby) manually instrumented for tracing. |
webhook-listener-triggers |
Executing a webhook as a result of a Honeycomb Trigger firing | A small Go application which listens for HTTP requests issued as a result of a trigger firing |
Proposed Examples
The following have been proposed but not implemented:
Directory | Description |
---|---|
javascript-api |
A TODO API written and instrumented using JavaScript. |
sidekiq |
Observing behavior of the background job runner Sidekiq. |
honeytail-apache |
Ingesting Apache access logs using Honeytail. |
logstash |
Using the Honeycomb Logstash plugin to send parsed events to Honeycomb. |
fluentd |
Using the Honeycomb Fluentd plugin to send parsed events to Honeycomb. |
We highly encourage community contribution! Let us know if there's anything you'd like to see by filing an issue and CC-ing Honeycombers for discussion.
Let us know if there is something specific you'd like to see by filing an issue.
Click to show internal directories.
Click to hide internal directories.