Crate lambda_helpers_metrics

Source
Expand description

Metrics helper library for AWS Lambda Function. Provides the way to put metrics to the CloudWatch using EMF

§Examples

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()
// ...

Structs§

Metrics
Metrics holds the current state of metrics to be logged to the CloudWatch. It is eventually used to build internal MetricDefinition struct which is serialized and printed to the console

Enums§

MetricUnit
MetricDefinition is used to serialize and publish metrics to CloudWatch. List of units in the AWS Documentation