|
23 | 23 | ) |
24 | 24 | from opentelemetry.exporter.otlp.proto.common._internal.trace_encoder import ( |
25 | 25 | _SPAN_KIND_MAP, |
26 | | - _encode_status, |
27 | | - _encode_span, |
28 | 26 | _encode_links, |
| 27 | + _encode_span, |
| 28 | + _encode_status, |
29 | 29 | ) |
30 | 30 | from opentelemetry.exporter.otlp.proto.common.trace_encoder import encode_spans |
31 | 31 | from opentelemetry.proto.collector.trace.v1.trace_service_pb2 import ( |
|
44 | 44 | ) |
45 | 45 | from opentelemetry.proto.trace.v1.trace_pb2 import ScopeSpans as PB2ScopeSpans |
46 | 46 | from opentelemetry.proto.trace.v1.trace_pb2 import Span as PB2SPan |
47 | | -from opentelemetry.proto.trace.v1.trace_pb2 import Status as PB2Status |
48 | 47 | from 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 | | -) |
| 48 | +from opentelemetry.proto.trace.v1.trace_pb2 import Status as PB2Status |
56 | 49 | from opentelemetry.sdk.trace import Event as SDKEvent |
57 | 50 | from opentelemetry.sdk.trace import Resource as SDKResource |
58 | 51 | from opentelemetry.sdk.trace import SpanContext as SDKSpanContext |
|
66 | 59 | from opentelemetry.trace.status import Status as SDKStatus |
67 | 60 | from opentelemetry.trace.status import StatusCode as SDKStatusCode |
68 | 61 |
|
| 62 | +# Mask for all currently-defined span flag bits (0-9): lower 8 trace flags + has/is remote bits |
| 63 | +ALL_SPAN_FLAGS_MASK = ( |
| 64 | + PB2SpanFlags.SPAN_FLAGS_TRACE_FLAGS_MASK |
| 65 | + | PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK |
| 66 | + | PB2SpanFlags.SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK |
| 67 | +) |
| 68 | + |
69 | 69 |
|
70 | 70 | class TestOTLPTraceEncoder(unittest.TestCase): |
71 | 71 | def test_encode_spans(self): |
@@ -515,44 +515,74 @@ def test_encode_status_code_translations(self): |
515 | 515 |
|
516 | 516 | class TestSpanFlagsEncoding(unittest.TestCase): |
517 | 517 | def test_span_flags_root_unsampled(self): |
518 | | - span_context = SDKSpanContext(0x1, 0x2, is_remote=False, trace_flags=0x00) |
| 518 | + span_context = SDKSpanContext( |
| 519 | + 0x1, 0x2, is_remote=False, trace_flags=0x00 |
| 520 | + ) |
519 | 521 | span = SDKSpan(name="root", context=span_context, parent=None) |
520 | 522 | pb = _encode_span(span) |
521 | 523 | assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_TRACE_FLAGS_MASK) == 0x00 |
522 | | - assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0 |
| 524 | + assert ( |
| 525 | + pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK |
| 526 | + ) != 0 |
523 | 527 | assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) == 0 |
524 | 528 | assert (pb.flags & ~ALL_SPAN_FLAGS_MASK) == 0 |
525 | 529 |
|
526 | 530 | def test_span_flags_root_sampled(self): |
527 | | - span_context = SDKSpanContext(0x1, 0x2, is_remote=False, trace_flags=0x01) |
| 531 | + span_context = SDKSpanContext( |
| 532 | + 0x1, 0x2, is_remote=False, trace_flags=0x01 |
| 533 | + ) |
528 | 534 | span = SDKSpan(name="root", context=span_context, parent=None) |
529 | 535 | pb = _encode_span(span) |
530 | 536 | assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_TRACE_FLAGS_MASK) == 0x01 |
531 | | - assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0 |
| 537 | + assert ( |
| 538 | + pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK |
| 539 | + ) != 0 |
532 | 540 | assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) == 0 |
533 | 541 | assert (pb.flags & ~ALL_SPAN_FLAGS_MASK) == 0 |
534 | 542 |
|
535 | 543 | def test_span_flags_remote_parent_sampled(self): |
536 | 544 | parent = SDKSpanContext(0x1, 0x9, is_remote=True) |
537 | | - span_context = SDKSpanContext(0x1, 0x2, is_remote=False, trace_flags=0x01) |
| 545 | + span_context = SDKSpanContext( |
| 546 | + 0x1, 0x2, is_remote=False, trace_flags=0x01 |
| 547 | + ) |
538 | 548 | span = SDKSpan(name="child", context=span_context, parent=parent) |
539 | 549 | pb = _encode_span(span) |
540 | 550 | assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_TRACE_FLAGS_MASK) == 0x01 |
541 | | - assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0 |
| 551 | + assert ( |
| 552 | + pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK |
| 553 | + ) != 0 |
542 | 554 | assert (pb.flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0 |
543 | 555 | assert (pb.flags & ~ALL_SPAN_FLAGS_MASK) == 0 |
544 | 556 |
|
545 | 557 | def test_link_flags_local_and_remote(self): |
546 | 558 | # local sampled link |
547 | | - l1 = SDKLink(SDKSpanContext(0x1, 0x2, is_remote=False, trace_flags=0x01)) |
| 559 | + l1 = SDKLink( |
| 560 | + SDKSpanContext(0x1, 0x2, is_remote=False, trace_flags=0x01) |
| 561 | + ) |
548 | 562 | # remote sampled link |
549 | | - l2 = SDKLink(SDKSpanContext(0x1, 0x3, is_remote=True, trace_flags=0x01)) |
| 563 | + l2 = SDKLink( |
| 564 | + SDKSpanContext(0x1, 0x3, is_remote=True, trace_flags=0x01) |
| 565 | + ) |
550 | 566 | pb_links = _encode_links([l1, l2]) |
551 | | - assert (pb_links[0].flags & PB2SpanFlags.SPAN_FLAGS_TRACE_FLAGS_MASK) == 0x01 |
552 | | - assert (pb_links[0].flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0 |
553 | | - assert (pb_links[0].flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) == 0 |
| 567 | + assert ( |
| 568 | + pb_links[0].flags & PB2SpanFlags.SPAN_FLAGS_TRACE_FLAGS_MASK |
| 569 | + ) == 0x01 |
| 570 | + assert ( |
| 571 | + pb_links[0].flags |
| 572 | + & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK |
| 573 | + ) != 0 |
| 574 | + assert ( |
| 575 | + pb_links[0].flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK |
| 576 | + ) == 0 |
554 | 577 | assert (pb_links[0].flags & ~ALL_SPAN_FLAGS_MASK) == 0 |
555 | | - assert (pb_links[1].flags & PB2SpanFlags.SPAN_FLAGS_TRACE_FLAGS_MASK) == 0x01 |
556 | | - assert (pb_links[1].flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0 |
557 | | - assert (pb_links[1].flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0 |
| 578 | + assert ( |
| 579 | + pb_links[1].flags & PB2SpanFlags.SPAN_FLAGS_TRACE_FLAGS_MASK |
| 580 | + ) == 0x01 |
| 581 | + assert ( |
| 582 | + pb_links[1].flags |
| 583 | + & PB2SpanFlags.SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK |
| 584 | + ) != 0 |
| 585 | + assert ( |
| 586 | + pb_links[1].flags & PB2SpanFlags.SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK |
| 587 | + ) != 0 |
558 | 588 | assert (pb_links[1].flags & ~ALL_SPAN_FLAGS_MASK) == 0 |
0 commit comments