1个不稳定版本
0.1.0-beta.1 | 2023年6月13日 |
---|
#35 in #metrics-exporter
480KB
10K SLoC
OpenTelemetry Stdout
为使用 OpenTelemetry
仪器化的应用程序提供导出器。
概述
OpenTelemetry
是一套工具、API和SDK的集合,用于仪器化、生成、收集和导出遥测数据(指标、日志和跟踪),以便分析以了解软件的性能和行为。此crate提供导出器,用于将数据导出到标准输出或任何实现 std::io::Write
的实现。
编译器支持: 需要 rustc
1.60+
快速入门
将遥测信号导出到标准输出。
use opentelemetry_api::{
metrics::MeterProvider as _,
trace::{Span, Tracer, TracerProvider as _},
Context, KeyValue,
};
use opentelemetry_sdk::{
metrics::{MeterProvider, PeriodicReader},
runtime,
trace::{BatchSpanProcessor, TracerProvider},
};
fn init_trace() -> TracerProvider {
let exporter = opentelemetry_stdout::SpanExporter::default();
let processor = BatchSpanProcessor::builder(exporter, runtime::Tokio).build();
TracerProvider::builder()
.with_span_processor(processor)
.build()
}
fn init_metrics() -> MeterProvider {
let exporter = opentelemetry_stdout::MetricsExporter::default();
let reader = PeriodicReader::builder(exporter, runtime::Tokio).build();
MeterProvider::builder().with_reader(reader).build()
}
let tracer_provider = init_trace();
let meter_provider = init_metrics();
记录的跟踪和指标现在将发送到标准输出
{"resourceMetrics":{"resource":{"attributes":[{"key":"service.name","value":{"str..
{"resourceSpans":[{"resource":{"attributes":[{"key":"service.name","value":{"stri..
支持的Rust版本
OpenTelemetry基于最新的稳定版。最低支持的版本是1.60。当前OpenTelemetry版本不一定能在低于最低支持版本的Rust版本上构建。
当前的稳定Rust编译器和它之前的三个次要版本将始终得到支持。例如,如果当前稳定编译器版本是1.49,则最低支持版本不会超过1.46,即早于三个次要版本。只要这样做符合此政策,增加最低支持的编译器版本不被视为semver破坏性更改。
依赖项
~2.8–4.5MB
~88K SLoC