File tree Expand file tree Collapse file tree 3 files changed +28
-3
lines changed
src/opentelemetry/sdk/trace Expand file tree Collapse file tree 3 files changed +28
-3
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
1212## [ 1.6.1-0.25b1] ( https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.6.1-0.25b1 ) - 2021-10-18
1313
14+ - Fix ReadableSpan property types attempting to create a mapping from a list
15+ ([ #2215 ] ( https://github.com/open-telemetry/opentelemetry-python/pull/2215 ) )
1416- Upgrade GRPC/protobuf related dependency and regenerate otlp protobufs
1517 ([ #2201 ] ( https://github.com/open-telemetry/opentelemetry-python/pull/2201 ) )
1618- Propagation: only warn about oversized baggage headers when headers exist
Original file line number Diff line number Diff line change @@ -350,7 +350,7 @@ def __init__(
350350 parent : Optional [trace_api .SpanContext ] = None ,
351351 resource : Resource = Resource .create ({}),
352352 attributes : types .Attributes = None ,
353- events : Sequence [Event ] = None ,
353+ events : Sequence [Event ] = () ,
354354 links : Sequence [trace_api .Link ] = (),
355355 kind : trace_api .SpanKind = trace_api .SpanKind .INTERNAL ,
356356 instrumentation_info : InstrumentationInfo = None ,
@@ -426,11 +426,11 @@ def attributes(self) -> types.Attributes:
426426
427427 @property
428428 def events (self ) -> Sequence [Event ]:
429- return MappingProxyType ( self ._events )
429+ return tuple ( event for event in self ._events )
430430
431431 @property
432432 def links (self ) -> Sequence [trace_api .Link ]:
433- return MappingProxyType ( self ._links )
433+ return tuple ( link for link in self ._links )
434434
435435 @property
436436 def resource (self ) -> Resource :
Original file line number Diff line number Diff line change @@ -569,6 +569,29 @@ def test_surplus_span_attributes(self):
569569 self .assertEqual (len (root .attributes ), max_attrs )
570570
571571
572+ class TestReadableSpan (unittest .TestCase ):
573+ def test_links (self ):
574+ span = trace .ReadableSpan ()
575+ self .assertEqual (span .links , ())
576+
577+ span = trace .ReadableSpan (
578+ links = [trace_api .Link (context = trace_api .INVALID_SPAN_CONTEXT )] * 2 ,
579+ )
580+ self .assertEqual (len (span .links ), 2 )
581+ for link in span .links :
582+ self .assertFalse (link .context .is_valid )
583+
584+ def test_events (self ):
585+ span = trace .ReadableSpan ()
586+ self .assertEqual (span .events , ())
587+ events = [
588+ trace .Event ("foo1" , {"bar1" : "baz1" }),
589+ trace .Event ("foo2" , {"bar2" : "baz2" }),
590+ ]
591+ span = trace .ReadableSpan (events = events )
592+ self .assertEqual (span .events , tuple (events ))
593+
594+
572595class TestSpan (unittest .TestCase ):
573596 # pylint: disable=too-many-public-methods
574597
You can’t perform that action at this time.
0 commit comments