diff --git a/datadog_lambda/wrapper.py b/datadog_lambda/wrapper.py index d022988b..8db0d247 100644 --- a/datadog_lambda/wrapper.py +++ b/datadog_lambda/wrapper.py @@ -188,7 +188,6 @@ def __call__(self, event, context, **kwargs): if self.blocking_response: return self.blocking_response self.response = self.func(event, context, **kwargs) - return self.response except BlockingException: self.blocking_response = get_asm_blocked_response(self.event_source) except Exception: @@ -201,8 +200,10 @@ def __call__(self, event, context, **kwargs): raise finally: self._after(event, context) - if self.blocking_response: - return self.blocking_response + + if self.blocking_response: + return self.blocking_response + return self.response def _inject_authorizer_span_headers(self, request_id): reference_span = self.inferred_span if self.inferred_span else self.span diff --git a/tests/integration/snapshots/logs/sync-metrics_python310.log b/tests/integration/snapshots/logs/sync-metrics_python310.log index 3747c3ae..757b6fc6 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python310.log +++ b/tests/integration/snapshots/logs/sync-metrics_python310.log @@ -75,6 +75,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "true", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -86,7 +87,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", "http.method": "GET", "http.route": "/", @@ -174,7 +174,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -227,6 +227,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -236,7 +237,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "language": "python" }, "metrics": { @@ -322,7 +322,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -455,6 +455,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -464,7 +465,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "XXXX" }, @@ -550,7 +550,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -635,6 +635,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -644,7 +645,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "eventbridge" }, "metrics": { @@ -729,7 +729,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -824,6 +824,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -835,7 +836,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX$default", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.route": "/httpapi/get", @@ -923,7 +923,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1015,6 +1015,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -1024,7 +1025,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "XXXX" }, @@ -1110,7 +1110,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1211,6 +1211,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -1220,7 +1221,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "XXXX" }, @@ -1306,7 +1306,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1396,6 +1396,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -1405,7 +1406,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "XXXX" }, @@ -1491,7 +1491,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1580,6 +1580,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -1589,7 +1590,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "XXXX" }, @@ -1675,7 +1675,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1770,6 +1770,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python310", "function_version": "$LATEST", @@ -1781,7 +1782,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", "http.status_code": "200" }, @@ -1867,7 +1867,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", diff --git a/tests/integration/snapshots/logs/sync-metrics_python311.log b/tests/integration/snapshots/logs/sync-metrics_python311.log index b614b122..a6a3931a 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python311.log +++ b/tests/integration/snapshots/logs/sync-metrics_python311.log @@ -75,6 +75,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "true", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -86,7 +87,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", "http.method": "GET", "http.route": "/", @@ -174,7 +174,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -227,6 +227,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -236,7 +237,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "language": "python" }, "metrics": { @@ -322,7 +322,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -455,6 +455,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -464,7 +465,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "XXXX" }, @@ -550,7 +550,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -635,6 +635,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -644,7 +645,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "eventbridge" }, "metrics": { @@ -729,7 +729,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -824,6 +824,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -835,7 +836,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX$default", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.route": "/httpapi/get", @@ -923,7 +923,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1015,6 +1015,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -1024,7 +1025,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "XXXX" }, @@ -1110,7 +1110,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1211,6 +1211,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -1220,7 +1221,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "XXXX" }, @@ -1306,7 +1306,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1396,6 +1396,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -1405,7 +1406,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "XXXX" }, @@ -1491,7 +1491,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1580,6 +1580,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -1589,7 +1590,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "XXXX" }, @@ -1675,7 +1675,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1770,6 +1770,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python311", "function_version": "$LATEST", @@ -1781,7 +1782,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", "http.status_code": "200" }, @@ -1867,7 +1867,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", diff --git a/tests/integration/snapshots/logs/sync-metrics_python312.log b/tests/integration/snapshots/logs/sync-metrics_python312.log index 593d9fbf..572fb9bd 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python312.log +++ b/tests/integration/snapshots/logs/sync-metrics_python312.log @@ -75,6 +75,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "true", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -86,7 +87,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", "http.method": "GET", "http.route": "/", @@ -174,7 +174,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -227,6 +227,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -236,7 +237,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "language": "python" }, "metrics": { @@ -322,7 +322,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -455,6 +455,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -464,7 +465,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "XXXX" }, @@ -550,7 +550,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -635,6 +635,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -644,7 +645,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "eventbridge" }, "metrics": { @@ -729,7 +729,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -824,6 +824,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -835,7 +836,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX$default", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.route": "/httpapi/get", @@ -923,7 +923,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1015,6 +1015,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -1024,7 +1025,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "XXXX" }, @@ -1110,7 +1110,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1211,6 +1211,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -1220,7 +1221,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "XXXX" }, @@ -1306,7 +1306,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1396,6 +1396,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -1405,7 +1406,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "XXXX" }, @@ -1491,7 +1491,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1580,6 +1580,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -1589,7 +1590,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "XXXX" }, @@ -1675,7 +1675,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1770,6 +1770,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python312", "function_version": "$LATEST", @@ -1781,7 +1782,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", "http.status_code": "200" }, @@ -1867,7 +1867,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", diff --git a/tests/integration/snapshots/logs/sync-metrics_python313.log b/tests/integration/snapshots/logs/sync-metrics_python313.log index c21fcaad..b79ab7fe 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python313.log +++ b/tests/integration/snapshots/logs/sync-metrics_python313.log @@ -75,6 +75,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "true", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -86,7 +87,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", "http.method": "GET", "http.route": "/", @@ -174,7 +174,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -227,6 +227,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -236,7 +237,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "language": "python" }, "metrics": { @@ -322,7 +322,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -455,6 +455,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -464,7 +465,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "XXXX" }, @@ -550,7 +550,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -635,6 +635,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -644,7 +645,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "eventbridge" }, "metrics": { @@ -729,7 +729,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -824,6 +824,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -835,7 +836,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX$default", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.route": "/httpapi/get", @@ -923,7 +923,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1015,6 +1015,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -1024,7 +1025,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "XXXX" }, @@ -1110,7 +1110,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1211,6 +1211,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -1220,7 +1221,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "XXXX" }, @@ -1306,7 +1306,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1396,6 +1396,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -1405,7 +1406,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "XXXX" }, @@ -1491,7 +1491,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1580,6 +1580,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -1589,7 +1590,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "XXXX" }, @@ -1675,7 +1675,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1770,6 +1770,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python313", "function_version": "$LATEST", @@ -1781,7 +1782,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", "http.status_code": "200" }, @@ -1867,7 +1867,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", diff --git a/tests/integration/snapshots/logs/sync-metrics_python314.log b/tests/integration/snapshots/logs/sync-metrics_python314.log index 090c3cba..3e523a0f 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python314.log +++ b/tests/integration/snapshots/logs/sync-metrics_python314.log @@ -75,6 +75,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "true", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -86,7 +87,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", "http.method": "GET", "http.route": "/", @@ -174,7 +174,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -227,6 +227,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -236,7 +237,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "language": "python" }, "metrics": { @@ -322,7 +322,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -455,6 +455,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -464,7 +465,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "XXXX" }, @@ -550,7 +550,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -635,6 +635,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -644,7 +645,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "eventbridge" }, "metrics": { @@ -729,7 +729,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -824,6 +824,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -835,7 +836,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX$default", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.route": "/httpapi/get", @@ -923,7 +923,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1015,6 +1015,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -1024,7 +1025,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "XXXX" }, @@ -1110,7 +1110,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1211,6 +1211,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -1220,7 +1221,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "XXXX" }, @@ -1306,7 +1306,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1396,6 +1396,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -1405,7 +1406,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "XXXX" }, @@ -1491,7 +1491,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1580,6 +1580,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -1589,7 +1590,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "XXXX" }, @@ -1675,7 +1675,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1770,6 +1770,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python314", "function_version": "$LATEST", @@ -1781,7 +1782,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", "http.status_code": "200" }, @@ -1867,7 +1867,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", diff --git a/tests/integration/snapshots/logs/sync-metrics_python38.log b/tests/integration/snapshots/logs/sync-metrics_python38.log index 32296126..9dd3f2c1 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python38.log +++ b/tests/integration/snapshots/logs/sync-metrics_python38.log @@ -75,6 +75,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "true", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -86,7 +87,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", "http.method": "GET", "http.route": "/", @@ -174,7 +174,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -227,6 +227,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -236,7 +237,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "language": "python" }, "metrics": { @@ -322,7 +322,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -455,6 +455,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -464,7 +465,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "XXXX" }, @@ -550,7 +550,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -635,6 +635,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -644,7 +645,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "eventbridge" }, "metrics": { @@ -729,7 +729,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -824,6 +824,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -835,7 +836,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX$default", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.route": "/httpapi/get", @@ -923,7 +923,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1015,6 +1015,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -1024,7 +1025,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "XXXX" }, @@ -1110,7 +1110,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1211,6 +1211,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -1220,7 +1221,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "XXXX" }, @@ -1306,7 +1306,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1396,6 +1396,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -1405,7 +1406,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "XXXX" }, @@ -1491,7 +1491,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1580,6 +1580,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -1589,7 +1590,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "XXXX" }, @@ -1675,7 +1675,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1770,6 +1770,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", @@ -1781,7 +1782,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", "http.status_code": "200" }, @@ -1867,7 +1867,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", diff --git a/tests/integration/snapshots/logs/sync-metrics_python39.log b/tests/integration/snapshots/logs/sync-metrics_python39.log index 1c1496d3..5fd09c8e 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python39.log +++ b/tests/integration/snapshots/logs/sync-metrics_python39.log @@ -75,6 +75,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "true", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -86,7 +87,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", "http.method": "GET", "http.route": "/", @@ -174,7 +174,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -227,6 +227,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -236,7 +237,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "language": "python" }, "metrics": { @@ -322,7 +322,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -455,6 +455,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -464,7 +465,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "XXXX" }, @@ -550,7 +550,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -635,6 +635,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -644,7 +645,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "eventbridge" }, "metrics": { @@ -729,7 +729,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -824,6 +824,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -835,7 +836,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX$default", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.route": "/httpapi/get", @@ -923,7 +923,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1015,6 +1015,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -1024,7 +1025,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "XXXX" }, @@ -1110,7 +1110,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1211,6 +1211,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -1220,7 +1221,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "XXXX" }, @@ -1306,7 +1306,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1396,6 +1396,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -1405,7 +1406,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "XXXX" }, @@ -1491,7 +1491,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1580,6 +1580,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -1589,7 +1590,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", - "span.kind": "server", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "XXXX" }, @@ -1675,7 +1675,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", @@ -1770,6 +1770,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "duration": "XXXX", "meta": { "_dd.origin": "lambda", + "span.kind": "server", "cold_start": "false", "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", @@ -1781,7 +1782,6 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "XXXX", - "span.kind": "server", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", "http.status_code": "200" }, @@ -1867,7 +1867,7 @@ HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "out.host": "api.datadoghq.com", - "http.status_code": "202", + "http.status_code": "403", "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", "_dd.p.dm": "-0", "_dd.p.tid": "XXXX", diff --git a/tests/test_wrapper.py b/tests/test_wrapper.py index 5b2afea8..b1aa1ae8 100644 --- a/tests/test_wrapper.py +++ b/tests/test_wrapper.py @@ -765,6 +765,23 @@ def lambda_handler(event, context): assert lambda_handler.span.get_tag("http.status_code") == "403" + def test_handler_exception_propagates_when_appsec_enabled(self): + # Regression guard: before the fix, `return` in the `finally` block + # would silently swallow handler exceptions when no blocking response + # was set, preventing them from reaching the caller. + self.mock_get_asm_blocking_response.return_value = None + + class HandlerError(Exception): + pass + + def lambda_handler(event, context): + raise HandlerError("handler error") + + lambda_handler = wrapper.datadog_lambda_wrapper(lambda_handler) + + with self.assertRaises(HandlerError): + lambda_handler(self.api_gateway_request, get_mock_context()) + def test_no_blocking_appsec_disabled(self): os.environ["DD_APPSEC_ENABLED"] = "false"