Module aws_lambda_powertools.metrics.functions
Functions
def convert_timestamp_to_emf_format(timestamp: int | datetime) ‑> int-
Converts a timestamp to EMF compatible format.
Parameters
timestamp:int | datetime- The timestamp to convert. If already in epoch milliseconds format, returns it as is. If datetime object, converts it to milliseconds since Unix epoch.
Returns:
int The timestamp converted to EMF compatible format (milliseconds since Unix epoch).
def extract_cloudwatch_metric_resolution_value(metric_resolutions: list, resolution: int | MetricResolution) ‑> int-
Return metric value from CloudWatch metric unit whether that's str or MetricResolution enum
Parameters
resolution:int | MetricResolution- Metric resolution
Returns
int- Metric resolution value must be 1 or 60
Raises
MetricResolutionError- When metric resolution is not supported by CloudWatch
def extract_cloudwatch_metric_unit_value(metric_units: list, metric_valid_options: list, unit: str | MetricUnit) ‑> str-
Return metric value from CloudWatch metric unit whether that's str or MetricUnit enum
Parameters
unit:str | MetricUnit- Metric unit
Returns
str- Metric unit value (e.g. "Seconds", "Count/Second")
Raises
MetricUnitError- When metric unit is not supported by CloudWatch
def validate_emf_timestamp(timestamp: int | datetime) ‑> bool-
Validates a given timestamp based on CloudWatch Timestamp guidelines.
Timestamp must meet CloudWatch requirements, otherwise an InvalidTimestampError will be raised. See Timestamps for valid values.
Parameters:
timestamp: int | datetime Datetime object or epoch time in milliseconds representing the timestamp to validate.
Returns
bool- Valid or not timestamp values