in aws_lambda_powertools/tracing/tracer.py [0:0]
def decorate(event, context, **kwargs):
with self.provider.in_subsegment(name=f"## {lambda_handler_name}") as subsegment:
global is_cold_start
logger.debug("Annotating cold start")
subsegment.put_annotation(key="ColdStart", value=is_cold_start)
if is_cold_start:
is_cold_start = False
if self.service:
subsegment.put_annotation(key="Service", value=self.service)
try:
logger.debug("Calling lambda handler")
response = lambda_handler(event, context, **kwargs)
logger.debug("Received lambda handler response successfully")
self._add_response_as_metadata(
method_name=lambda_handler_name,
data=response,
subsegment=subsegment,
capture_response=capture_response,
)
except Exception as err:
logger.exception(f"Exception received from {lambda_handler_name}")
self._add_full_exception_as_metadata(
method_name=lambda_handler_name, error=err, subsegment=subsegment, capture_error=capture_error
)
raise
return response