open-telemetry/opentelemetry-rust

The Rust OpenTelemetry implementation

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 28 minutes ago
Added to GitGenius on April 2nd, 2023
Created on November 11th, 2019
Open Issues & Pull Requests: 254 (+0)
Number of forks: 692
Total Stargazers: 2,689 (+0)
Total Subscribers: 25 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 31.7 hours
Mean response time: 94.7 days
90th percentile: 337.4 days
Tracked items: 576

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 47% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "triage:todo" is answered fastest, typically in about 13 hours, while "A-trace" waits about 9 months. 55% 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: 184
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 469 days
Stale 30+ days: 172
Stale 90+ days: 151

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 3
Events in 7 days: 5

Top labels

  • enhancement (132)
  • triage:todo (113)
  • bug (109)
  • triage:accepted (66)
  • A-common (48)
  • A-metrics (47)
  • A-trace (46)
  • M-exporter-otlp (42)

Detailed Description

The OpenTelemetry Rust repository is the official Rust implementation of the OpenTelemetry specification, providing a comprehensive collection of tools, APIs, and SDKs for instrumenting applications to generate, collect, and export telemetry data. The project enables developers to understand software performance and behavior by capturing metrics, logs, and traces that can be analyzed using observability platforms like Prometheus, Jaeger, and other compatible backends.

The repository is organized around several core crates that serve different purposes in the telemetry pipeline. The opentelemetry crate provides the foundational API layer required for instrumenting libraries and applications, encompassing the Context API, Baggage API, Propagators API, Logging Bridge API, Metrics API, and Tracing API. The opentelemetry-sdk crate contains the official SDK implementation with Logging SDK, Metrics SDK, and Tracing SDK components. For exporting telemetry data, the opentelemetry-otlp crate handles the OTLP protocol format, while opentelemetry-stdout provides a simple exporter for debugging and learning purposes. Additional specialized exporters include opentelemetry-prometheus for Prometheus integration and opentelemetry-http for HTTP-based telemetry transport. The project also maintains logging appenders that bridge existing logging libraries to the OpenTelemetry data model, including appenders for both the log and tracing crates.

The project maintains varying stability levels across its components, with some signals at stable status including the Logs API, Logs SDK, Metrics API, and Metrics SDK, while others like Traces API and Traces SDK remain in beta. The OTLP exporters for logs and metrics are at release candidate status, and the Prometheus exporter is in beta. The minimum supported Rust version is 1.75, with the project committing to support the current stable compiler and three prior minor versions.

The project is maintained by a team including Cijo Thomas, Lalit Kumar Bhasin, Utkarsh Umesan Pillai, and Zhongyang Wu, with approvers Björn Antonsson and Scott Gerring. The Rust special interest group meets on alternating weeks to coordinate development efforts, with meeting notes publicly available. The repository provides getting started examples for logs, metrics, and traces, along with additional integration patterns in its examples directory, making it accessible to developers new to OpenTelemetry.