File tree Expand file tree Collapse file tree 2 files changed +26
-13
lines changed
Expand file tree Collapse file tree 2 files changed +26
-13
lines changed Original file line number Diff line number Diff line change @@ -327,19 +327,25 @@ def extract_trigger_tags(event: dict, context: Any) -> dict:
327327 """
328328 Parses the trigger event object to get tags to be added to the span metadata
329329 """
330- trigger_tags = {}
331- event_source = parse_event_source (event )
332- if event_source .to_string () is not None and event_source .to_string () != "unknown" :
333- trigger_tags ["function_trigger.event_source" ] = event_source .to_string ()
334-
335- event_source_arn = get_event_source_arn (event_source , event , context )
336- if event_source_arn :
337- trigger_tags ["function_trigger.event_source_arn" ] = event_source_arn
338-
339- if event_source .event_type in _http_event_types :
340- trigger_tags .update (extract_http_tags (event ))
341-
342- return trigger_tags
330+ try :
331+ trigger_tags = {}
332+ event_source = parse_event_source (event )
333+ if event_source .to_string () is not None and event_source .to_string () != "unknown" :
334+ trigger_tags ["function_trigger.event_source" ] = event_source .to_string ()
335+
336+ event_source_arn = get_event_source_arn (event_source , event , context )
337+ if event_source_arn :
338+ trigger_tags ["function_trigger.event_source_arn" ] = event_source_arn
339+
340+ if event_source .event_type in _http_event_types :
341+ trigger_tags .update (extract_http_tags (event ))
342+
343+ return trigger_tags
344+ except Exception as e :
345+ import logging
346+ logger = logging .getLogger (__name__ )
347+ logger .info (f"Datadog failed to extract trigger tags: { e } " )
348+ return {}
343349
344350
345351_str_http_triggers = [et .value for et in _http_event_types ]
Original file line number Diff line number Diff line change @@ -530,6 +530,13 @@ def test_extract_trigger_tags_list_type_event(self):
530530 tags = extract_trigger_tags (event , ctx )
531531 self .assertEqual (tags , {})
532532
533+ def test_extract_trigger_tags_error_handling (self ):
534+ event = {"requestContext" : "not_a_dict" } # This would cause an error as requestContext is not a dict
535+ ctx = get_mock_context ()
536+
537+ tags = extract_trigger_tags (event , ctx )
538+ self .assertEqual (tags , {})
539+
533540
534541class ExtractHTTPStatusCodeTag (unittest .TestCase ):
535542 def test_extract_http_status_code_tag_from_response_dict (self ):
You can’t perform that action at this time.
0 commit comments