Skip to content

Commit 6aee147

Browse files
authored
Revert "Send errors metrics for 5xx response from API Gateway, Lambda Function URL, or ALB (#229)"
This reverts commit ef9f18c.
1 parent ef9f18c commit 6aee147

File tree

4 files changed

+3
-94
lines changed

4 files changed

+3
-94
lines changed

datadog_lambda/tracing.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
from datetime import datetime, timezone
1111
from typing import Optional, Dict
1212

13-
from datadog_lambda.metric import submit_errors_metric
14-
1513
try:
1614
from typing import Literal
1715
except ImportError:
@@ -961,13 +959,6 @@ def create_function_execution_span(
961959
return span
962960

963961

964-
def mark_trace_as_error_for_5xx_responses(context, status_code, span):
965-
if len(status_code) == 3 and status_code.startswith("5"):
966-
submit_errors_metric(context)
967-
if span:
968-
span.error = 1
969-
970-
971962
class InferredSpanInfo(object):
972963
BASE_NAME = "_inferred_span"
973964
SYNCHRONICITY = f"{BASE_NAME}.synchronicity"

datadog_lambda/wrapper.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
from datadog_lambda.extension import should_use_extension, flush_extension
1212
from datadog_lambda.cold_start import set_cold_start, is_cold_start
1313
from datadog_lambda.constants import (
14-
TraceContextSource,
1514
XraySubsegment,
15+
TraceContextSource,
1616
)
1717
from datadog_lambda.metric import (
1818
flush_stats,
@@ -26,7 +26,6 @@
2626
create_dd_dummy_metadata_subsegment,
2727
inject_correlation_ids,
2828
dd_tracing_enabled,
29-
mark_trace_as_error_for_5xx_responses,
3029
set_correlation_ids,
3130
set_dd_trace_py_root,
3231
create_function_execution_span,
@@ -152,7 +151,7 @@ def __call__(self, event, context, **kwargs):
152151

153152
def _before(self, event, context):
154153
try:
155-
self.response = None
154+
156155
set_cold_start()
157156
submit_invocations_metric(context)
158157
self.trigger_tags = extract_trigger_tags(event, context)
@@ -191,8 +190,6 @@ def _after(self, event, context):
191190
status_code = extract_http_status_code_tag(self.trigger_tags, self.response)
192191
if status_code:
193192
self.trigger_tags["http.status_code"] = status_code
194-
mark_trace_as_error_for_5xx_responses(context, status_code, self.span)
195-
196193
# Create a new dummy Datadog subsegment for function trigger tags so we
197194
# can attach them to X-Ray spans when hybrid tracing is used
198195
if self.trigger_tags:

tests/test_tracing.py

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
import json
33
import os
44

5-
from unittest.mock import MagicMock, Mock, patch, call
5+
from unittest.mock import MagicMock, patch, call
66

7-
import ddtrace
8-
from ddtrace.constants import ERROR_MSG, ERROR_TYPE
97
from ddtrace.helpers import get_correlation_ids
108
from ddtrace.context import Context
119

@@ -20,7 +18,6 @@
2018
create_dd_dummy_metadata_subsegment,
2119
create_function_execution_span,
2220
get_dd_trace_context,
23-
mark_trace_as_error_for_5xx_responses,
2421
set_correlation_ids,
2522
set_dd_trace_py_root,
2623
_convert_xray_trace_id,
@@ -1194,24 +1191,3 @@ def test_create_inferred_span_from_api_gateway_event_no_apiid(self):
11941191
self.assertEqual(span.span_type, "http")
11951192
self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self")
11961193
self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "sync")
1197-
1198-
@patch("datadog_lambda.tracing.submit_errors_metric")
1199-
def test_mark_trace_as_error_for_5xx_responses_getting_400_response_code(
1200-
self, mock_submit_errors_metric
1201-
):
1202-
mark_trace_as_error_for_5xx_responses(
1203-
context="fake_context", status_code="400", span="empty_span"
1204-
)
1205-
mock_submit_errors_metric.assert_not_called()
1206-
1207-
@patch("datadog_lambda.tracing.submit_errors_metric")
1208-
def test_mark_trace_as_error_for_5xx_responses_sends_error_metric_and_set_error_tags(
1209-
self, mock_submit_errors_metric
1210-
):
1211-
mock_span = Mock(ddtrace.span.Span)
1212-
status_code = "500"
1213-
mark_trace_as_error_for_5xx_responses(
1214-
context="fake_context", status_code=status_code, span=mock_span
1215-
)
1216-
mock_submit_errors_metric.assert_called_once()
1217-
self.assertEqual(1, mock_span.error)

tests/test_wrapper.py

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -275,61 +275,6 @@ def lambda_handler(event, context):
275275
]
276276
)
277277

278-
@patch("datadog_lambda.wrapper.extract_trigger_tags")
279-
def test_5xx_sends_errors_metric_and_set_tags(self, mock_extract_trigger_tags):
280-
mock_extract_trigger_tags.return_value = {
281-
"function_trigger.event_source": "api-gateway",
282-
"function_trigger.event_source_arn": "arn:aws:apigateway:us-west-1::/restapis/1234567890/stages/prod",
283-
"http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com",
284-
"http.url_details.path": "/prod/path/to/resource",
285-
"http.method": "GET",
286-
}
287-
288-
@datadog_lambda_wrapper
289-
def lambda_handler(event, context):
290-
return {"statusCode": 500, "body": "fake response body"}
291-
292-
lambda_event = {}
293-
294-
lambda_handler(lambda_event, get_mock_context())
295-
296-
self.mock_write_metric_point_to_stdout.assert_has_calls(
297-
[
298-
call(
299-
"aws.lambda.enhanced.invocations",
300-
1,
301-
tags=[
302-
"region:us-west-1",
303-
"account_id:123457598159",
304-
"functionname:python-layer-test",
305-
"resource:python-layer-test:1",
306-
"cold_start:true",
307-
"memorysize:256",
308-
"runtime:python3.9",
309-
"datadog_lambda:v6.6.6",
310-
"dd_lambda_layer:datadog-python39_X.X.X",
311-
],
312-
timestamp=None,
313-
),
314-
call(
315-
"aws.lambda.enhanced.errors",
316-
1,
317-
tags=[
318-
"region:us-west-1",
319-
"account_id:123457598159",
320-
"functionname:python-layer-test",
321-
"resource:python-layer-test:1",
322-
"cold_start:true",
323-
"memorysize:256",
324-
"runtime:python3.9",
325-
"datadog_lambda:v6.6.6",
326-
"dd_lambda_layer:datadog-python39_X.X.X",
327-
],
328-
timestamp=None,
329-
),
330-
]
331-
)
332-
333278
def test_enhanced_metrics_cold_start_tag(self):
334279
@datadog_lambda_wrapper
335280
def lambda_handler(event, context):

0 commit comments

Comments
 (0)