4646from opentelemetry .proto .trace .v1 .trace_pb2 import Span as PB2SPan
4747from opentelemetry .proto .trace .v1 .trace_pb2 import Status as PB2Status
4848from opentelemetry .proto .trace .v1 .trace_pb2 import SpanFlags as PB2SpanFlags
49+
50+ # Mask for all currently-defined span flag bits (0-9): lower 8 trace flags + has/is remote bits
51+ ALL_SPAN_FLAGS_MASK = (
52+ PB2SpanFlags .SPAN_FLAGS_TRACE_FLAGS_MASK
53+ | PB2SpanFlags .SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK
54+ | PB2SpanFlags .SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK
55+ )
4956from opentelemetry .sdk .trace import Event as SDKEvent
5057from opentelemetry .sdk .trace import Resource as SDKResource
5158from opentelemetry .sdk .trace import SpanContext as SDKSpanContext
@@ -508,35 +515,32 @@ def test_encode_status_code_translations(self):
508515
509516class TestSpanFlagsEncoding (unittest .TestCase ):
510517 def test_span_flags_root_unsampled (self ):
511- sc = SDKSpanContext (0x1 , 0x2 , is_remote = False , trace_flags = 0x00 )
512- span = SDKSpan (name = "root" , context = sc , parent = None )
513- span .start (); span .end ()
518+ span_context = SDKSpanContext (0x1 , 0x2 , is_remote = False , trace_flags = 0x00 )
519+ span = SDKSpan (name = "root" , context = span_context , parent = None )
514520 pb = _encode_span (span )
515521 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_TRACE_FLAGS_MASK ) == 0x00
516522 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK ) != 0
517523 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK ) == 0
518- assert (pb .flags & ~ 0x3FF ) == 0
524+ assert (pb .flags & ~ ALL_SPAN_FLAGS_MASK ) == 0
519525
520526 def test_span_flags_root_sampled (self ):
521- sc = SDKSpanContext (0x1 , 0x2 , is_remote = False , trace_flags = 0x01 )
522- span = SDKSpan (name = "root" , context = sc , parent = None )
523- span .start (); span .end ()
527+ span_context = SDKSpanContext (0x1 , 0x2 , is_remote = False , trace_flags = 0x01 )
528+ span = SDKSpan (name = "root" , context = span_context , parent = None )
524529 pb = _encode_span (span )
525530 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_TRACE_FLAGS_MASK ) == 0x01
526531 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK ) != 0
527532 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK ) == 0
528- assert (pb .flags & ~ 0x3FF ) == 0
533+ assert (pb .flags & ~ ALL_SPAN_FLAGS_MASK ) == 0
529534
530535 def test_span_flags_remote_parent_sampled (self ):
531536 parent = SDKSpanContext (0x1 , 0x9 , is_remote = True )
532- sc = SDKSpanContext (0x1 , 0x2 , is_remote = False , trace_flags = 0x01 )
533- span = SDKSpan (name = "child" , context = sc , parent = parent )
534- span .start (); span .end ()
537+ span_context = SDKSpanContext (0x1 , 0x2 , is_remote = False , trace_flags = 0x01 )
538+ span = SDKSpan (name = "child" , context = span_context , parent = parent )
535539 pb = _encode_span (span )
536540 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_TRACE_FLAGS_MASK ) == 0x01
537541 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK ) != 0
538542 assert (pb .flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK ) != 0
539- assert (pb .flags & ~ 0x3FF ) == 0
543+ assert (pb .flags & ~ ALL_SPAN_FLAGS_MASK ) == 0
540544
541545 def test_link_flags_local_and_remote (self ):
542546 # local sampled link
@@ -547,8 +551,8 @@ def test_link_flags_local_and_remote(self):
547551 assert (pb_links [0 ].flags & PB2SpanFlags .SPAN_FLAGS_TRACE_FLAGS_MASK ) == 0x01
548552 assert (pb_links [0 ].flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK ) != 0
549553 assert (pb_links [0 ].flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK ) == 0
550- assert (pb_links [0 ].flags & ~ 0x3FF ) == 0
554+ assert (pb_links [0 ].flags & ~ ALL_SPAN_FLAGS_MASK ) == 0
551555 assert (pb_links [1 ].flags & PB2SpanFlags .SPAN_FLAGS_TRACE_FLAGS_MASK ) == 0x01
552556 assert (pb_links [1 ].flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK ) != 0
553557 assert (pb_links [1 ].flags & PB2SpanFlags .SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK ) != 0
554- assert (pb_links [1 ].flags & ~ 0x3FF ) == 0
558+ assert (pb_links [1 ].flags & ~ ALL_SPAN_FLAGS_MASK ) == 0
0 commit comments