in lib/elastic_apm/span.rb [41:74]
def initialize(
name:,
transaction:,
trace_context:,
parent:,
type: nil,
subtype: nil,
action: nil,
context: nil,
stacktrace_builder: nil,
sync: nil,
exit_span: false
)
@name = name
if subtype.nil? && type&.include?('.')
@type, @subtype, @action = type.split('.')
else
@type = type || DEFAULT_TYPE
@subtype = subtype
@action = action
end
@transaction = transaction
@parent = parent
@trace_context = trace_context || parent.trace_context.child
@sample_rate = transaction.sample_rate
@context = context || Span::Context.new(sync: sync)
@stacktrace_builder = stacktrace_builder
@exit_span = exit_span
end