Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure. Learn more →
Top 23 Go Tracing Projects
-
Project mention: 16 Essential Tools for DevOps & SRE: Monitoring & Logging Mastery | dev.to | 2025-06-25
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
Project mention: gmap in GoFrame: A Deep Dive into High-Performance Concurrent Maps | dev.to | 2025-01-05
Performance Benchmarks
-
coroot
Coroot is an open-source APM & Observability tool, a DataDog and NewRelic alternative. Metrics, logs, traces, continuous profiling, and SLO-based alerting, supercharged with predefined dashboards and inspections.
Project mention: CI/CD Observability with OpenTelemetry Step by Step Guide | news.ycombinator.com | 2025-06-15A child comment mentioned k8s but I also have been chomping at the bit to try out the eBPF hooks in https://github.com/pixie-io/pixie (or even https://github.com/coroot/coroot or https://github.com/parca-dev/parca ) all of which are Apache 2 licensed
The demo for https://github.com/draios/sysdig was also just amazing, but I don't have any idea what the storage requirements would be for leaving it running
-
Funny timing—I tried optimizing the Otel Go SDK a few weeks ago (https://github.com/open-telemetry/opentelemetry-go/issues/67...).
I suspect you could make the tracing SDK 2x faster with some cleverness. The main tricks are:
- Use a faster time.Now(). Go does a fair bit of work to convert to the Go epoch.
- Use atomics instead of a mutex. I sent a PR, but the reviewer caught correctness issues. Atomics are subtle and tricky.
- Directly marshal protos instead of reflection with a hand-rolled library or with https://github.com/VictoriaMetrics/easyproto.
The gold standard is how TiDB implemented tracing (https://www.pingcap.com/blog/how-we-trace-a-kv-database-with...). Since Go purposefully (and reasonably) doesn't currently provide a comparable abstraction for thread-local storage, we can't implement similar tricks like special-casing when a trace is modified on a single thread.
-
Project mention: CI/CD Observability with OpenTelemetry Step by Step Guide | news.ycombinator.com | 2025-06-15
be cognizant of their licenses (AGPLv3), it matters in some shops
https://github.com/uptrace/uptrace/blob/v1.7.6/LICENSE
https://github.com/openobserve/openobserve/blob/v0.14.7/LICE...
-
Official Datadog Documentation
-
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
gigapipe
qryn is a polyglot, high-performance observability framework for ClickHouse. Ingest, store and analyze logs, metrics and telemetry traces from any agent supporting Loki, Prometheus, OTLP, Tempo, Elastic, InfluxDB and many more formats and query transparently using Grafana or any other compatible client.
I'm not the person you asked -- and I also want to be transparent that I only PoC-ed it and due to external circumstances didn't get it all the way out to production -- but I really like how https://github.com/metrico/qryn (AGPLv3) thinks about the world. It is, like SigNoz, unified (logs, metrics, traces) but it actually implements several of the common endpoint schemes allowing it to pretend to be "your favorite tool" which plausibly helps any integration story <https://github.com/metrico/qryn#%EF%B8%8F-query> and <https://github.com/metrico/qryn#-vendors-compatibility>
I was going to take advantage of Clickhouse using S3 as warm-to-cold storage since my mental model is that most logs, metrics, and traces are written and not read https://clickhouse.com/docs/en/integrations/s3#configuring-s...
I believe one could do that with SigNoz, too, so I don't mean to imply that trickery was qryn specific, just that I didn't want to get into the "constantly resizing io3 PVC" game
-
-
tracetest
🔭 Tracetest - Build integration and end-to-end tests in minutes, instead of days, using OpenTelemetry and trace-based testing.
The example sources used in this article and setup instructions are available in the Tracetest GitHub repository.
-
-
-
-
eBPF-Guide
eBPF (extended Berkeley Packet Filter) Guide. Learn all about the eBPF Tools and Libraries for Security, Monitoring , and Networking.
-
-
This is just integrated codegen into the build tool, right? Datadog has a similar project here https://github.com/DataDog/orchestrion that does the same thing.
I think this kind of code gen is very wonky, and hard to debug unless there is some official API support for it. Using a sufficiently advanced build tool to handle this in a separate build step would help as well. But that usually causes problems with IDE support.
-
-
nhi
:tv: Automatically capture all potentially useful information about each executed command (as well as its output) and get powerful querying mechanism
-
-
autometrics-go
Easily add metrics to your system -- and actually understand them using automatically customized Prometheus queries
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Tracing discussion
Go Tracing related posts
-
How LayerX Achieves “Painless” Governance and Security in the Cloud
-
OpenTelemetry for Go: Measuring overhead costs
-
10 Best Cloud Monitoring Tools for 2025
-
Even more OpenTelemetry - Kubernetes special
-
Setting Up Telemetry in Golang
-
API Monitoring for Mobile Apps: Key Metrics for Developers
-
Bottleneck Identification Using Distributed Tracing
-
A note from our sponsor - Stream
getstream.io | 11 Jul 2025
Index
What are some of the best open-source Tracing projects in Go? This list will help you:
# | Project | Stars |
---|---|---|
1 | jaeger | 21,568 |
2 | gf | 12,511 |
3 | coroot | 6,607 |
4 | opentelemetry-go | 5,801 |
5 | uptrace | 3,757 |
6 | datadog-agent | 3,159 |
7 | ebpf_exporter | 2,366 |
8 | gigapipe | 1,463 |
9 | gotraceui | 1,268 |
10 | tracetest | 1,179 |
11 | Go-Clean-Architecture-REST-API | 889 |
12 | awesome-monitoring | 701 |
13 | sqlhooks | 656 |
14 | eBPF-Guide | 591 |
15 | schedviz | 529 |
16 | orchestrion | 420 |
17 | xgo | 411 |
18 | nhi | 319 |
19 | Go-EventSourcing-CQRS | 188 |
20 | autometrics-go | 143 |
21 | Go-GRPC-Auth-Microservice | 143 |
22 | Go-NATS-Streaming-gRPC-PostgreSQL | 117 |
23 | Go-CQRS-EventSourcing-Microservice | 96 |