Skip to content

Commit 9808873

Browse files
Add None checking to the aws-lambda logic
1 parent 890e5dd commit 9808873

File tree

1 file changed

+43
-31
lines changed
  • instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda

1 file changed

+43
-31
lines changed

instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/__init__.py

+43-31
Original file line numberDiff line numberDiff line change
@@ -204,24 +204,30 @@ def _set_api_gateway_v1_proxy_attributes(
204204
span.set_attribute(SpanAttributes.HTTP_ROUTE, lambda_event.get("resource"))
205205

206206
if lambda_event.get("headers"):
207-
span.set_attribute(
208-
SpanAttributes.HTTP_USER_AGENT,
209-
lambda_event["headers"].get("User-Agent"),
210-
)
211-
span.set_attribute(
212-
SpanAttributes.HTTP_SCHEME,
213-
lambda_event["headers"].get("X-Forwarded-Proto"),
214-
)
215-
span.set_attribute(
216-
SpanAttributes.NET_HOST_NAME, lambda_event["headers"].get("Host")
217-
)
207+
if lambda_event["headers"].get("User-Agent"):
208+
span.set_attribute(
209+
SpanAttributes.HTTP_USER_AGENT,
210+
lambda_event["headers"].get("User-Agent"),
211+
)
212+
if lambda_event["headers"].get("X-Forwarded-Proto"):
213+
span.set_attribute(
214+
SpanAttributes.HTTP_SCHEME,
215+
lambda_event["headers"].get("X-Forwarded-Proto"),
216+
)
217+
if lambda_event["headers"].get("Host"):
218+
span.set_attribute(
219+
SpanAttributes.NET_HOST_NAME,
220+
lambda_event["headers"].get("Host"),
221+
)
218222

219-
if lambda_event.get("queryStringParameters"):
223+
if lambda_event.get("queryStringParameters") and lambda_event.get(
224+
"resource"
225+
):
220226
span.set_attribute(
221227
SpanAttributes.HTTP_TARGET,
222228
f"{lambda_event.get('resource')}?{urlencode(lambda_event.get('queryStringParameters'))}",
223229
)
224-
else:
230+
elif lambda_event.get("resource"):
225231
span.set_attribute(
226232
SpanAttributes.HTTP_TARGET, lambda_event.get("resource")
227233
)
@@ -237,31 +243,37 @@ def _set_api_gateway_v2_proxy_attributes(
237243
More info:
238244
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
239245
"""
240-
span.set_attribute(
241-
SpanAttributes.NET_HOST_NAME,
242-
lambda_event["requestContext"].get("domainName"),
243-
)
244-
245-
if lambda_event["requestContext"].get("http"):
246-
span.set_attribute(
247-
SpanAttributes.HTTP_METHOD,
248-
lambda_event["requestContext"]["http"].get("method"),
249-
)
246+
if lambda_event["requestContext"].get("domainName"):
250247
span.set_attribute(
251-
SpanAttributes.HTTP_USER_AGENT,
252-
lambda_event["requestContext"]["http"].get("userAgent"),
253-
)
254-
span.set_attribute(
255-
SpanAttributes.HTTP_ROUTE,
256-
lambda_event["requestContext"]["http"].get("path"),
248+
SpanAttributes.NET_HOST_NAME,
249+
lambda_event["requestContext"].get("domainName"),
257250
)
258251

259-
if lambda_event.get("rawQueryString"):
252+
if lambda_event["requestContext"].get("http"):
253+
if lambda_event["requestContext"]["http"].get("method"):
254+
span.set_attribute(
255+
SpanAttributes.HTTP_METHOD,
256+
lambda_event["requestContext"]["http"].get("method"),
257+
)
258+
if lambda_event["requestContext"]["http"].get("userAgent"):
259+
span.set_attribute(
260+
SpanAttributes.HTTP_USER_AGENT,
261+
lambda_event["requestContext"]["http"].get("userAgent"),
262+
)
263+
if lambda_event["requestContext"]["http"].get("path"):
264+
span.set_attribute(
265+
SpanAttributes.HTTP_ROUTE,
266+
lambda_event["requestContext"]["http"].get("path"),
267+
)
268+
269+
if lambda_event.get("rawQueryString") and lambda_event[
270+
"requestContext"
271+
]["http"].get("path"):
260272
span.set_attribute(
261273
SpanAttributes.HTTP_TARGET,
262274
f"{lambda_event['requestContext']['http'].get('path')}?{lambda_event.get('rawQueryString')}",
263275
)
264-
else:
276+
elif lambda_event["requestContext"]["http"].get("path"):
265277
span.set_attribute(
266278
SpanAttributes.HTTP_TARGET,
267279
lambda_event["requestContext"]["http"].get("path"),

0 commit comments

Comments
 (0)