@@ -55,6 +55,48 @@ def recorder(request):
55
55
yield lightstep .recorder .Recorder (** runtime_args )
56
56
57
57
58
+ def test_non_sampled_span ():
59
+
60
+ recorder = lightstep .recorder .Recorder (
61
+ ** {
62
+ "collector_encryption" : "none" ,
63
+ "collector_host" : "localhost" ,
64
+ "collector_port" : 9998 ,
65
+ "access_token" : "{your_access_token}" ,
66
+ "component_name" : "python/runtime_test" ,
67
+ "periodic_flush_seconds" : 0 ,
68
+ "use_thrift" : True ,
69
+ "use_http" : False ,
70
+ }
71
+ )
72
+
73
+ mock_connection = MockConnection ()
74
+ mock_connection .open ()
75
+
76
+ non_sampled_span = BasicSpan (
77
+ lightstep .tracer ._LightstepTracer (False , recorder , None ),
78
+ operation_name = "non_sampled" ,
79
+ context = SpanContext (trace_id = 1 , span_id = 1 , sampled = False ),
80
+ start_time = time .time (),
81
+ )
82
+ non_sampled_span .finish ()
83
+
84
+ sampled_span = BasicSpan (
85
+ lightstep .tracer ._LightstepTracer (False , recorder , None ),
86
+ operation_name = "sampled" ,
87
+ context = SpanContext (trace_id = 1 , span_id = 2 , sampled = True ),
88
+ start_time = time .time (),
89
+ )
90
+ sampled_span .finish ()
91
+ recorder .record_span (non_sampled_span )
92
+ recorder .record_span (sampled_span )
93
+
94
+ recorder .flush (mock_connection )
95
+
96
+ for span_record in mock_connection .reports [0 ].span_records :
97
+ assert span_record .span_name == "sampled"
98
+
99
+
58
100
def test_default_tags_set_correctly (recorder ):
59
101
mock_connection = MockConnection ()
60
102
mock_connection .open ()
@@ -80,7 +122,7 @@ def test_default_tags_set_correctly(recorder):
80
122
"access_token" : "{your_access_token}" ,
81
123
"component_name" : "python/runtime_test" ,
82
124
"periodic_flush_seconds" : 0 ,
83
- "tags" : {"lightstep.hostname" : "hostname" , },
125
+ "tags" : {"lightstep.hostname" : "hostname" },
84
126
}
85
127
new_recorder = lightstep .recorder .Recorder (** runtime_args )
86
128
for tag in new_recorder ._runtime .tags :
@@ -119,7 +161,7 @@ def test_shutdown_twice(recorder):
119
161
recorder .shutdown ()
120
162
recorder .shutdown ()
121
163
except Exception as error :
122
- self .fail ("Unexpected exception raised: {}" .format (error ))
164
+ pytest .fail ("Unexpected exception raised: {}" .format (error ))
123
165
124
166
125
167
# ------------
@@ -225,7 +267,7 @@ def test_exception_formatting(recorder):
225
267
assert len (recorder ._span_records ) == 1
226
268
assert recorder .flush (mock_connection )
227
269
spans = recorder .converter .get_span_records (mock_connection .reports [1 ])
228
-
270
+
229
271
if hasattr (spans [0 ], "log_records" ):
230
272
assert len (spans [0 ].log_records ) == 1
231
273
assert len (spans [0 ].log_records [0 ].fields ) == 3
@@ -251,4 +293,3 @@ def test_exception_formatting(recorder):
251
293
assert field .string_value == ""
252
294
else :
253
295
raise AttributeError ("unexpected field: %s" .format (field .key ))
254
-
0 commit comments