module Datadog::Contrib::Rake::Instrumentation::InstanceMethods
Instance methods for Rake
instrumentation
Public Instance Methods
execute(args = nil)
click to toggle source
Calls superclass method
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 27 def execute(args = nil) return super unless enabled? tracer.trace(Ext::SPAN_EXECUTE, span_options) do |span| annotate_execute!(span, args) super end ensure shutdown_tracer! end
invoke(*args)
click to toggle source
Calls superclass method
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 16 def invoke(*args) return super unless enabled? tracer.trace(Ext::SPAN_INVOKE, span_options) do |span| annotate_invoke!(span, args) super end ensure shutdown_tracer! end
Private Instance Methods
annotate_execute!(span, args)
click to toggle source
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 60 def annotate_execute!(span, args) span.resource = name span.set_tag(Ext::TAG_EXECUTE_ARGS, quantize_args(args.to_hash)) unless args.nil? rescue StandardError => e Datadog.logger.debug("Error while tracing Rake execute: #{e.message}") end
annotate_invoke!(span, args)
click to toggle source
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 44 def annotate_invoke!(span, args) span.resource = name # Set analytics sample rate if Contrib::Analytics.enabled?(configuration[:analytics_enabled]) Contrib::Analytics.set_sample_rate(span, configuration[:analytics_sample_rate]) end # Measure service stats Contrib::Analytics.set_measured(span) span.set_tag(Ext::TAG_TASK_ARG_NAMES, arg_names) span.set_tag(Ext::TAG_INVOKE_ARGS, quantize_args(args)) unless args.nil? rescue StandardError => e Datadog.logger.debug("Error while tracing Rake invoke: #{e.message}") end
configuration()
click to toggle source
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 84 def configuration Datadog.configuration[:rake] end
enabled?()
click to toggle source
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 72 def enabled? configuration[:enabled] == true end
quantize_args(args)
click to toggle source
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 67 def quantize_args(args) quantize_options = configuration[:quantize][:args] Datadog::Quantization::Hash.format(args, quantize_options) end
shutdown_tracer!()
click to toggle source
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 40 def shutdown_tracer! tracer.shutdown! if tracer.active_span.nil? && ::Rake.application.top_level_tasks.include?(name) end
span_options()
click to toggle source
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 80 def span_options { service: configuration[:service_name] } end
tracer()
click to toggle source
# File lib/ddtrace/contrib/rake/instrumentation.rb, line 76 def tracer configuration[:tracer] end