1个不稳定版本

0.17.0 2023年3月9日

#241 in 调试

Download history

4,028 每月下载量
opentelemetry-datadog-clo… 中使用

Apache-2.0

595KB
11K SLoC

OpenTelemetry — An observability framework for cloud-native software.

OpenTelemetry Rust

Rust的 OpenTelemetry 实现。

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

网站 | 聊天 | 文档

概述

OpenTelemetry是一组工具、API和SDK,用于对软件进行仪器化、生成、收集和导出遥测数据(指标、日志和跟踪),以便进行分析,以便了解软件的性能和行为。您可以使用PrometheusJaeger和其他可观察性工具导出和分析它们。

编译器支持: 需要 rustc 1.46+

入门

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

fn main() {
    // Create a new trace pipeline that prints to stdout
    let tracer = stdout::new_pipeline().install_simple();

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

    // Shutdown trace pipeline
    global::shutdown_tracer_provider();
}

查看示例目录,以了解不同的集成模式。

生态系统

除了 opentelemetry 之外,open-telemetry/opentelemetry-rust 仓库还包含一些额外的crate,这些crate旨在与 opentelemetry 生态系统一起使用。这包括一组跟踪 SpanExporter 和指标拉取和推送控制器的实现,以及用于传播状态和为应用程序添加工具和适配器的crate。

特别是,以下crate可能会引起您的兴趣

此外,还有一些第三方crate,它们不是由 opentelemetry 项目维护的。这些包括

如果您维护的 opentelemetry 生态系统crate未列在上面,请告诉我们!我们很高兴将您的项目添加到列表中!

支持的 Rust 版本

OpenTelemetry 是基于最新稳定版构建的。最低支持版本是 1.46。当前 OpenTelemetry 版本不保证在低于最低支持版本的 Rust 版本上构建。

当前稳定的Rust编译器和它之前的三个最近的次版本都将始终得到支持。例如,如果当前稳定的编译器版本是1.49,最低支持版本将不会超过1.46,即三个次版本之前的版本。只要这样做符合此政策,提高最低支持编译器版本不被视为semver破坏性变更。

贡献

请参阅贡献文件

依赖项

~1–12MB
~140K SLoC