@@ -204,24 +204,30 @@ def _set_api_gateway_v1_proxy_attributes(
204
204
span .set_attribute (SpanAttributes .HTTP_ROUTE , lambda_event .get ("resource" ))
205
205
206
206
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
+ )
218
222
219
- if lambda_event .get ("queryStringParameters" ):
223
+ if lambda_event .get ("queryStringParameters" ) and lambda_event .get (
224
+ "resource"
225
+ ):
220
226
span .set_attribute (
221
227
SpanAttributes .HTTP_TARGET ,
222
228
f"{ lambda_event .get ('resource' )} ?{ urlencode (lambda_event .get ('queryStringParameters' ))} " ,
223
229
)
224
- else :
230
+ elif lambda_event . get ( "resource" ) :
225
231
span .set_attribute (
226
232
SpanAttributes .HTTP_TARGET , lambda_event .get ("resource" )
227
233
)
@@ -237,31 +243,37 @@ def _set_api_gateway_v2_proxy_attributes(
237
243
More info:
238
244
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
239
245
"""
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" ):
250
247
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" ),
257
250
)
258
251
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" ):
260
272
span .set_attribute (
261
273
SpanAttributes .HTTP_TARGET ,
262
274
f"{ lambda_event ['requestContext' ]['http' ].get ('path' )} ?{ lambda_event .get ('rawQueryString' )} " ,
263
275
)
264
- else :
276
+ elif lambda_event [ "requestContext" ][ "http" ]. get ( "path" ) :
265
277
span .set_attribute (
266
278
SpanAttributes .HTTP_TARGET ,
267
279
lambda_event ["requestContext" ]["http" ].get ("path" ),
0 commit comments