@@ -201,30 +201,35 @@ def _set_api_gateway_v1_proxy_attributes(
201
201
span .set_attribute (
202
202
SpanAttributes .HTTP_METHOD , lambda_event .get ("httpMethod" )
203
203
)
204
- span .set_attribute (SpanAttributes .HTTP_ROUTE , lambda_event .get ("resource" ))
205
204
206
205
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
- )
206
+ if "User-Agent" in lambda_event ["headers" ]:
207
+ span .set_attribute (
208
+ SpanAttributes .HTTP_USER_AGENT ,
209
+ lambda_event ["headers" ]["User-Agent" ],
210
+ )
211
+ if "X-Forwarded-Proto" in lambda_event ["headers" ]:
212
+ span .set_attribute (
213
+ SpanAttributes .HTTP_SCHEME ,
214
+ lambda_event ["headers" ]["X-Forwarded-Proto" ],
215
+ )
216
+ if "Host" in lambda_event ["headers" ]:
217
+ span .set_attribute (
218
+ SpanAttributes .NET_HOST_NAME ,
219
+ lambda_event ["headers" ]["Host" ],
220
+ )
221
+ if "resource" in lambda_event :
222
+ span .set_attribute (SpanAttributes .HTTP_ROUTE , lambda_event ["resource" ])
218
223
219
- if lambda_event .get ("queryStringParameters" ):
220
- span .set_attribute (
221
- SpanAttributes .HTTP_TARGET ,
222
- f"{ lambda_event . get ( 'resource' ) } ?{ urlencode (lambda_event . get ( 'queryStringParameters' ) )} " ,
223
- )
224
- else :
225
- span .set_attribute (
226
- SpanAttributes .HTTP_TARGET , lambda_event . get ( "resource" )
227
- )
224
+ if lambda_event .get ("queryStringParameters" ):
225
+ span .set_attribute (
226
+ SpanAttributes .HTTP_TARGET ,
227
+ f"{ lambda_event [ 'resource' ] } ?{ urlencode (lambda_event [ 'queryStringParameters' ] )} " ,
228
+ )
229
+ else :
230
+ span .set_attribute (
231
+ SpanAttributes .HTTP_TARGET , lambda_event [ "resource" ]
232
+ )
228
233
229
234
return span
230
235
@@ -237,35 +242,38 @@ def _set_api_gateway_v2_proxy_attributes(
237
242
More info:
238
243
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
239
244
"""
240
- span .set_attribute (
241
- SpanAttributes .NET_HOST_NAME ,
242
- lambda_event ["requestContext" ].get ("domainName" ),
243
- )
244
-
245
- if lambda_event ["requestContext" ].get ("http" ):
245
+ if "domainName" in lambda_event ["requestContext" ]:
246
246
span .set_attribute (
247
- SpanAttributes .HTTP_METHOD ,
248
- lambda_event ["requestContext" ]["http" ].get ("method" ),
249
- )
250
- 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" ),
247
+ SpanAttributes .NET_HOST_NAME ,
248
+ lambda_event ["requestContext" ]["domainName" ],
257
249
)
258
250
259
- if lambda_event .get ("rawQueryString" ):
251
+ if lambda_event ["requestContext" ].get ("http" ):
252
+ if "method" in lambda_event ["requestContext" ]["http" ]:
260
253
span .set_attribute (
261
- SpanAttributes .HTTP_TARGET ,
262
- f" { lambda_event [' requestContext' ][ ' http' ]. get ( 'path' ) } ? { lambda_event . get ( 'rawQueryString' ) } " ,
254
+ SpanAttributes .HTTP_METHOD ,
255
+ lambda_event [" requestContext" ][ " http" ][ "method" ] ,
263
256
)
264
- else :
257
+ if "userAgent" in lambda_event [ "requestContext" ][ "http" ] :
265
258
span .set_attribute (
266
- SpanAttributes .HTTP_TARGET ,
267
- lambda_event ["requestContext" ]["http" ].get ("path" ),
259
+ SpanAttributes .HTTP_USER_AGENT ,
260
+ lambda_event ["requestContext" ]["http" ]["userAgent" ],
261
+ )
262
+ if "path" in lambda_event ["requestContext" ]["http" ]:
263
+ span .set_attribute (
264
+ SpanAttributes .HTTP_ROUTE ,
265
+ lambda_event ["requestContext" ]["http" ]["path" ],
268
266
)
267
+ if lambda_event .get ("rawQueryString" ):
268
+ span .set_attribute (
269
+ SpanAttributes .HTTP_TARGET ,
270
+ f"{ lambda_event ['requestContext' ]['http' ]['path' ]} ?{ lambda_event ['rawQueryString' ]} " ,
271
+ )
272
+ else :
273
+ span .set_attribute (
274
+ SpanAttributes .HTTP_TARGET ,
275
+ lambda_event ["requestContext" ]["http" ]["path" ],
276
+ )
269
277
270
278
return span
271
279
0 commit comments