All Projects → open-telemetry → Opentelemetry Rust

open-telemetry / Opentelemetry Rust

Licence: apache-2.0
OpenTelemetry API and SDK for Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Opentelemetry Rust

Bricks
A standard library for microservices.
Stars: ✭ 142 (-49.29%)
Mutual labels:  logging, metrics, prometheus, tracing
gateway
A proxy to buffer and forward metrics, events, and traces.
Stars: ✭ 94 (-66.43%)
Mutual labels:  metrics, prometheus, tracing, zipkin
Opencensus Java
A stats collection and distributed tracing framework
Stars: ✭ 640 (+128.57%)
Mutual labels:  metrics, prometheus, tracing, zipkin
Logary
Logs and metrics are one! Professional logging, metrics and analytics for your apps.
Stars: ✭ 479 (+71.07%)
Mutual labels:  logging, metrics, tracing
Skywalking
APM, Application Performance Monitoring System
Stars: ✭ 18,341 (+6450.36%)
Mutual labels:  logging, metrics, prometheus
Opencensus Node
A stats collection and distributed tracing framework
Stars: ✭ 249 (-11.07%)
Mutual labels:  metrics, tracing, zipkin
Spf4j
Simple performance framework for java
Stars: ✭ 184 (-34.29%)
Mutual labels:  logging, metrics, tracing
Datav
📊https://datav.io is a modern APM, provide observability for your business, application and infrastructure. It's also a lightweight alternative to Grafana.
Stars: ✭ 2,757 (+884.64%)
Mutual labels:  logging, metrics, prometheus
java-metrics
No description or website provided.
Stars: ✭ 31 (-88.93%)
Mutual labels:  metrics, prometheus, tracing
s3 exporter
Exports Prometheus metrics about S3 buckets and objects
Stars: ✭ 65 (-76.79%)
Mutual labels:  metrics, prometheus
flask prometheus metrics
Prometheus Metrics for Flask Web App
Stars: ✭ 17 (-93.93%)
Mutual labels:  metrics, prometheus
Kube State Metrics
Add-on agent to generate and expose cluster-level metrics.
Stars: ✭ 3,433 (+1126.07%)
Mutual labels:  metrics, prometheus
LaravelPrometheusExporter
A laravel service provider to export metrics for prometheus.
Stars: ✭ 27 (-90.36%)
Mutual labels:  metrics, prometheus
aws-ec2-sg-exporter
A dockerized Prometheus exporter that compares desired/wanted IPv4/IPv6 CIDR against currently applied inbound CIDR rules in your security group(s).
Stars: ✭ 23 (-91.79%)
Mutual labels:  metrics, prometheus
resoto
Resoto - Find leaky resources, manage quota limits, detect drift, and clean up!
Stars: ✭ 562 (+100.71%)
Mutual labels:  metrics, prometheus
pitchfork
Convert tracing data between Zipkin and Haystack formats
Stars: ✭ 40 (-85.71%)
Mutual labels:  tracing, zipkin
emq exporter
Simple server that scrapes EMQ metrics and exporters them via HTTP for Prometheus consumption
Stars: ✭ 31 (-88.93%)
Mutual labels:  metrics, prometheus
druid-prometheus-exporter
Service to collect Apache Druid metrics and export them to Prometheus
Stars: ✭ 14 (-95%)
Mutual labels:  metrics, prometheus
selectel-exporter
No description or website provided.
Stars: ✭ 25 (-91.07%)
Mutual labels:  metrics, prometheus
chia-monitor
🍃 A comprehensive monitoring and alerting solution for the status of your Chia farmer and harvesters.
Stars: ✭ 131 (-53.21%)
Mutual labels:  metrics, prometheus

OpenTelemetry — An observability framework for cloud-native software.

OpenTelemetry Rust

The Rust OpenTelemetry implementation.

Crates.io: opentelemetry Documentation LICENSE GitHub Actions CI Gitter chat

Website | Chat | Documentation

Overview

OpenTelemetry is a collection of tools, APIs, and SDKs used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. You can export and analyze them using Prometheus, Jaeger, and other observability tools.

Compiler support: requires rustc 1.46+

Getting Started

use opentelemetry::{sdk::export::trace::stdout, trace::Tracer};

fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
    // Create a new instrumentation pipeline
    let tracer = stdout::new_pipeline().install();

    tracer.in_span("doing_work", |cx| {
        // Traced app logic here...
    });

    Ok(())
}

See the examples directory for different integration patterns.

Ecosystem

Related Crates

In addition to opentelemetry, the open-telemetry/opentelemetry-rust repository contains several additional crates designed to be used with the opentelemetry ecosystem. This includes a collection of trace SpanExporter and metrics pull and push controller implementations, as well as utility and adapter crates to assist in propagating state and instrumenting applications.

In particular, the following crates are likely to be of interest:

Additionally, there are also several third-party crates which are not maintained by the opentelemetry project. These include:

If you're the maintainer of an opentelemetry ecosystem crate not listed above, please let us know! We'd love to add your project to the list!

Supported Rust Versions

OpenTelemetry is built against the latest stable release. The minimum supported version is 1.46. The current OpenTelemetry version is not guaranteed to build on Rust versions earlier than the minimum supported version.

The current stable Rust compiler and the three most recent minor versions before it will always be supported. For example, if the current stable compiler version is 1.49, the minimum supported version will not be increased past 1.46, three minor versions prior. Increasing the minimum supported compiler version is not considered a semver breaking change as long as doing so complies with this policy.

Contributing

See the contributing file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].