@@ -86,8 +86,25 @@ def custom_event_context_extractor(lambda_event):
8686from  opentelemetry .instrumentation .utils  import  unwrap 
8787from  opentelemetry .metrics  import  MeterProvider , get_meter_provider 
8888from  opentelemetry .propagate  import  get_global_textmap 
89+ from  opentelemetry .semconv ._incubating .attributes .cloud_attributes  import  (
90+     CLOUD_RESOURCE_ID ,
91+ )
92+ from  opentelemetry .semconv ._incubating .attributes .faas_attributes  import  (
93+     FAAS_INVOCATION_ID ,
94+     FAAS_TRIGGER ,
95+ )
96+ from  opentelemetry .semconv ._incubating .attributes .http_attributes  import  (
97+     HTTP_METHOD ,
98+     HTTP_ROUTE ,
99+     HTTP_SCHEME ,
100+     HTTP_STATUS_CODE ,
101+     HTTP_TARGET ,
102+     HTTP_USER_AGENT ,
103+ )
104+ from  opentelemetry .semconv ._incubating .attributes .net_attributes  import  (
105+     NET_HOST_NAME ,
106+ )
89107from  opentelemetry .semconv .resource  import  ResourceAttributes 
90- from  opentelemetry .semconv .trace  import  SpanAttributes 
91108from  opentelemetry .trace  import  (
92109    Span ,
93110    SpanKind ,
@@ -171,38 +188,34 @@ def _set_api_gateway_v1_proxy_attributes(
171188    More info: 
172189    https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format 
173190    """ 
174-     span .set_attribute (
175-         SpanAttributes .HTTP_METHOD , lambda_event .get ("httpMethod" )
176-     )
191+     span .set_attribute (HTTP_METHOD , lambda_event .get ("httpMethod" ))
177192
178193    if  lambda_event .get ("headers" ):
179194        if  "User-Agent"  in  lambda_event ["headers" ]:
180195            span .set_attribute (
181-                 SpanAttributes . HTTP_USER_AGENT ,
196+                 HTTP_USER_AGENT ,
182197                lambda_event ["headers" ]["User-Agent" ],
183198            )
184199        if  "X-Forwarded-Proto"  in  lambda_event ["headers" ]:
185200            span .set_attribute (
186-                 SpanAttributes . HTTP_SCHEME ,
201+                 HTTP_SCHEME ,
187202                lambda_event ["headers" ]["X-Forwarded-Proto" ],
188203            )
189204        if  "Host"  in  lambda_event ["headers" ]:
190205            span .set_attribute (
191-                 SpanAttributes . NET_HOST_NAME ,
206+                 NET_HOST_NAME ,
192207                lambda_event ["headers" ]["Host" ],
193208            )
194209    if  "resource"  in  lambda_event :
195-         span .set_attribute (SpanAttributes . HTTP_ROUTE , lambda_event ["resource" ])
210+         span .set_attribute (HTTP_ROUTE , lambda_event ["resource" ])
196211
197212        if  lambda_event .get ("queryStringParameters" ):
198213            span .set_attribute (
199-                 SpanAttributes . HTTP_TARGET ,
214+                 HTTP_TARGET ,
200215                f"{ lambda_event ['resource' ]}  ?{ urlencode (lambda_event ['queryStringParameters' ])}  " ,
201216            )
202217        else :
203-             span .set_attribute (
204-                 SpanAttributes .HTTP_TARGET , lambda_event ["resource" ]
205-             )
218+             span .set_attribute (HTTP_TARGET , lambda_event ["resource" ])
206219
207220    return  span 
208221
@@ -217,34 +230,34 @@ def _set_api_gateway_v2_proxy_attributes(
217230    """ 
218231    if  "domainName"  in  lambda_event ["requestContext" ]:
219232        span .set_attribute (
220-             SpanAttributes . NET_HOST_NAME ,
233+             NET_HOST_NAME ,
221234            lambda_event ["requestContext" ]["domainName" ],
222235        )
223236
224237    if  lambda_event ["requestContext" ].get ("http" ):
225238        if  "method"  in  lambda_event ["requestContext" ]["http" ]:
226239            span .set_attribute (
227-                 SpanAttributes . HTTP_METHOD ,
240+                 HTTP_METHOD ,
228241                lambda_event ["requestContext" ]["http" ]["method" ],
229242            )
230243        if  "userAgent"  in  lambda_event ["requestContext" ]["http" ]:
231244            span .set_attribute (
232-                 SpanAttributes . HTTP_USER_AGENT ,
245+                 HTTP_USER_AGENT ,
233246                lambda_event ["requestContext" ]["http" ]["userAgent" ],
234247            )
235248        if  "path"  in  lambda_event ["requestContext" ]["http" ]:
236249            span .set_attribute (
237-                 SpanAttributes . HTTP_ROUTE ,
250+                 HTTP_ROUTE ,
238251                lambda_event ["requestContext" ]["http" ]["path" ],
239252            )
240253            if  lambda_event .get ("rawQueryString" ):
241254                span .set_attribute (
242-                     SpanAttributes . HTTP_TARGET ,
255+                     HTTP_TARGET ,
243256                    f"{ lambda_event ['requestContext' ]['http' ]['path' ]}  ?{ lambda_event ['rawQueryString' ]}  " ,
244257                )
245258            else :
246259                span .set_attribute (
247-                     SpanAttributes . HTTP_TARGET ,
260+                     HTTP_TARGET ,
248261                    lambda_event ["requestContext" ]["http" ]["path" ],
249262                )
250263
@@ -319,11 +332,11 @@ def _instrumented_lambda_handler_call(  # noqa pylint: disable=too-many-branches
319332                    # See more: 
320333                    # https://github.com/open-telemetry/semantic-conventions/blob/main/docs/faas/aws-lambda.md#resource-detector 
321334                    span .set_attribute (
322-                         SpanAttributes . CLOUD_RESOURCE_ID ,
335+                         CLOUD_RESOURCE_ID ,
323336                        lambda_context .invoked_function_arn ,
324337                    )
325338                    span .set_attribute (
326-                         SpanAttributes . FAAS_INVOCATION_ID ,
339+                         FAAS_INVOCATION_ID ,
327340                        lambda_context .aws_request_id ,
328341                    )
329342
@@ -354,7 +367,7 @@ def _instrumented_lambda_handler_call(  # noqa pylint: disable=too-many-branches
354367                if  isinstance (lambda_event , dict ) and  lambda_event .get (
355368                    "requestContext" 
356369                ):
357-                     span .set_attribute (SpanAttributes . FAAS_TRIGGER , "http" )
370+                     span .set_attribute (FAAS_TRIGGER , "http" )
358371
359372                    if  lambda_event .get ("version" ) ==  "2.0" :
360373                        _set_api_gateway_v2_proxy_attributes (
@@ -367,7 +380,7 @@ def _instrumented_lambda_handler_call(  # noqa pylint: disable=too-many-branches
367380
368381                    if  isinstance (result , dict ) and  result .get ("statusCode" ):
369382                        span .set_attribute (
370-                             SpanAttributes . HTTP_STATUS_CODE ,
383+                             HTTP_STATUS_CODE ,
371384                            result .get ("statusCode" ),
372385                        )
373386        finally :
0 commit comments