1919from opentelemetry import trace as trace_api
2020from opentelemetry .ext .zipkin import ZipkinSpanExporter
2121from opentelemetry .sdk import trace
22+ from opentelemetry .sdk .trace import Resource
2223from opentelemetry .sdk .trace .export import SpanExportResult
2324from opentelemetry .trace import TraceFlags
2425
@@ -95,7 +96,7 @@ def test_constructor_explicit(self):
9596 # pylint: disable=too-many-locals
9697 def test_export (self ):
9798
98- span_names = ("test1" , "test2" , "test3" )
99+ span_names = ("test1" , "test2" , "test3" , "test4" )
99100 trace_id = 0x6E0C63257DE34C926F9EFCD03927272E
100101 span_id = 0x34BF92DEEFC58C92
101102 parent_id = 0x1111111111111111
@@ -106,12 +107,14 @@ def test_export(self):
106107 base_time ,
107108 base_time + 150 * 10 ** 6 ,
108109 base_time + 300 * 10 ** 6 ,
110+ base_time + 400 * 10 ** 6 ,
109111 )
110- durations = (50 * 10 ** 6 , 100 * 10 ** 6 , 200 * 10 ** 6 )
112+ durations = (50 * 10 ** 6 , 100 * 10 ** 6 , 200 * 10 ** 6 , 300 * 10 ** 6 )
111113 end_times = (
112114 start_times [0 ] + durations [0 ],
113115 start_times [1 ] + durations [1 ],
114116 start_times [2 ] + durations [2 ],
117+ start_times [3 ] + durations [3 ],
115118 )
116119
117120 span_context = trace_api .SpanContext (
@@ -158,6 +161,7 @@ def test_export(self):
158161 name = span_names [1 ], context = parent_context , parent = None
159162 ),
160163 trace .Span (name = span_names [2 ], context = other_context , parent = None ),
164+ trace .Span (name = span_names [3 ], context = other_context , parent = None ),
161165 ]
162166
163167 otel_spans [0 ].start (start_time = start_times [0 ])
@@ -168,11 +172,21 @@ def test_export(self):
168172 otel_spans [0 ].end (end_time = end_times [0 ])
169173
170174 otel_spans [1 ].start (start_time = start_times [1 ])
175+ otel_spans [1 ].resource = Resource (
176+ labels = {"key_resource" : "some_resource" }
177+ )
171178 otel_spans [1 ].end (end_time = end_times [1 ])
172179
173180 otel_spans [2 ].start (start_time = start_times [2 ])
181+ otel_spans [2 ].set_attribute ("key_string" , "hello_world" )
182+ otel_spans [2 ].resource = Resource (
183+ labels = {"key_resource" : "some_resource" }
184+ )
174185 otel_spans [2 ].end (end_time = end_times [2 ])
175186
187+ otel_spans [3 ].start (start_time = start_times [3 ])
188+ otel_spans [3 ].end (end_time = end_times [3 ])
189+
176190 service_name = "test-service"
177191 local_endpoint = {"serviceName" : service_name , "port" : 9411 }
178192
@@ -208,7 +222,7 @@ def test_export(self):
208222 "duration" : durations [1 ] // 10 ** 3 ,
209223 "localEndpoint" : local_endpoint ,
210224 "kind" : None ,
211- "tags" : None ,
225+ "tags" : { "key_resource" : "some_resource" } ,
212226 "annotations" : None ,
213227 },
214228 {
@@ -219,7 +233,21 @@ def test_export(self):
219233 "duration" : durations [2 ] // 10 ** 3 ,
220234 "localEndpoint" : local_endpoint ,
221235 "kind" : None ,
222- "tags" : None ,
236+ "tags" : {
237+ "key_string" : "hello_world" ,
238+ "key_resource" : "some_resource" ,
239+ },
240+ "annotations" : None ,
241+ },
242+ {
243+ "traceId" : format (trace_id , "x" ),
244+ "id" : format (other_id , "x" ),
245+ "name" : span_names [3 ],
246+ "timestamp" : start_times [3 ] // 10 ** 3 ,
247+ "duration" : durations [3 ] // 10 ** 3 ,
248+ "localEndpoint" : local_endpoint ,
249+ "kind" : None ,
250+ "tags" : {},
223251 "annotations" : None ,
224252 },
225253 ]
0 commit comments