class NewRelic::Agent::OpenTelemetry::Trace::Tracer
Public Class Methods
Source
# File lib/new_relic/agent/opentelemetry/trace/tracer.rb, line 10 def initialize(name = nil, version = nil) @name = name || '' @version = version || '' end
Public Instance Methods
Source
# File lib/new_relic/agent/opentelemetry/trace/tracer.rb, line 15 def in_span(name, attributes: nil, links: nil, start_timestamp: nil, kind: nil) case kind when :internal begin return yield unless NewRelic::Agent::Tracer.current_transaction segment = NewRelic::Agent::Tracer.start_segment(name: name) span = Span.new(segment: segment, transaction: segment.transaction) ::OpenTelemetry::Trace.with_span(span) do yield end ensure segment&.finish end else NewRelic::Agent.logger.debug("Span kind: #{kind} is not supported yet") end end