1个不稳定版本
0.17.0 | 2023年3月9日 |
---|
#241 in 调试
4,028 每月下载量
在 opentelemetry-datadog-clo… 中使用
595KB
11K SLoC
OpenTelemetry Rust
Rust的 OpenTelemetry 实现。
概述
OpenTelemetry是一组工具、API和SDK,用于对软件进行仪器化、生成、收集和导出遥测数据(指标、日志和跟踪),以便进行分析,以便了解软件的性能和行为。您可以使用Prometheus、Jaeger和其他可观察性工具导出和分析它们。
编译器支持: 需要 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();
}
查看示例目录,以了解不同的集成模式。
生态系统
相关crate
除了 opentelemetry
之外,open-telemetry/opentelemetry-rust
仓库还包含一些额外的crate,这些crate旨在与 opentelemetry
生态系统一起使用。这包括一组跟踪 SpanExporter
和指标拉取和推送控制器的实现,以及用于传播状态和为应用程序添加工具和适配器的crate。
特别是,以下crate可能会引起您的兴趣
opentelemetry-aws
为 AWS X-ray 提供非官方传播器。opentelemetry-contrib
提供额外的实验性导出器和传播器。opentelemetry-datadog
为Datadog
提供额外的导出器。opentelemetry-dynatrace
为Dynatrace
提供额外的导出器。opentelemetry-http
提供了一个接口,用于从http
头部注入和提取跟踪信息。opentelemetry-jaeger
提供了发送跟踪信息到Jaeger
的管道和导出器。opentelemetry-otlp
导出器将跟踪和指标数据以 OTLP 格式发送到 OpenTelemetry 收集器。opentelemetry-prometheus
提供了发送指标信息到Prometheus
的管道和导出器。opentelemetry-semantic-conventions
提供了标准名称和语义otel约定。opentelemetry-stackdriver
为 Google 的 Cloud Trace(以前称为 StackDriver)提供导出器。opentelemetry-zipkin
提供了发送跟踪信息到Zipkin
的管道和导出器。
此外,还有一些第三方crate,它们不是由 opentelemetry
项目维护的。这些包括
tracing-opentelemetry
为使用tracing
API 和生态系统进行仪器化的应用程序提供集成。actix-web-opentelemetry
为actix-web
网络服务器和生态系统提供集成。opentelemetry-application-insights
提供了一个非官方的 Azure Application Insights 导出器。opentelemetry-tide
为Tide
网络服务器和生态系统提供集成。
如果您维护的 opentelemetry
生态系统crate未列在上面,请告诉我们!我们很高兴将您的项目添加到列表中!
支持的 Rust 版本
OpenTelemetry 是基于最新稳定版构建的。最低支持版本是 1.46。当前 OpenTelemetry 版本不保证在低于最低支持版本的 Rust 版本上构建。
当前稳定的Rust编译器和它之前的三个最近的次版本都将始终得到支持。例如,如果当前稳定的编译器版本是1.49,最低支持版本将不会超过1.46,即三个次版本之前的版本。只要这样做符合此政策,提高最低支持编译器版本不被视为semver破坏性变更。
贡献
请参阅贡献文件。
依赖项
~1–12MB
~140K SLoC