1 个不稳定版本
0.0.4 | 2024年3月30日 |
---|
#372 in 性能分析
82KB
1.5K SLoC
xray-lite-aws-sdk
xray-lite-aws-sdk
是 xray-lite
的扩展,用于 AWS SDK for Rust。
安装 xray-lite-aws-sdk
将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
xray-lite-aws-sdk = "0.0.4"
用法
使用此crate,您可以通过 AWS SDK for Rust 容易地将X-Ray跟踪功能添加到您的AWS服务请求中。它使用 拦截器,该拦截器可以附加到通过任何请求构建器的 CustomizableOperation
方法提供的 customize
方法;例如,aws_sdk_s3::operation::get_object::builders::GetObjectFluentBuilder::customize
以下示例展示了如何为S3 GetObject操作的每次尝试报告一个子分段
use aws_config::BehaviorVersion;
use xray_lite::{DaemonClient, SubsegmentContext};
use xray_lite_aws_sdk::ContextExt as _;
async fn get_object_from_s3() {
let xray_client = DaemonClient::from_lambda_env().unwrap();
let xray_context = SubsegmentContext::from_lambda_env(xray_client).unwrap();
let config = aws_config::load_defaults(BehaviorVersion::latest()).await;
let s3_client = aws_sdk_s3::Client::new(&config);
s3_client
.get_object()
.bucket("the-bucket-name")
.key("the-object-key")
.customize()
.interceptor(xray_context.intercept_operation("S3", "GetObject"))
.send()
.await
.unwrap();
}
API文档
https://codemonger-io.github.io/xray-lite/api/xray_lite_aws_sdk/
依赖关系
~6.5–9MB
~157K SLoC