14 个稳定版本
3.4.0 | 2024年6月3日 |
---|---|
3.2.3 | 2022年8月12日 |
3.2.2 | 2022年7月15日 |
3.2.0 | 2021年10月27日 |
1.0.1 | 2020年12月22日 |
在 网页编程 中排名 #270
每月下载量 519 次
54KB
1.5K SLoC
tracing-elastic-apm
Elastic APM 跟踪层。使用原生摄入 API。
用法
创建一个新的跟踪层
let layer = tracing_elastic_apm::new_layer(
"ServiceName".to_string(),
// remember to use desired protocol below, e.g. http://
tracing_elastic_apm::Config::new("APM address".to_string())
)?;
注册层
tracing_subscriber::registry()
.with(layer)
.init();
查看 Config
以获取更多配置选项。
支持的功能标志
default-tls
(默认启用) - 使用默认 TLS 后端。rustls-tls
- 使用 Rustls TLS 后端。
有关更多信息,请参阅 reqwest
库中的相应标志:https://docs.rs/reqwest/0.11.2/reqwest/#optional-features
异步和时间测量
APM 不支持空闲时间的概念,仅跟踪实际的跨度持续时间。异步代码在 await 点自然地交错跨度,这意味着跨度开始时间 + 持续时间可能低于由时钟测量的实际跨度结束时间。这反过来意味着 APM 中的子跨度有时可能开始于父跨度开始时间 + 持续时间之后。
依赖项
~7–21MB
~317K SLoC