openzipkin/zipkin-go là một trong những repo phía máy chủ mà TopGit theo dõi, hiện có 620 sao, viết chủ yếu bằng Go. Zipkin distributed tracing library for go.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
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.,
import (
"google.golang.org/grpc"
zipkingrpc "github.com/openzipkin/zipkin-go/middleware/grpc"
)
server = grpc.NewServer(grpc.StatsHandler(zipkingrpc.NewServerHandler(tracer)))
For a client, pass NewClientHandler when calling Dial, e.g.,
The reporter package holds the interface which the various Reporter
implementations use. It is exported into its own package as it can be used by
3rd parties to use these Reporter packages in their own libraries for exporting
to the Zipkin ecosystem. The zipkin-go tracer also uses the interface to
accept 3rd party Reporter implementations.
HTTP Reporter
Most common Reporter type used by Zipkin users transporting Spans to the Zipkin
server using JSON over HTTP. The reporter holds a buffer and reports to the
backend asynchronously.
Kafka Reporter
High performance Reporter transporting Spans to the Zipkin server using a Kafka
Producer digesting JSON V2 Spans. The reporter uses the
Sarama async producer
underneath.
Usage and Examples
HTTP Server Example
Go Support Policy
zipkin-go follows the same version policy as Go's Release Policy:
two versions. zipkin-go will ensure these versions work and bugs are valid if
there's an issue with a current Go version.
Additionally, zipkin-go intentionally delays usage of language or standard
library features one additional version. For example, when Go 1.29 is released,
zipkin-go can use language features or standard libraries added in 1.27. This
is a convenience for embedders who have a slower version policy than Go.
However, only supported Go versions may be used to raise support issues.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/openzipkin/zipkin-go là nguồn chính thức.
openzipkin/zipkin-go có bao nhiêu sao?
openzipkin/zipkin-go có 620 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/openzipkin/zipkin-go. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
openzipkin/zipkin-go có phải mã nguồn mở không?
Có — openzipkin/zipkin-go phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/openzipkin/zipkin-go.
openzipkin/zipkin-go còn đang phát triển không?
Commit gần nhất trên openzipkin/zipkin-go là 1.5 năm trước (theo timestamp GitHub). Repo có 114 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
openzipkin/zipkin-go là gì?
openzipkin/zipkin-go (openzipkin/zipkin-go) là dự án Go trên GitHub. Theo mô tả gốc: Zipkin distributed tracing library for go.
openzipkin/zipkin-go so với các dự án Backend khác thế nào?
openzipkin/zipkin-go được TopGit xếp vào nhóm Backend, với 620 sao GitHub và viết bằng Go. Xem trang chủ đề Backend trên TopGit để so sánh với các dự án tương tự theo số sao và mức độ hoạt động.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về zipkin-go?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về zipkin-go.