open-telemetry/opentelemetry-go

OpenTelemetry Go API and SDK

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 34 minutes ago
Added to GitGenius on February 5th, 2023
Created on May 16th, 2019
Open Issues & Pull Requests: 197 (+1)
Number of forks: 1,458
Total Stargazers: 6,525 (+0)
Total Subscribers: 67 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 15.7 hours
Mean response time: 89.1 days
90th percentile: 178.5 days
Tracked items: 669

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 58% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "bug" is answered fastest, typically in about 3 hours, while "area:metrics" waits about 8 days. 30% of tracked open issues have had no activity in three months. Only 4% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 129
New in 7 days: 24
Closed in 7 days: 20
Avg open age: 353 days
Stale 30+ days: 87
Stale 90+ days: 69

Recent activity

Opened in 7 days: 23
Closed in 7 days: 15
Comments in 7 days: 19
Events in 7 days: 138

Top labels

  • bug (446)
  • enhancement (409)
  • area:metrics (197)
  • pkg:SDK (195)
  • area:logs (126)
  • area:trace (119)
  • good first issue (117)
  • pkg:API (101)

Detailed Description

OpenTelemetry-Go is the Go implementation of OpenTelemetry, providing APIs and SDKs for Go applications to measure performance and behavior by collecting distributed traces, metrics, and logs. The project delivers a unified set of APIs that enable developers to instrument their applications and export telemetry data to observability platforms without being locked into specific vendors or tools.

The project maintains stable status for both traces and metrics signals, while logs functionality is currently in beta. According to the README, the implementation supports Go versions 1.25 and 1.26 across multiple operating systems and architectures including Ubuntu, macOS, and Windows on amd64, 386, and arm64 platforms. The project follows Go's upstream compatibility policy, supporting each major Go release until two newer major releases exist, and removes compatibility testing for archived versions in a structured manner.

The repository provides four officially supported exporters for sending telemetry data: OTLP which supports logs, metrics, and traces; Prometheus for metrics only; stdout for logs, metrics, and traces; and Zipkin for traces. This modular exporter architecture allows users to choose the observability platform that best fits their needs. The instrumentation process involves two main steps: first instrumenting the application using either official instrumentation libraries from the opentelemetry-go-contrib repository or the core Go otel package, and second configuring an appropriate exporter to send collected data to observability platforms.

GitGenius activity data reveals significant ongoing development and maintenance.

The project's classification spans distributed tracing, observability, instrumentation, performance analysis, and monitoring domains, reflecting its comprehensive role in the Go observability ecosystem. Development progress and status are tracked through project boards and milestones on GitHub, with detailed versioning documentation available to guide users on stability guarantees and compatibility expectations.