lib/instana/tracing/span.rb in instana-1.9.4 vs lib/instana/tracing/span.rb in instana-1.9.5
- old
+ new
@@ -109,16 +109,20 @@
# Configure this span to be a custom span per the
# SDK generic span type.
#
+ # Default to an intermediate kind span. Can be overridden by
+ # setting a span.kind tag.
+ #
# @param name [String] name of the span
# @param kvs [Hash] list of key values to be reported in the span
#
def configure_custom(name)
@data[:n] = :sdk
- @data[:data] = { :sdk => { :name => name.to_sym } }
+ @data[:k] = :intermediate
+ @data[:data] = { :sdk => { :name => name.to_sym, :type => :intermediate } }
@data[:data][:sdk][:custom] = { :tags => {}, :logs => {} }
self
end
# Closes out the span. This difference between this and
@@ -276,13 +280,15 @@
@data[:data][:sdk][:custom][:tags] ||= {}
@data[:data][:sdk][:custom][:tags][key] = value
if key.to_sym == :'span.kind'
case value.to_sym
- when :server || :consumer
- @data[:data][:sdk][:type] = :entry
- when :client || :producer
- @data[:data][:sdk][:type] = :exit
+ when :server, :consumer
+ @data[:data][:sdk][:type] = @data[:k] = :entry
+ when :client, :producer
+ @data[:data][:sdk][:type] = @data[:k] = :exit
+ else
+ @data[:data][:sdk][:type] = @data[:k] = :intermediate
end
end
else
if !@data[:data].key?(key)
@data[:data][key] = value