You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm wondering what happens if I use create_metrics_logger() directly to create a MetricsLogger and put a metric.
The problem I am trying to solve is below.
Within my lambda, I have a function below that I call thousands of times to validate thousands of data points, and log violation if validation fails.
@metric_scope
def apply_validation_and_log_violation(
self,
value: Any,
default_value: Any,
validation_func: Callable,
metrics: MetricsLogger
):
if validation_func(value):
return value
metrics.put_metric("ValidationFailed", 1, "Count")
But calling a function, wrapped with @metric_scope decorator, thousands of times is flooding my cloudwatch log. It seems like for each function call, below is getting logged:
I'm a little confused. Are you decorating your Lambda function handler with @metric_scope, and invoking the Lambda function many times, or decorating a function that you call from your Lambda function handler? If it's the latter, I'd recommend moving @metric_scope to decorate your Lambda function handler, and passing the same MetricsLogger into this function.
It does make sense to me that create_metrics_logger should be exposed in the top-level package.
Hello!
I'm wondering what happens if I use
create_metrics_logger()
directly to create aMetricsLogger
and put a metric.The problem I am trying to solve is below.
Within my lambda, I have a function below that I call thousands of times to validate thousands of data points, and log violation if validation fails.
But calling a function, wrapped with
@metric_scope
decorator, thousands of times is flooding my cloudwatch log. It seems like for each function call, below is getting logged:So I am wondering if I can create a
MetricsLogger
object withcreate_metrics_logger
function and pass that object around.Thanks!
The text was updated successfully, but these errors were encountered: