#metrics #aws-lambda #helper #cloud-watch #emf #object #metric-unit

lambda_helpers_metrics

AWS Lambda 函数中 EMF 指标的辅助工具

2 个版本

0.1.0-alpha.22024 年 7 月 1 日

#980网络编程

Download history 355/week @ 2024-07-01 15/week @ 2024-07-22

370 每月下载量

MIT 许可证

14KB
244

AWS Lambda 函数的指标辅助库

提供使用 EMF 将指标放入 CloudWatch 的方法

示例

async fn function_handler(event: LambdaEvent<Request>) -> Result<Response, Error> {
    let command = event.payload.command;

    let mut metrics = Metrics::new("custom_lambdas", "service", "dummy_service");

    metrics.try_add_dimension("application", "customer_service");

    metrics.add_metric("test_count", MetricUnit::Count, 10.4);

    metrics.add_metric("test_seconds", MetricUnit::Seconds, 15.0);

    metrics.add_metric("test_count", MetricUnit::Count, 10.6);

    // Prepare the response
    let resp = Response {
        req_id: event.context.request_id,
        msg: format!("Command {}.", command),
    };

    Ok(resp)
}

Metrics 对象被丢弃时,指标会自动刷新。

调用者可以通过调用 flush_metrics 方法手动刷新指标。

// ...
let mut metrics = Metrics::new("custom_lambdas", "service", "dummy_service");

metrics.try_add_dimension("application", "customer_service");

metrics.add_metric("test_count", MetricUnit::Count, 10.4);

metrics.add_metric("test_seconds", MetricUnit::Seconds, 15.0);

metrics.flush_metrics()
// ...

依赖关系

~1.7–2.8MB
~53K SLoC