Skip to content

Commit 67a57eb

Browse files
committed
feat: add Service annotation when service is present
1 parent d7ab602 commit 67a57eb

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

aws_lambda_powertools/tracing/tracer.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def handler(event: dict, context: Any) -> Dict:
136136
"""
137137

138138
_default_config: Dict[str, Any] = {
139-
"service": "service_undefined",
139+
"service": "",
140140
"disabled": False,
141141
"auto_patch": True,
142142
"patch_modules": None,
@@ -317,6 +317,9 @@ def decorate(event, context, **kwargs):
317317
if is_cold_start:
318318
is_cold_start = False
319319

320+
if self.service:
321+
subsegment.put_annotation(key="Service", value=self.service)
322+
320323
try:
321324
logger.debug("Calling lambda handler")
322325
response = lambda_handler(event, context, **kwargs)

tests/unit/test_tracing.py

+21-2
Original file line numberDiff line numberDiff line change
@@ -589,10 +589,10 @@ def handler(event, context):
589589
handler({}, mocker.MagicMock())
590590

591591
# THEN
592-
assert in_subsegment_mock.put_annotation.call_args == mocker.call(key="ColdStart", value=True)
592+
assert in_subsegment_mock.put_annotation.call_args_list[0] == mocker.call(key="ColdStart", value=True)
593593

594594
handler({}, mocker.MagicMock())
595-
assert in_subsegment_mock.put_annotation.call_args == mocker.call(key="ColdStart", value=False)
595+
assert in_subsegment_mock.put_annotation.call_args_list[2] == mocker.call(key="ColdStart", value=False)
596596

597597

598598
def test_tracer_lambda_handler_add_service_annotation(mocker, dummy_response, provider_stub, in_subsegment_mock):
@@ -609,3 +609,22 @@ def handler(event, context):
609609

610610
# THEN
611611
assert in_subsegment_mock.put_annotation.call_args == mocker.call(key="Service", value="booking")
612+
613+
614+
def test_tracer_lambda_handler_do_not_add_service_annotation_when_missing(
615+
mocker, dummy_response, provider_stub, in_subsegment_mock
616+
):
617+
# GIVEN
618+
provider = provider_stub(in_subsegment=in_subsegment_mock.in_subsegment)
619+
tracer = Tracer(provider=provider)
620+
621+
# WHEN
622+
@tracer.capture_lambda_handler
623+
def handler(event, context):
624+
return dummy_response
625+
626+
handler({}, mocker.MagicMock())
627+
628+
# THEN
629+
assert in_subsegment_mock.put_annotation.call_count == 1
630+
assert in_subsegment_mock.put_annotation.call_args == mocker.call(key="ColdStart", value=True)

0 commit comments

Comments
 (0)