@@ -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