Skip to content

sebastianrosch/honeycomb-opentracing-proxy

 
 

Repository files navigation

honeycomb-opentracing-proxy is a drop-in compatible replacement for Zipkin. If your services are instrumented with OpenTracing and emit span data using Zipkin's wire format, then honeycomb-opentracing-proxy can receive that data and forward it to the Honeycomb API. Using Honeycomb, you can explore single traces, and run queries over aggregated trace data.

flow diagram

Getting Started

First, sign up for a free Honeycomb trial account, and grab your write key from your account page.

Installation

If you have Go installed, you can clone this repository and build the proxy using the commands below. Alternatively, a Docker image is available. Binary, deb and RPM package downloads will be available soon!

git clone git@github.com:honeycombio/honeycomb-opentracing-proxy \
    $GOPATH/src/github.com/honeycombio/honeycomb-opentracing-proxy
go install github.com/honeycombio/honeycomb-opentracing-proxy/...

Usage

# Forward spans to a Honeycomb dataset named `traces`, using writekey $WRITEKEY
honeycomb-opentracing-proxy -d traces -k $WRITEKEY

# Forward spans to a downstream "real" Zipkin collector as well
honeycomb-opentracing-proxy --downstream https://myzipkin.example.com:9411

# Write spans to stdout for debugging or local development
honeycomb-opentracing-proxy --debug

If you're using Kubernetes, you can find a sample deployment manifest in the kubernetes/ directory.

Advanced usage

If you're instrumenting a complex codebase, and you'd like to send different types of traces to different Honeycomb datasets, add a honeycomb.dataset tag to your spans. E.g.

span, ctx := opentracing.StartSpan("myNewSpan")
span.SetTag("honeycomb.dataset", "My Shiny Tracing Dataset")

About

Transparent proxy to forward Zipkin-compatible data to Honeycomb.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 96.1%
  • Shell 3.0%
  • Dockerfile 0.9%