6个版本
0.1.0 | 2022年8月11日 |
---|---|
0.0.5 | 2022年8月11日 |
#678 在 调试 中
47KB
773 行(不包括注释)
ddog •
一个由纯Rust编写的最小化Datadog SDK。
入门
将ddog
crate添加到您的项目中
ddog = "0.1.0"
用法
使用Datadog SDK最简单的方法是通过使用Builder。
要创建一个新的Builder,您可以使用let mut builder = ddog::prelude::Builder::new();
方法实例化一个:
然后,要创建一个新的查询,Builder提供了针对特定端点的显式方法。例如,要将指标系列数据发送到datadog,调用ddog::prelude::Builder::post_series()
方法,它返回一个Route trait。
示例
以下是如何使用ddog将指标系列数据发送到Datadog API的示例。
注意:此请求将不会成功,因为在请求头部分中,DD_API_KEY
环境变量被设置为无效值。
use ddog::prelude::*;
async {
let mut builder = builder::Builder::new();
let (status, res) = builder.v2()
.post_series()
.headers(vec![
("Accept", "application/json"),
("Content-Type", "application/json"),
("DD-API-KEY", "<api_key>"),
("DD-APPLICATION-KEY", "<application_key>"),
])
.body(
r#"{
"series": [{
"metric": "my.metric.name",
"type": 1,
"interval": 100000,
"unit": "count",
"tags": [ "my_tag:" ],
"source_type_name": "my_source_type",
"resources": [{
"name": "length",
"type": "time"
}],
"points": [
{ "timestamp": 1660157680, "value": 10.0 },
],
"metadata": {
"origin": {
"metric_type": 1,
"product": 1,
"service": 1
}
}
}]
}"#
)
.execute().await;
// This should return a 403 status code now since the above API key is invalid.
println!("Status Code: {:?}", status);
println!("Response: {:?}", res);
};
许可证
致谢
依赖项
~9–25MB
~341K SLoC