diff --git a/aws_lambda_powertools/metrics/metrics.py b/aws_lambda_powertools/metrics/metrics.py index 23e9f542eea..927b6873648 100644 --- a/aws_lambda_powertools/metrics/metrics.py +++ b/aws_lambda_powertools/metrics/metrics.py @@ -2,9 +2,8 @@ import json import logging import warnings -from typing import Any, Callable, Dict, Optional, Union, cast +from typing import Any, Callable, Dict, Optional, Union -from ..shared.types import AnyCallableT from .base import MetricManager, MetricUnit from .metric import single_metric @@ -130,7 +129,7 @@ def log_metrics( capture_cold_start_metric: bool = False, raise_on_empty_metrics: bool = False, default_dimensions: Optional[Dict[str, str]] = None, - ) -> AnyCallableT: + ): """Decorator to serialize and publish metrics at the end of a function execution. Be aware that the log_metrics **does call* the decorated function (e.g. lambda_handler). @@ -170,14 +169,11 @@ def handler(event, context): # Return a partial function with args filled if lambda_handler is None: logger.debug("Decorator called with parameters") - return cast( - AnyCallableT, - functools.partial( - self.log_metrics, - capture_cold_start_metric=capture_cold_start_metric, - raise_on_empty_metrics=raise_on_empty_metrics, - default_dimensions=default_dimensions, - ), + return functools.partial( + self.log_metrics, + capture_cold_start_metric=capture_cold_start_metric, + raise_on_empty_metrics=raise_on_empty_metrics, + default_dimensions=default_dimensions, ) @functools.wraps(lambda_handler) @@ -198,7 +194,7 @@ def decorate(event, context): return response - return cast(AnyCallableT, decorate) + return decorate def __add_cold_start_metric(self, context: Any) -> None: """Add cold start metric and function_name dimension