From 1eda1caf2574f576cbd5e4e83b1232d6ace3ed81 Mon Sep 17 00:00:00 2001 From: perzycharles Date: Tue, 9 Apr 2024 17:04:27 +0900 Subject: [PATCH 1/4] allow diable enhanced metrics of other lambda functions by setting env variable DD_SUBMIT_ENHANCED_METRICS --- aws/logs_monitoring/enhanced_lambda_metrics.py | 5 +++++ aws/logs_monitoring/settings.py | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/aws/logs_monitoring/enhanced_lambda_metrics.py b/aws/logs_monitoring/enhanced_lambda_metrics.py index 002494131..112bef219 100644 --- a/aws/logs_monitoring/enhanced_lambda_metrics.py +++ b/aws/logs_monitoring/enhanced_lambda_metrics.py @@ -7,6 +7,7 @@ import re import datetime from time import time +from settings import DD_SUBMIT_ENHANCED_METRICS_ENV ENHANCED_METRICS_NAMESPACE_PREFIX = "aws.lambda.enhanced" @@ -146,6 +147,10 @@ def parse_and_submit_enhanced_metrics(logs, cache_layer): # If the Lambda layer is not present we can't submit enhanced metrics if not DD_SUBMIT_ENHANCED_METRICS: return + + # force disable submit enhanced metrics from envionment varaible DD_SUBMIT_ENHANCED_METRICS + if not DD_SUBMIT_ENHANCED_METRICS_ENV: + return for log in logs: try: diff --git a/aws/logs_monitoring/settings.py b/aws/logs_monitoring/settings.py index e7e0f82c8..f356045e0 100644 --- a/aws/logs_monitoring/settings.py +++ b/aws/logs_monitoring/settings.py @@ -153,6 +153,10 @@ def get_env_var(envvar, default, boolean=False): DD_API_URL = "https://pvtlink.api.datadoghq.com" DD_TRACE_INTAKE_URL = "https://trace-pvtlink.agent.datadoghq.com" +## @param DD_SUBMIT_ENHANCED_METRICS - boolean - optional - default: true +## Set this variable to `False` to disable enhanced metrics for other lambda functions. +# +DD_SUBMIT_ENHANCED_METRICS_ENV = get_env_var("DD_SUBMIT_ENHANCED_METRICS", "true", boolean=True) class ScrubbingRuleConfig(object): def __init__(self, name, pattern, placeholder): From 042a29a0cc04289226d3e8421e4ba97bc3b899cb Mon Sep 17 00:00:00 2001 From: perzycharles Date: Tue, 9 Apr 2024 17:05:35 +0900 Subject: [PATCH 2/4] modify comments --- aws/logs_monitoring/enhanced_lambda_metrics.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws/logs_monitoring/enhanced_lambda_metrics.py b/aws/logs_monitoring/enhanced_lambda_metrics.py index 112bef219..d100c7379 100644 --- a/aws/logs_monitoring/enhanced_lambda_metrics.py +++ b/aws/logs_monitoring/enhanced_lambda_metrics.py @@ -148,7 +148,7 @@ def parse_and_submit_enhanced_metrics(logs, cache_layer): if not DD_SUBMIT_ENHANCED_METRICS: return - # force disable submit enhanced metrics from envionment varaible DD_SUBMIT_ENHANCED_METRICS + # force disable submit enhanced metrics by setting envionment varaible DD_SUBMIT_ENHANCED_METRICS if not DD_SUBMIT_ENHANCED_METRICS_ENV: return From 39bbb60f1cfa80be1fe59c1486952081c003919b Mon Sep 17 00:00:00 2001 From: perzycharles Date: Tue, 9 Apr 2024 17:29:32 +0900 Subject: [PATCH 3/4] fix fomat issue --- aws/logs_monitoring/enhanced_lambda_metrics.py | 2 +- aws/logs_monitoring/settings.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/aws/logs_monitoring/enhanced_lambda_metrics.py b/aws/logs_monitoring/enhanced_lambda_metrics.py index d100c7379..56ab74167 100644 --- a/aws/logs_monitoring/enhanced_lambda_metrics.py +++ b/aws/logs_monitoring/enhanced_lambda_metrics.py @@ -147,7 +147,7 @@ def parse_and_submit_enhanced_metrics(logs, cache_layer): # If the Lambda layer is not present we can't submit enhanced metrics if not DD_SUBMIT_ENHANCED_METRICS: return - + # force disable submit enhanced metrics by setting envionment varaible DD_SUBMIT_ENHANCED_METRICS if not DD_SUBMIT_ENHANCED_METRICS_ENV: return diff --git a/aws/logs_monitoring/settings.py b/aws/logs_monitoring/settings.py index f356045e0..9909ff6e0 100644 --- a/aws/logs_monitoring/settings.py +++ b/aws/logs_monitoring/settings.py @@ -156,7 +156,9 @@ def get_env_var(envvar, default, boolean=False): ## @param DD_SUBMIT_ENHANCED_METRICS - boolean - optional - default: true ## Set this variable to `False` to disable enhanced metrics for other lambda functions. # -DD_SUBMIT_ENHANCED_METRICS_ENV = get_env_var("DD_SUBMIT_ENHANCED_METRICS", "true", boolean=True) +DD_SUBMIT_ENHANCED_METRICS_ENV = get_env_var( + "DD_SUBMIT_ENHANCED_METRICS", "true", boolean=True +) class ScrubbingRuleConfig(object): def __init__(self, name, pattern, placeholder): From 8b7357d3b597814d8277035bb98f4512850b5bdf Mon Sep 17 00:00:00 2001 From: perzycharles Date: Tue, 9 Apr 2024 17:33:36 +0900 Subject: [PATCH 4/4] add 1 more line break for file setting.py --- aws/logs_monitoring/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/aws/logs_monitoring/settings.py b/aws/logs_monitoring/settings.py index 9909ff6e0..15c4f1c58 100644 --- a/aws/logs_monitoring/settings.py +++ b/aws/logs_monitoring/settings.py @@ -160,6 +160,7 @@ def get_env_var(envvar, default, boolean=False): "DD_SUBMIT_ENHANCED_METRICS", "true", boolean=True ) + class ScrubbingRuleConfig(object): def __init__(self, name, pattern, placeholder): self.name = name