module Datadog::Contrib::Ethon::MultiPatch::InstanceMethods
InstanceMethods
- implementing instrumentation
Public Instance Methods
add(easy)
click to toggle source
Calls superclass method
# File lib/ddtrace/contrib/ethon/multi_patch.rb, line 18 def add(easy) handles = super return handles if handles.nil? || !tracer_enabled? if datadog_multi_performing? # Start Easy span in case Multi is already performing easy.datadog_before_request(parent_span: datadog_multi_span) end handles end
perform()
click to toggle source
Calls superclass method
# File lib/ddtrace/contrib/ethon/multi_patch.rb, line 29 def perform if tracer_enabled? easy_handles.each do |easy| easy.datadog_before_request(parent_span: datadog_multi_span) unless easy.datadog_span_started? end end super ensure if tracer_enabled? && datadog_multi_performing? @datadog_multi_span.finish @datadog_multi_span = nil end end
Private Instance Methods
analytics_enabled?()
click to toggle source
# File lib/ddtrace/contrib/ethon/multi_patch.rb, line 69 def analytics_enabled? Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled]) end
analytics_sample_rate()
click to toggle source
# File lib/ddtrace/contrib/ethon/multi_patch.rb, line 73 def analytics_sample_rate datadog_configuration[:analytics_sample_rate] end
datadog_configuration()
click to toggle source
# File lib/ddtrace/contrib/ethon/multi_patch.rb, line 61 def datadog_configuration Datadog.configuration[:ethon] end
datadog_multi_performing?()
click to toggle source
# File lib/ddtrace/contrib/ethon/multi_patch.rb, line 45 def datadog_multi_performing? instance_variable_defined?(:@datadog_multi_span) && !@datadog_multi_span.nil? end
datadog_multi_span()
click to toggle source
# File lib/ddtrace/contrib/ethon/multi_patch.rb, line 49 def datadog_multi_span @datadog_multi_span ||= datadog_configuration[:tracer].trace( Ext::SPAN_MULTI_REQUEST, service: datadog_configuration[:service_name] ) # Set analytics sample rate Contrib::Analytics.set_sample_rate(@datadog_multi_span, analytics_sample_rate) if analytics_enabled? @datadog_multi_span end
tracer_enabled?()
click to toggle source
# File lib/ddtrace/contrib/ethon/multi_patch.rb, line 65 def tracer_enabled? datadog_configuration[:tracer].enabled end