@@ -182,8 +182,19 @@ def client_response_hook(span, future):
182
182
from opentelemetry .metrics import get_meter
183
183
from opentelemetry .metrics ._internal .instrument import Histogram
184
184
from opentelemetry .propagators import textmap
185
+ from opentelemetry .semconv ._incubating .attributes .http_attributes import (
186
+ HTTP_CLIENT_IP ,
187
+ HTTP_FLAVOR ,
188
+ HTTP_HOST ,
189
+ HTTP_METHOD ,
190
+ HTTP_SCHEME ,
191
+ HTTP_STATUS_CODE ,
192
+ HTTP_TARGET ,
193
+ )
194
+ from opentelemetry .semconv ._incubating .attributes .net_attributes import (
195
+ NET_PEER_IP ,
196
+ )
185
197
from opentelemetry .semconv .metrics import MetricInstruments
186
- from opentelemetry .semconv .trace import SpanAttributes
187
198
from opentelemetry .trace .status import Status , StatusCode
188
199
from opentelemetry .util .http import (
189
200
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST ,
@@ -442,23 +453,21 @@ def _collect_custom_response_headers_attributes(response_headers):
442
453
443
454
def _get_attributes_from_request (request ):
444
455
attrs = {
445
- SpanAttributes . HTTP_METHOD : request .method ,
446
- SpanAttributes . HTTP_SCHEME : request .protocol ,
447
- SpanAttributes . HTTP_HOST : request .host ,
448
- SpanAttributes . HTTP_TARGET : request .path ,
456
+ HTTP_METHOD : request .method ,
457
+ HTTP_SCHEME : request .protocol ,
458
+ HTTP_HOST : request .host ,
459
+ HTTP_TARGET : request .path ,
449
460
}
450
461
451
462
if request .remote_ip :
452
463
# NET_PEER_IP is the address of the network peer
453
464
# HTTP_CLIENT_IP is the address of the client, which might be different
454
465
# if Tornado is set to trust X-Forwarded-For headers (xheaders=True)
455
- attrs [SpanAttributes . HTTP_CLIENT_IP ] = request .remote_ip
466
+ attrs [HTTP_CLIENT_IP ] = request .remote_ip
456
467
if hasattr (request .connection , "context" ) and getattr (
457
468
request .connection .context , "_orig_remote_ip" , None
458
469
):
459
- attrs [SpanAttributes .NET_PEER_IP ] = (
460
- request .connection .context ._orig_remote_ip
461
- )
470
+ attrs [NET_PEER_IP ] = request .connection .context ._orig_remote_ip
462
471
463
472
return extract_attributes_from_object (
464
473
request , _traced_request_attrs , attrs
@@ -550,7 +559,7 @@ def _finish_span(tracer, handler, error=None):
550
559
return
551
560
552
561
if ctx .span .is_recording ():
553
- ctx .span .set_attribute (SpanAttributes . HTTP_STATUS_CODE , status_code )
562
+ ctx .span .set_attribute (HTTP_STATUS_CODE , status_code )
554
563
otel_status_code = http_status_to_status_code (
555
564
status_code , server_span = True
556
565
)
@@ -601,7 +610,7 @@ def _record_on_finish_metrics(server_histograms, handler, error=None):
601
610
metric_attributes = _create_metric_attributes (handler )
602
611
603
612
if isinstance (error , tornado .web .HTTPError ):
604
- metric_attributes [SpanAttributes . HTTP_STATUS_CODE ] = error .status_code
613
+ metric_attributes [HTTP_STATUS_CODE ] = error .status_code
605
614
606
615
server_histograms [MetricInstruments .HTTP_SERVER_RESPONSE_SIZE ].record (
607
616
response_size , attributes = metric_attributes
@@ -621,18 +630,18 @@ def _record_on_finish_metrics(server_histograms, handler, error=None):
621
630
622
631
def _create_active_requests_attributes (request ):
623
632
metric_attributes = {
624
- SpanAttributes . HTTP_METHOD : request .method ,
625
- SpanAttributes . HTTP_SCHEME : request .protocol ,
626
- SpanAttributes . HTTP_FLAVOR : request .version ,
627
- SpanAttributes . HTTP_HOST : request .host ,
628
- SpanAttributes . HTTP_TARGET : request .path ,
633
+ HTTP_METHOD : request .method ,
634
+ HTTP_SCHEME : request .protocol ,
635
+ HTTP_FLAVOR : request .version ,
636
+ HTTP_HOST : request .host ,
637
+ HTTP_TARGET : request .path ,
629
638
}
630
639
631
640
return metric_attributes
632
641
633
642
634
643
def _create_metric_attributes (handler ):
635
644
metric_attributes = _create_active_requests_attributes (handler .request )
636
- metric_attributes [SpanAttributes . HTTP_STATUS_CODE ] = handler .get_status ()
645
+ metric_attributes [HTTP_STATUS_CODE ] = handler .get_status ()
637
646
638
647
return metric_attributes
0 commit comments