All Projects → openzipkin-contrib → Zipkin Go Opentracing

openzipkin-contrib / Zipkin Go Opentracing

Licence: apache-2.0
OpenTracing Bridge for Zipkin Go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Zipkin Go Opentracing

zipkin-cpp-opentracing
OpenTracing Tracer implementation for Zipkin in C++
Stars: ✭ 46 (-90.25%)
Mutual labels:  instrumentation, tracing, trace, opentracing, zipkin
go-sensor
🚀 Go Distributed Tracing & Metrics Sensor for Instana
Stars: ✭ 90 (-80.93%)
Mutual labels:  instrumentation, tracing, trace, opentracing, distributed-tracing
Zipkin Go
Zipkin tracer library for go
Stars: ✭ 435 (-7.84%)
Mutual labels:  tracing, instrumentation, distributed-tracing, trace, zipkin
zipkin-ruby-opentracing
OpenTracing Tracer implementation for Zipkin in Ruby
Stars: ✭ 15 (-96.82%)
Mutual labels:  instrumentation, tracing, trace, opentracing, zipkin
Molten
php probe for zipkin and opentracing
Stars: ✭ 740 (+56.78%)
Mutual labels:  tracing, instrumentation, trace, zipkin, opentracing
Brave Opentracing
Bridge between OpenTracing and Brave
Stars: ✭ 64 (-86.44%)
Mutual labels:  tracing, instrumentation, distributed-tracing, zipkin, opentracing
Opencensus Node
A stats collection and distributed tracing framework
Stars: ✭ 249 (-47.25%)
Mutual labels:  tracing, instrumentation, distributed-tracing, trace, zipkin
easeagent
An agent component for the Java system
Stars: ✭ 437 (-7.42%)
Mutual labels:  tracing, opentracing, zipkin, distributed-tracing
ruby-sensor
💎 Ruby Distributed Tracing & Metrics Sensor for Instana
Stars: ✭ 23 (-95.13%)
Mutual labels:  instrumentation, tracing, opentracing, distributed-tracing
Jaeger Ui
Web UI for Jaeger
Stars: ✭ 639 (+35.38%)
Mutual labels:  tracing, distributed-tracing, trace, opentracing
Opencensus Java
A stats collection and distributed tracing framework
Stars: ✭ 640 (+35.59%)
Mutual labels:  tracing, distributed-tracing, trace, zipkin
Opencensus Web
A stats collection and distributed tracing framework
Stars: ✭ 168 (-64.41%)
Mutual labels:  tracing, instrumentation, distributed-tracing, trace
Spring Cloud Sleuth
Distributed tracing for spring cloud
Stars: ✭ 1,531 (+224.36%)
Mutual labels:  tracing, instrumentation, distributed-tracing, zipkin
Brave
Java distributed tracing implementation compatible with Zipkin backend services.
Stars: ✭ 2,117 (+348.52%)
Mutual labels:  tracing, instrumentation, distributed-tracing, zipkin
nginx-opentracing
Instrument nginx for OpenTracing.
Stars: ✭ 21 (-95.55%)
Mutual labels:  instrumentation, tracing, opentracing, zipkin
dropwizard-zipkin
Dropwizard Zipkin Bundle
Stars: ✭ 48 (-89.83%)
Mutual labels:  instrumentation, tracing, zipkin, distributed-tracing
thundra-agent-nodejs
Thundra Lambda Node.js Agent
Stars: ✭ 31 (-93.43%)
Mutual labels:  instrumentation, tracing, distributed-tracing
Haystack
Top level repository for Haystack, containing documentation and deployment scripts
Stars: ✭ 261 (-44.7%)
Mutual labels:  tracing, distributed-tracing, opentracing
vertx-tracing
Vertx integration with tracing libraries
Stars: ✭ 21 (-95.55%)
Mutual labels:  tracing, opentracing, zipkin
java-jaxrs
OpenTracing Java JAX-RS instrumentation
Stars: ✭ 37 (-92.16%)
Mutual labels:  instrumentation, tracing, opentracing

zipkin-go-opentracing

Travis CI GoDoc Go Report Card Sourcegraph

OpenTracing bridge for the native Zipkin tracing implementation Zipkin Go.

Notes

This package is a simple bridge to allow OpenTracing API consumers to use Zipkin as their tracing backend. For details on how to work with spans and traces we suggest looking at the documentation and README from the OpenTracing API.

For developers interested in adding Zipkin tracing to their Go services we suggest looking at Go kit which is an excellent toolkit to instrument your distributed system with Zipkin and much more with clean separation of domains like transport, middleware / instrumentation and business logic.

Examples

Please check the zipkin-go package for information how to set-up the Zipkin Go native tracer. Once set-up you can simple call the Wrap function to create the OpenTracing compatible bridge.

import (
	"github.com/opentracing/opentracing-go"
	"github.com/openzipkin/zipkin-go"
	zipkinhttp "github.com/openzipkin/zipkin-go/reporter/http"
	zipkinot "github.com/openzipkin-contrib/zipkin-go-opentracing"
)

func main() {
	// bootstrap your app...
  
	// zipkin / opentracing specific stuff
	{
		// set up a span reporter
		reporter := zipkinhttp.NewReporter("http://zipkinhost:9411/api/v2/spans")
		defer reporter.Close()
  
		// create our local service endpoint
		endpoint, err := zipkin.NewEndpoint("myService", "myservice.mydomain.com:80")
		if err != nil {
			log.Fatalf("unable to create local endpoint: %+v\n", err)
		}

		// initialize our tracer
		nativeTracer, err := zipkin.NewTracer(reporter, zipkin.WithLocalEndpoint(endpoint))
		if err != nil {
			log.Fatalf("unable to create tracer: %+v\n", err)
		}

		// use zipkin-go-opentracing to wrap our tracer
		tracer := zipkinot.Wrap(nativeTracer)
  
		// optionally set as Global OpenTracing tracer instance
		opentracing.SetGlobalTracer(tracer)
	}
  
	// do other bootstrapping stuff...
}

For more information on zipkin-go-opentracing, please see the documentation at go doc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].