Skip to content

Commit 8ca9017

Browse files
roger-zhanggleandrodamascenaheitorlessa
authored
feat(metrics): add Datadog observability provider (aws-powertools#2906)
Co-authored-by: Leandro Damascena <lcdama@amazon.pt> Co-authored-by: heitorlessa <lessa@amazon.co.uk>
1 parent 0485c8a commit 8ca9017

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1840
-151
lines changed

.markdownlintignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
docs/core/metrics/index.md
2+
includes/abbreviations.md

aws_lambda_powertools/metrics/metrics.py

+2
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ def lambda_handler():
5151
service name to be used as metric dimension, by default "service_undefined"
5252
namespace : str, optional
5353
Namespace for metrics
54+
provider: AmazonCloudWatchEMFProvider, optional
55+
Pre-configured AmazonCloudWatchEMFProvider provider
5456
5557
Raises
5658
------

aws_lambda_powertools/metrics/provider/base.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,13 @@ def handler(event, context):
179179
e
180180
Propagate error received
181181
"""
182+
extra_args = {}
182183

183-
default_dimensions = kwargs.get("default_dimensions")
184+
if kwargs.get("default_dimensions"):
185+
extra_args.update({"default_dimensions": kwargs.get("default_dimensions")})
186+
187+
if kwargs.get("default_tags"):
188+
extra_args.update({"default_tags": kwargs.get("default_tags")})
184189

185190
# If handler is None we've been called with parameters
186191
# Return a partial function with args filled
@@ -190,7 +195,7 @@ def handler(event, context):
190195
self.log_metrics,
191196
capture_cold_start_metric=capture_cold_start_metric,
192197
raise_on_empty_metrics=raise_on_empty_metrics,
193-
default_dimensions=default_dimensions,
198+
**extra_args,
194199
)
195200

196201
@functools.wraps(lambda_handler)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from aws_lambda_powertools.metrics.provider.datadog.datadog import DatadogProvider
2+
from aws_lambda_powertools.metrics.provider.datadog.metrics import DatadogMetrics
3+
4+
__all__ = [
5+
"DatadogMetrics",
6+
"DatadogProvider",
7+
]

0 commit comments

Comments
 (0)