Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Zipkin distributed tracing library for go.
| Date | Stars |
|---|---|
| 2026-07-24 | 622 |
| 2026-07-25 | 622 |
| 2026-07-28 | 622 |
| 2026-07-30 | 622 |
| 2026-08-06 | 622 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<!--
Copyright 2022 The OpenZipkin Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
# Zipkin Library for Go
[](https://github.com/openzipkin/zipkin-go/actions/workflows/ci.yml)
[](https://codecov.io/gh/openzipkin/zipkin-go)
[](https://goreportcard.com/report/github.com/openzipkin/zipkin-go)
[](https://godoc.org/github.com/openzipkin/zipkin-go)
[](https://gitter.im/openzipkin/zipkin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://sourcegraph.com/github.com/openzipkin/zipkin-go?badge)
Zipkin Go is the official Go Tracer / Tracing implementation for Zipkin,
supported by the OpenZipkin community.
## package organization
`zipkin-go` is built with interoperability in mind within the OpenZipkin
community and even 3rd parties, the library consists of several packages.
The main tracing implementation can be found in the root folder of this
repository. Reusable parts not considered core implementation or deemed
beneficiary for usage by others are placed in their own packages within this
repository.
### model
This library implements the Zipkin V2 Span Model which is available in the model
package. It contains a Go data model compatible with the Zipkin V2 API and can
automatically sanitize, parse and (de)serialize to and from the required JSON
representation as used by the official Zipkin V2 Collectors.
### propagation
The propagation package and B3 subpackage hold the logic for propagating
SpanContext (span identifiers and sampling flags) between services participating
in traces. Currently Zipkin B3 Propagation is supported for HTTP and GRPC.
### middleware
The middleware subpackages contain officially supported middleware handlers and
tracing wrappers.
#### http
An easy to use http.Handler middleware for tracing server side requests is
provided. This allows one to use this middleware in applications using
standard library servers as well as most available higher level frameworks. Some
frameworks will have their own instrumentation and middleware that maps better
for their ecosystem.
For HTTP client operations `NewTransport` can return a `http.RoundTripper`
implementation that can either wrap the standard http.Client's Transport or a
custom provided one and add per request tracing. Since HTTP Requests can have
one or multiple redirects it is advisable to always enclose HTTP Client calls
with a `Span` either around the `*http.Client` call level or parent function
level.
For convenience `NewClient` is provided which returns a HTTP Client which embeds
`*http.Client` and provides an `application span` around the HTTP calls when
calling the `DoWithAppSpan()` method.
#### grpc
Easy to use grpc.StatsHandler middleware are provided for tracing gRPC server
and client requests.
For a server, pass `NewServerHandler` when calling `NewServer`, e.g.,
```go
import (
"google.golang.org/grpc"
zipkingrpc "github.com/openzipkin/zipkin-go/middleware/grpc"
)
server = grpc.NewServer(grpc.StatsHandler(zipkingrpc.NewServerHandler(tracer)))
```
FExcerpt of 5,771 characters
Read on GitHub197
José Carlos Chávez · @okta
48
Anuraag (Rag) Agrawal · Earth · Japan
6
Adrian Cole · Netflix
4
Zoltán Nagy · United Kingdom
4
Liming Deng
3
2
1
1
1
1
1
1
1
1
Roger Peppe · @cue-lang @cue-labs · United Kingdom
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:d64b26a4362441d6, topic:tracing