Crates.io | lambda_helpers_metrics |
lib.rs | lambda_helpers_metrics |
version | 0.1.0-alpha.2 |
source | src |
created_at | 2024-07-01 19:08:02.746036 |
updated_at | 2024-07-01 19:42:15.067884 |
description | Helper for EMF metrics in AWS Lambda Function |
homepage | |
repository | https://github.com/szymon-szym/lambda_helpers_metrics |
max_upload_size | |
id | 1288980 |
size | 21,155 |
Provides the way to put metrics to the CloudWatch
using EMF
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 are flushed automatically when the Metrics
object is dropped.
Caller can flush metrics manually by calling flush_metrics
method.
// ...
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()
// ...