Skip to content

Commit b5c5adf

Browse files
committed
.
1 parent acb5e19 commit b5c5adf

2 files changed

Lines changed: 23 additions & 20 deletions

File tree

‎sentry_sdk/integrations/aws_lambda/_handler.py‎

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,6 @@ def sentry_handler(
152152
}
153153

154154
function_name = aws_context.function_name
155-
invoked_function_arn = aws_context.invoked_function_arn
156-
function_version = aws_context.function_version
157155

158156
attributes: "Attributes" = {
159157
SPANDATA.SENTRY_OP: OP.FUNCTION_AWS,
@@ -162,30 +160,34 @@ def sentry_handler(
162160
SPANDATA.SENTRY_SEGMENT_NAME_SOURCE: SegmentNameSource.COMPONENT,
163161
SPANDATA.CLOUD_PROVIDER: CLOUD_PROVIDER,
164162
SPANDATA.CLOUD_PLATFORM: CLOUD_PLATFORM,
165-
SPANDATA.CLOUD_REGION: environ["AWS_REGION"],
166-
SPANDATA.FAAS_NAME: environ["AWS_LAMBDA_FUNCTION_NAME"],
167-
SPANDATA.FAAS_VERSION: environ["AWS_LAMBDA_FUNCTION_VERSION"],
168-
SPANDATA.FAAS_INVOCATION_ID: aws_context.aws_request_id,
169-
SPANDATA.AWS_LAMBDA_INVOKED_ARN: invoked_function_arn,
170-
SPANDATA.AWS_LOG_GROUP_NAMES: [aws_context.log_group_name],
171-
SPANDATA.AWS_LOG_STREAM_NAMES: [aws_context.log_stream_name],
172163
SPANDATA.MESSAGING_BATCH_MESSAGE_COUNT: batch_size,
173164
**header_attributes,
174165
**additional_attributes,
175166
}
176167

177-
arn_parts = invoked_function_arn.split(":")
178168
with capture_internal_exceptions():
179-
attributes[SPANDATA.CLOUD_ACCOUNT_ID] = arn_parts[4]
180-
181-
resource_id = ":".join(arn_parts[:7])
182-
if function_version != LATEST_FUNCTION_VERSION:
183-
resource_id = f"{resource_id}:{function_version}"
184-
attributes[SPANDATA.CLOUD_RESOURCE_ID] = resource_id
169+
invoked_function_arn = aws_context.invoked_function_arn
170+
function_version = aws_context.function_version
171+
arn_parts = invoked_function_arn.split(":")
172+
resource_id = ":".join(arn_parts[:7])
173+
if function_version != LATEST_FUNCTION_VERSION:
174+
resource_id = f"{resource_id}:{function_version}"
175+
176+
attributes.update(
177+
{
178+
SPANDATA.CLOUD_REGION: environ["AWS_REGION"],
179+
SPANDATA.CLOUD_ACCOUNT_ID: arn_parts[4],
180+
SPANDATA.CLOUD_RESOURCE_ID: resource_id,
181+
SPANDATA.FAAS_NAME: environ["AWS_LAMBDA_FUNCTION_NAME"],
182+
SPANDATA.FAAS_VERSION: environ["AWS_LAMBDA_FUNCTION_VERSION"],
183+
SPANDATA.FAAS_INVOCATION_ID: aws_context.aws_request_id,
184+
SPANDATA.AWS_LAMBDA_INVOKED_ARN: invoked_function_arn,
185+
SPANDATA.AWS_LOG_GROUP_NAMES: [aws_context.log_group_name],
186+
SPANDATA.AWS_LOG_STREAM_NAMES: [aws_context.log_stream_name],
187+
}
188+
)
185189

186-
if "AWS_LAMBDA_METADATA_API" in environ and has_span_streaming_enabled(
187-
client.options
188-
):
190+
if "AWS_LAMBDA_METADATA_API" in environ:
189191
with capture_internal_exceptions():
190192
availability_zone = _get_availability_zone()
191193
if availability_zone is not None:

‎sentry_sdk/integrations/aws_lambda/_metadata.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import urllib3
77

88
from sentry_sdk.integrations.aws_lambda.consts import (
9+
LAMBDA_METADATA_FAILURE_CACHE_SECONDS,
910
LAMBDA_METADATA_PATH,
1011
)
1112

@@ -21,7 +22,7 @@
2122

2223

2324
def _get_availability_zone() -> "Optional[str]":
24-
now = time.monotonic()
25+
now = time.time()
2526
global _lambda_metadata_cache
2627
if _lambda_metadata_cache is not None and _lambda_metadata_cache[0] > now:
2728
return _lambda_metadata_cache[1]

0 commit comments

Comments
 (0)