7个版本 (破坏性)
0.7.0 | 2024年5月23日 |
---|---|
0.6.1 | 2024年3月19日 |
0.5.0 | 2023年11月30日 |
0.4.0 | 2023年6月19日 |
0.1.0 | 2022年8月26日 |
在调试中排名431
每月下载381次
26KB
320 行
Axiom在任何规模下解锁可观察性。
- 轻松摄取,无限制存储:Axiom的下一代数据存储能够以最高效率摄取PB级数据。从Kubernetes、AWS、Azure、Google Cloud、DigitalOcean、Nomad等发送日志。
- 随时随地查询一切:无论是DevOps、SecOps还是EverythingOps,无论数据年龄如何,都可以查询所有数据。无需配置,无需从冷存/归档移动到“热”,无需担心查询缓慢。所有数据,随时随地。
- 强大的仪表板,实现持续可观察性:构建仪表板以收集相关查询,为您和您的团队提供快速、易于消化的信息。仪表板可以是私有的,也可以与他人共享,是收集来自不同来源数据的完美方式。
更多信息请参阅官方文档。
用法
将以下内容添加到您的Cargo.toml
[dependencies]
tracing-axiom = "0.7"
在Axiom中创建一个数据集,并将名称导出为AXIOM_DATASET
。然后在Axiom设置中创建一个具有摄取权限的API令牌,并将其导出为AXIOM_TOKEN
。
现在您可以设置跟踪,如下所示
use tracing_subscriber::{layer::SubscriberExt as _, util::SubscriberInitExt as _, Registry};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let axiom_layer = tracing_axiom::default("readme")?; // Set AXIOM_DATASET and AXIOM_TOKEN in your env!
Registry::default().with(axiom_layer).init();
say_hello();
Ok(())
}
#[tracing::instrument]
pub fn say_hello() {
tracing::info!("Hello, world!");
}
有关更多示例,请访问示例目录。
注意:由于底层库的限制,span之外的事件不会被记录。
特性
以下是可以启用或禁用的Cargo功能列表
- rustls-tls (默认启用):启用由
rustls
提供的 TLS 功能。 - default-tls:使用 reqwest 默认的 TLS 库。
- native-tls:启用由
native-tls
提供的 TLS 功能。
常见问题解答 & 故障排除
如何在 Axiom 的基础上将跟踪记录输出到控制台?
您可以使用此库获取一个 tracing-subscriber::layer
并将其与其他层结合使用,例如将跟踪记录输出到控制台的层。您可以在 fmt 示例 中看到它是如何工作的。
我的测试函数无限期地挂起了
当您使用 #[tokio::test]
时可能会发生这种情况,因为该宏默认使用单线程执行器,但 opentelemetry
crate 需要一个多线程执行器。
许可证
许可方式如下:
- Apache License,版本 2.0,(LICENSE-APACHE 或 apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 opensource.org/licenses/MIT)
任选其一。
依赖关系
~11–25MB
~395K SLoC