Skip to content

Commit

Permalink
feat(metrics): add Datadog observability provider (#2906)
Browse files Browse the repository at this point in the history
Co-authored-by: Leandro Damascena <lcdama@amazon.pt>
Co-authored-by: heitorlessa <lessa@amazon.co.uk>
  • Loading branch information
3 people committed Aug 14, 2023
1 parent 0485c8a commit 8ca9017
Show file tree
Hide file tree
Showing 45 changed files with 1,840 additions and 151 deletions.
2 changes: 2 additions & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
docs/core/metrics/index.md
includes/abbreviations.md
2 changes: 2 additions & 0 deletions aws_lambda_powertools/metrics/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ def lambda_handler():
service name to be used as metric dimension, by default "service_undefined"
namespace : str, optional
Namespace for metrics
provider: AmazonCloudWatchEMFProvider, optional
Pre-configured AmazonCloudWatchEMFProvider provider
Raises
------
Expand Down
9 changes: 7 additions & 2 deletions aws_lambda_powertools/metrics/provider/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,13 @@ def handler(event, context):
e
Propagate error received
"""
extra_args = {}

default_dimensions = kwargs.get("default_dimensions")
if kwargs.get("default_dimensions"):
extra_args.update({"default_dimensions": kwargs.get("default_dimensions")})

if kwargs.get("default_tags"):
extra_args.update({"default_tags": kwargs.get("default_tags")})

# If handler is None we've been called with parameters
# Return a partial function with args filled
Expand All @@ -190,7 +195,7 @@ def handler(event, context):
self.log_metrics,
capture_cold_start_metric=capture_cold_start_metric,
raise_on_empty_metrics=raise_on_empty_metrics,
default_dimensions=default_dimensions,
**extra_args,
)

@functools.wraps(lambda_handler)
Expand Down
7 changes: 7 additions & 0 deletions aws_lambda_powertools/metrics/provider/datadog/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from aws_lambda_powertools.metrics.provider.datadog.datadog import DatadogProvider
from aws_lambda_powertools.metrics.provider.datadog.metrics import DatadogMetrics

__all__ = [
"DatadogMetrics",
"DatadogProvider",
]
Loading

0 comments on commit 8ca9017

Please sign in to comment.