test/tracing/opentracing_test.rb in instana-1.7.3 vs test/tracing/opentracing_test.rb in instana-1.7.4
- old
+ new
@@ -88,10 +88,14 @@
# Span validation
assert_equal 3, trace.spans.count
first_span, second_span, third_span = trace.spans.to_a
assert_equal :rack, first_span.name
+ assert first_span[:ts].is_a?(Integer)
+ assert first_span[:ts] > 0
+ assert first_span[:d].is_a?(Integer)
+ assert first_span[:d].between?(0, 5)
assert first_span.key?(:data)
assert first_span[:data].key?(:http)
assert_equal "GET", first_span[:data][:http][:method]
assert_equal "/mrlobster", first_span[:data][:http][:url]
assert_equal 200, first_span[:data][:http][:status]
@@ -156,9 +160,36 @@
assert_equal 1234, span.tags(:tag_integer)
assert_equal true, span.tags(:tag_boolean)
assert_equal [1,2,3,4], span.tags(:tag_array)
assert_equal "1234", span.tags(:tag_string)
span.finish
+ end
+
+ def test_start_span_with_custom_start_time
+ clear_all!
+ now = Time.now
+ now_in_ms = ::Instana::Util.time_to_ms(now)
+
+ span = OpenTracing.start_span('my_app_entry', :start_time => now)
+
+ assert span.is_a?(::Instana::Span)
+ assert_equal :my_app_entry, OpenTracing.current_trace.current_span.name
+
+ span.set_tag(:tag_integer, 1234)
+ span.set_tag(:tag_boolean, true)
+ span.set_tag(:tag_array, [1,2,3,4])
+ span.set_tag(:tag_string, "1234")
+
+ assert_equal 1234, span.tags(:tag_integer)
+ assert_equal true, span.tags(:tag_boolean)
+ assert_equal [1,2,3,4], span.tags(:tag_array)
+ assert_equal "1234", span.tags(:tag_string)
+ span.finish
+
+ assert span[:ts].is_a?(Integer)
+ assert_equal now_in_ms, span[:ts]
+ assert span[:d].is_a?(Integer)
+ assert span[:d].between?(0, 5)
end
def test_span_kind_translation
clear_all!
span = OpenTracing.start_span('my_app_entry')