ddtrace 0.52.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -1
  3. data/ddtrace.gemspec +1 -1
  4. data/docs/DevelopmentGuide.md +1 -6
  5. data/docs/GettingStarted.md +66 -16
  6. data/lib/datadog/ci/contrib/rspec/integration.rb +2 -2
  7. data/lib/datadog/ci/ext/environment.rb +41 -4
  8. data/lib/datadog/contrib.rb +2 -0
  9. data/lib/datadog/core/environment/vm_cache.rb +46 -0
  10. data/lib/ddtrace/configuration/agent_settings_resolver.rb +107 -40
  11. data/lib/ddtrace/configuration/components.rb +1 -1
  12. data/lib/ddtrace/configuration/settings.rb +13 -3
  13. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +46 -0
  14. data/lib/ddtrace/contrib/action_cable/patcher.rb +1 -0
  15. data/lib/ddtrace/contrib/action_mailer/configuration/settings.rb +32 -0
  16. data/lib/ddtrace/contrib/action_mailer/event.rb +50 -0
  17. data/lib/ddtrace/contrib/action_mailer/events/deliver.rb +54 -0
  18. data/lib/ddtrace/contrib/action_mailer/events/process.rb +41 -0
  19. data/lib/ddtrace/contrib/action_mailer/events.rb +31 -0
  20. data/lib/ddtrace/contrib/action_mailer/ext.rb +32 -0
  21. data/lib/ddtrace/contrib/action_mailer/integration.rb +45 -0
  22. data/lib/ddtrace/contrib/action_mailer/patcher.rb +27 -0
  23. data/lib/ddtrace/contrib/active_job/configuration/settings.rb +33 -0
  24. data/lib/ddtrace/contrib/active_job/event.rb +54 -0
  25. data/lib/ddtrace/contrib/active_job/events/discard.rb +46 -0
  26. data/lib/ddtrace/contrib/active_job/events/enqueue.rb +45 -0
  27. data/lib/ddtrace/contrib/active_job/events/enqueue_at.rb +45 -0
  28. data/lib/ddtrace/contrib/active_job/events/enqueue_retry.rb +47 -0
  29. data/lib/ddtrace/contrib/active_job/events/perform.rb +45 -0
  30. data/lib/ddtrace/contrib/active_job/events/retry_stopped.rb +46 -0
  31. data/lib/ddtrace/contrib/active_job/events.rb +39 -0
  32. data/lib/ddtrace/contrib/active_job/ext.rb +32 -0
  33. data/lib/ddtrace/contrib/active_job/integration.rb +46 -0
  34. data/lib/ddtrace/contrib/active_job/log_injection.rb +21 -0
  35. data/lib/ddtrace/contrib/active_job/patcher.rb +33 -0
  36. data/lib/ddtrace/contrib/auto_instrument.rb +0 -1
  37. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +0 -1
  38. data/lib/ddtrace/contrib/rails/framework.rb +22 -0
  39. data/lib/ddtrace/contrib/rails/patcher.rb +19 -10
  40. data/lib/ddtrace/contrib/registerable.rb +0 -1
  41. data/lib/ddtrace/contrib/sidekiq/ext.rb +3 -0
  42. data/lib/ddtrace/contrib/sidekiq/integration.rb +10 -0
  43. data/lib/ddtrace/contrib/sidekiq/patcher.rb +26 -0
  44. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/heartbeat.rb +30 -0
  45. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/job_fetch.rb +30 -0
  46. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/scheduled_push.rb +29 -0
  47. data/lib/ddtrace/contrib/sinatra/env.rb +2 -1
  48. data/lib/ddtrace/contrib/sinatra/tracer.rb +15 -2
  49. data/lib/ddtrace/ext/git.rb +12 -0
  50. data/lib/ddtrace/ext/profiling.rb +1 -0
  51. data/lib/ddtrace/ext/runtime.rb +3 -0
  52. data/lib/ddtrace/ext/transport.rb +11 -0
  53. data/lib/ddtrace/profiling/collectors/stack.rb +71 -27
  54. data/lib/ddtrace/profiling/encoding/profile.rb +9 -1
  55. data/lib/ddtrace/profiling/events/stack.rb +7 -7
  56. data/lib/ddtrace/profiling/pprof/converter.rb +22 -9
  57. data/lib/ddtrace/profiling/pprof/stack_sample.rb +28 -2
  58. data/lib/ddtrace/profiling/tasks/setup.rb +0 -1
  59. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +1 -1
  60. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +3 -3
  61. data/lib/ddtrace/profiling/transport/http.rb +8 -17
  62. data/lib/ddtrace/runtime/metrics.rb +14 -0
  63. data/lib/ddtrace/span.rb +7 -19
  64. data/lib/ddtrace/tracer.rb +1 -1
  65. data/lib/ddtrace/transport/http/adapters/net.rb +13 -3
  66. data/lib/ddtrace/transport/http/adapters/test.rb +4 -2
  67. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +23 -12
  68. data/lib/ddtrace/transport/http/builder.rb +13 -6
  69. data/lib/ddtrace/transport/http.rb +5 -11
  70. data/lib/ddtrace/utils/time.rb +5 -6
  71. data/lib/ddtrace/version.rb +1 -1
  72. metadata +27 -2
@@ -64,22 +64,10 @@ module Datadog
64
64
  end
65
65
  end
66
66
 
67
- private_class_method def self.default_adapter
68
- :net_http
69
- end
70
-
71
67
  private_class_method def self.configure_for_agent(transport, profiling_upload_timeout_seconds:, agent_settings:)
72
68
  apis = API.agent_defaults
73
69
 
74
- transport.adapter(
75
- default_adapter,
76
- agent_settings.hostname,
77
- agent_settings.port,
78
- # We explictly use profiling_upload_timeout_seconds instead of agent_settings.timeout because profile
79
- # uploads are bigger and thus we employ a separate configuration.
80
- timeout: profiling_upload_timeout_seconds,
81
- ssl: agent_settings.ssl
82
- )
70
+ transport.adapter(agent_settings.merge(timeout_seconds: profiling_upload_timeout_seconds))
83
71
  transport.api(API::V1, apis[API::V1], default: true)
84
72
 
85
73
  # NOTE: This proc, when it exists, usually overrides the transport specified above
@@ -96,7 +84,7 @@ module Datadog
96
84
  port = site_uri.port
97
85
 
98
86
  transport.adapter(
99
- default_adapter,
87
+ Datadog::Ext::Transport::HTTP::ADAPTER,
100
88
  hostname,
101
89
  port,
102
90
  timeout: profiling_upload_timeout_seconds,
@@ -111,9 +99,12 @@ module Datadog
111
99
  end
112
100
 
113
101
  # Add adapters to registry
114
- Datadog::Transport::HTTP::Builder::REGISTRY.set(Datadog::Transport::HTTP::Adapters::Net, :net_http)
115
- Datadog::Transport::HTTP::Builder::REGISTRY.set(Datadog::Transport::HTTP::Adapters::Test, :test)
116
- Datadog::Transport::HTTP::Builder::REGISTRY.set(Datadog::Transport::HTTP::Adapters::UnixSocket, :unix)
102
+ Datadog::Transport::HTTP::Builder::REGISTRY.set(Datadog::Transport::HTTP::Adapters::Net,
103
+ Datadog::Ext::Transport::HTTP::ADAPTER)
104
+ Datadog::Transport::HTTP::Builder::REGISTRY.set(Datadog::Transport::HTTP::Adapters::Test,
105
+ Datadog::Ext::Transport::Test::ADAPTER)
106
+ Datadog::Transport::HTTP::Builder::REGISTRY.set(Datadog::Transport::HTTP::Adapters::UnixSocket,
107
+ Datadog::Ext::Transport::UnixSocket::ADAPTER)
117
108
  end
118
109
  end
119
110
  end
@@ -7,6 +7,7 @@ require 'datadog/core/environment/class_count'
7
7
  require 'datadog/core/environment/gc'
8
8
  require 'datadog/core/environment/identity'
9
9
  require 'datadog/core/environment/thread_count'
10
+ require 'datadog/core/environment/vm_cache'
10
11
 
11
12
  module Datadog
12
13
  module Runtime
@@ -58,12 +59,25 @@ module Datadog
58
59
  gauge(Ext::Runtime::Metrics::METRIC_CLASS_COUNT, Core::Environment::ClassCount.value)
59
60
  end
60
61
  end
62
+
61
63
  try_flush do
62
64
  if Core::Environment::ThreadCount.available?
63
65
  gauge(Ext::Runtime::Metrics::METRIC_THREAD_COUNT, Core::Environment::ThreadCount.value)
64
66
  end
65
67
  end
68
+
66
69
  try_flush { gc_metrics.each { |metric, value| gauge(metric, value) } if Core::Environment::GC.available? }
70
+
71
+ try_flush do
72
+ if Core::Environment::VMCache.available?
73
+ gauge(Ext::Runtime::Metrics::METRIC_GLOBAL_CONSTANT_STATE, Core::Environment::VMCache.global_constant_state)
74
+
75
+ # global_method_state is not available since Ruby >= 3.0,
76
+ # as method caching was moved to a per-class basis.
77
+ global_method_state = Core::Environment::VMCache.global_method_state
78
+ gauge(Ext::Runtime::Metrics::METRIC_GLOBAL_METHOD_STATE, global_method_state) if global_method_state
79
+ end
80
+ end
67
81
  end
68
82
 
69
83
  def gc_metrics
data/lib/ddtrace/span.rb CHANGED
@@ -53,12 +53,7 @@ module Datadog
53
53
  Ext::NET::TAG_HOSTNAME => true
54
54
  }.freeze
55
55
 
56
- # Simple indirection used to contain the latest resource name for a span.
57
- # The profiler keeps a reference to these objects while sampling so it can extract the latest resource after the
58
- # fact, as some integrations only set the correct name at the end of the span.
59
- ResourceContainer = Struct.new(:latest)
60
-
61
- attr_accessor :name, :service, :span_type,
56
+ attr_accessor :name, :service, :resource, :span_type,
62
57
  :span_id, :trace_id, :parent_id,
63
58
  :status, :sampled,
64
59
  :tracer, :context
@@ -71,7 +66,8 @@ module Datadog
71
66
  # and then <tt>finish()</tt> once the tracer operation is over.
72
67
  #
73
68
  # * +service+: the service name for this span
74
- # * +resource+: the resource this span refers, or +name+ if it's missing
69
+ # * +resource+: the resource this span refers, or +name+ if it's missing.
70
+ # +nil+ can be used as a placeholder, when the resource value is not yet known at +#initialize+ time.
75
71
  # * +span_type+: the type of the span (such as +http+, +db+ and so on)
76
72
  # * +parent_id+: the identifier of the parent span
77
73
  # * +trace_id+: the identifier of the root span for this trace
@@ -81,7 +77,7 @@ module Datadog
81
77
 
82
78
  @name = name
83
79
  @service = options.fetch(:service, nil)
84
- @resource_container = ResourceContainer.new(options.fetch(:resource, name))
80
+ @resource = options.fetch(:resource, name)
85
81
  @span_type = options.fetch(:span_type, nil)
86
82
 
87
83
  @span_id = Datadog::Utils.next_id
@@ -289,7 +285,7 @@ module Datadog
289
285
  trace_id: @trace_id,
290
286
  name: @name,
291
287
  service: @service,
292
- resource: resource,
288
+ resource: @resource,
293
289
  type: @span_type,
294
290
  meta: @meta,
295
291
  metrics: @metrics,
@@ -343,7 +339,7 @@ module Datadog
343
339
  packer.write('service')
344
340
  packer.write(@service)
345
341
  packer.write('resource')
346
- packer.write(resource)
342
+ packer.write(@resource)
347
343
  packer.write('type')
348
344
  packer.write(@span_type)
349
345
  packer.write('meta')
@@ -375,7 +371,7 @@ module Datadog
375
371
  q.text "Trace ID: #{@trace_id}\n"
376
372
  q.text "Type: #{@span_type}\n"
377
373
  q.text "Service: #{@service}\n"
378
- q.text "Resource: #{resource}\n"
374
+ q.text "Resource: #{@resource}\n"
379
375
  q.text "Error: #{@status}\n"
380
376
  q.text "Start: #{start_time}\n"
381
377
  q.text "End: #{end_time}\n"
@@ -414,14 +410,6 @@ module Datadog
414
410
  end
415
411
  end
416
412
 
417
- def resource
418
- @resource_container.latest
419
- end
420
-
421
- def resource=(resource)
422
- @resource_container.latest = resource
423
- end
424
-
425
413
  private
426
414
 
427
415
  def duration_marker
@@ -200,7 +200,7 @@ module Datadog
200
200
  if parent.nil?
201
201
  # root span
202
202
  @sampler.sample!(span)
203
- span.set_tag('system.pid', Process.pid)
203
+ span.set_tag(Datadog::Ext::Runtime::TAG_PID, Process.pid)
204
204
  span.set_tag(Datadog::Ext::Runtime::TAG_ID, Datadog::Core::Environment::Identity.id)
205
205
 
206
206
  if ctx && ctx.trace_id
@@ -16,13 +16,23 @@ module Datadog
16
16
 
17
17
  DEFAULT_TIMEOUT = 30
18
18
 
19
- def initialize(hostname, port, options = {})
20
- @hostname = hostname
21
- @port = port
19
+ # @deprecated Positional parameters are deprecated. Use named parameters instead.
20
+ def initialize(hostname = nil, port = nil, **options)
21
+ @hostname = hostname || options.fetch(:hostname)
22
+ @port = port || options.fetch(:port)
22
23
  @timeout = options[:timeout] || DEFAULT_TIMEOUT
23
24
  @ssl = options.key?(:ssl) ? options[:ssl] == true : false
24
25
  end
25
26
 
27
+ def self.build(agent_settings)
28
+ new(
29
+ hostname: agent_settings.hostname,
30
+ port: agent_settings.port,
31
+ timeout: agent_settings.timeout_seconds,
32
+ ssl: agent_settings.ssl
33
+ )
34
+ end
35
+
26
36
  def open(&block)
27
37
  # DEV Initializing +Net::HTTP+ directly help us avoid expensive
28
38
  # options processing done in +Net::HTTP.start+:
@@ -11,8 +11,10 @@ module Datadog
11
11
  :buffer,
12
12
  :status
13
13
 
14
- def initialize(buffer = nil)
15
- @buffer = buffer
14
+ # @param buffer [Array] an optional array that will capture all spans sent to this adapter, defaults to +nil+
15
+ # @deprecated Positional parameters are deprecated. Use named parameters instead.
16
+ def initialize(buffer = nil, **options)
17
+ @buffer = buffer || options[:buffer]
16
18
  @mutex = Mutex.new
17
19
  @status = 200
18
20
  end
@@ -1,5 +1,6 @@
1
1
  # typed: false
2
2
  require 'net/http'
3
+ require 'ddtrace/ext/transport'
3
4
  require 'ddtrace/transport/http/adapters/net'
4
5
 
5
6
  module Datadog
@@ -8,21 +9,29 @@ module Datadog
8
9
  module Adapters
9
10
  # Adapter for Unix sockets
10
11
  class UnixSocket < Adapters::Net
11
- DEFAULT_TIMEOUT = 1
12
-
13
12
  attr_reader \
14
- :filepath,
13
+ :filepath, # DEV(1.0): Rename to `uds_path`
15
14
  :timeout
16
15
 
17
- def initialize(filepath, options = {})
18
- @filepath = filepath
19
- @timeout = options.fetch(:timeout, DEFAULT_TIMEOUT)
16
+ alias_method :uds_path, :filepath
17
+
18
+ # @deprecated Positional parameters are deprecated. Use named parameters instead.
19
+ def initialize(uds_path = nil, **options)
20
+ @filepath = uds_path || options.fetch(:uds_path)
21
+ @timeout = options[:timeout] || Ext::Transport::UnixSocket::DEFAULT_TIMEOUT_SECONDS
22
+ end
23
+
24
+ def self.build(agent_settings)
25
+ new(
26
+ uds_path: agent_settings.uds_path,
27
+ timeout: agent_settings.timeout_seconds,
28
+ )
20
29
  end
21
30
 
22
31
  def open(&block)
23
32
  # Open connection
24
33
  connection = HTTP.new(
25
- filepath,
34
+ uds_path,
26
35
  read_timeout: timeout,
27
36
  continue_timeout: timeout
28
37
  )
@@ -31,7 +40,7 @@ module Datadog
31
40
  end
32
41
 
33
42
  def url
34
- "http+unix://#{filepath}?timeout=#{timeout}"
43
+ "http+unix://#{uds_path}?timeout=#{timeout}"
35
44
  end
36
45
 
37
46
  # Re-implements Net:HTTP with underlying Unix socket
@@ -39,19 +48,21 @@ module Datadog
39
48
  DEFAULT_TIMEOUT = 1
40
49
 
41
50
  attr_reader \
42
- :filepath,
51
+ :filepath, # DEV(1.0): Rename to `uds_path`
43
52
  :unix_socket
44
53
 
45
- def initialize(filepath, options = {})
54
+ alias_method :uds_path, :filepath
55
+
56
+ def initialize(uds_path, options = {})
46
57
  super('localhost', 80)
47
- @filepath = filepath
58
+ @filepath = uds_path
48
59
  @read_timeout = options.fetch(:read_timeout, DEFAULT_TIMEOUT)
49
60
  @continue_timeout = options.fetch(:continue_timeout, DEFAULT_TIMEOUT)
50
61
  @debug_output = options[:debug_output] if options.key?(:debug_output)
51
62
  end
52
63
 
53
64
  def connect
54
- @unix_socket = UNIXSocket.open(filepath)
65
+ @unix_socket = UNIXSocket.open(uds_path)
55
66
  @socket = ::Net::BufferedIO.new(@unix_socket).tap do |socket|
56
67
  socket.read_timeout = @read_timeout
57
68
  socket.continue_timeout = @continue_timeout
@@ -1,4 +1,5 @@
1
1
  # typed: true
2
+ require 'ddtrace/configuration/agent_settings_resolver'
2
3
  require 'ddtrace/transport/http/adapters/registry'
3
4
  require 'ddtrace/transport/http/api/map'
4
5
  require 'ddtrace/transport/http/api/instance'
@@ -33,14 +34,20 @@ module Datadog
33
34
  yield(self) if block_given?
34
35
  end
35
36
 
36
- def adapter(type, *args)
37
- @default_adapter = if type.is_a?(Symbol)
38
- registry_klass = REGISTRY.get(type)
39
- raise UnknownAdapterError, type if registry_klass.nil?
37
+ def adapter(config, *args, **kwargs)
38
+ @default_adapter = case config
39
+ when Configuration::AgentSettingsResolver::AgentSettings
40
+ registry_klass = REGISTRY.get(config.adapter)
41
+ raise UnknownAdapterError, config.adapter if registry_klass.nil?
40
42
 
41
- registry_klass.new(*args)
43
+ registry_klass.build(config)
44
+ when Symbol
45
+ registry_klass = REGISTRY.get(config)
46
+ raise UnknownAdapterError, config if registry_klass.nil?
47
+
48
+ registry_klass.new(*args, **kwargs)
42
49
  else
43
- type
50
+ config
44
51
  end
45
52
  end
46
53
 
@@ -30,13 +30,7 @@ module Datadog
30
30
  # Pass a block to override any settings.
31
31
  def default(agent_settings: Datadog::Configuration::AgentSettingsResolver::ENVIRONMENT_AGENT_SETTINGS, **options)
32
32
  new do |transport|
33
- transport.adapter(
34
- default_adapter,
35
- agent_settings.hostname,
36
- agent_settings.port,
37
- timeout: agent_settings.timeout_seconds,
38
- ssl: agent_settings.ssl
39
- )
33
+ transport.adapter(agent_settings)
40
34
  transport.headers default_headers
41
35
 
42
36
  if agent_settings.deprecated_for_removal_transport_configuration_options
@@ -80,7 +74,7 @@ module Datadog
80
74
  end
81
75
 
82
76
  def default_adapter
83
- :net_http
77
+ Ext::Transport::HTTP::ADAPTER
84
78
  end
85
79
 
86
80
  def default_hostname(logger: Datadog.logger)
@@ -111,9 +105,9 @@ module Datadog
111
105
  end
112
106
 
113
107
  # Add adapters to registry
114
- Builder::REGISTRY.set(Adapters::Net, :net_http)
115
- Builder::REGISTRY.set(Adapters::Test, :test)
116
- Builder::REGISTRY.set(Adapters::UnixSocket, :unix)
108
+ Builder::REGISTRY.set(Adapters::Net, Ext::Transport::HTTP::ADAPTER)
109
+ Builder::REGISTRY.set(Adapters::Test, Ext::Transport::Test::ADAPTER)
110
+ Builder::REGISTRY.set(Adapters::UnixSocket, Ext::Transport::UnixSocket::ADAPTER)
117
111
  end
118
112
  end
119
113
  end
@@ -7,13 +7,12 @@ module Datadog
7
7
 
8
8
  module_function
9
9
 
10
- # Current monotonic time.
11
- # Falls back to `now` if monotonic clock
12
- # is not available.
10
+ # Current monotonic time
13
11
  #
14
- # @return [Float] in seconds, since some unspecified starting point
15
- def get_time
16
- Process.clock_gettime(Process::CLOCK_MONOTONIC)
12
+ # @param unit [Symbol] unit for the resulting value, same as ::Process#clock_gettime, defaults to :float_second
13
+ # @return [Numeric] timestamp in the requested unit, since some unspecified starting point
14
+ def get_time(unit = :float_second)
15
+ Process.clock_gettime(Process::CLOCK_MONOTONIC, unit)
17
16
  end
18
17
 
19
18
  # Current wall time.
@@ -2,7 +2,7 @@
2
2
  module Datadog
3
3
  module VERSION
4
4
  MAJOR = 0
5
- MINOR = 52
5
+ MINOR = 53
6
6
  PATCH = 0
7
7
  PRE = nil
8
8
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.52.0
4
+ version: 0.53.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-09 00:00:00.000000000 Z
11
+ date: 2021-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -99,6 +99,7 @@ files:
99
99
  - lib/datadog/core/environment/socket.rb
100
100
  - lib/datadog/core/environment/thread_count.rb
101
101
  - lib/datadog/core/environment/variable_helpers.rb
102
+ - lib/datadog/core/environment/vm_cache.rb
102
103
  - lib/ddtrace.rb
103
104
  - lib/ddtrace/analytics.rb
104
105
  - lib/ddtrace/auto_instrument.rb
@@ -130,6 +131,14 @@ files:
130
131
  - lib/ddtrace/contrib/action_cable/instrumentation.rb
131
132
  - lib/ddtrace/contrib/action_cable/integration.rb
132
133
  - lib/ddtrace/contrib/action_cable/patcher.rb
134
+ - lib/ddtrace/contrib/action_mailer/configuration/settings.rb
135
+ - lib/ddtrace/contrib/action_mailer/event.rb
136
+ - lib/ddtrace/contrib/action_mailer/events.rb
137
+ - lib/ddtrace/contrib/action_mailer/events/deliver.rb
138
+ - lib/ddtrace/contrib/action_mailer/events/process.rb
139
+ - lib/ddtrace/contrib/action_mailer/ext.rb
140
+ - lib/ddtrace/contrib/action_mailer/integration.rb
141
+ - lib/ddtrace/contrib/action_mailer/patcher.rb
133
142
  - lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb
134
143
  - lib/ddtrace/contrib/action_pack/action_controller/patcher.rb
135
144
  - lib/ddtrace/contrib/action_pack/configuration/settings.rb
@@ -148,6 +157,19 @@ files:
148
157
  - lib/ddtrace/contrib/action_view/integration.rb
149
158
  - lib/ddtrace/contrib/action_view/patcher.rb
150
159
  - lib/ddtrace/contrib/action_view/utils.rb
160
+ - lib/ddtrace/contrib/active_job/configuration/settings.rb
161
+ - lib/ddtrace/contrib/active_job/event.rb
162
+ - lib/ddtrace/contrib/active_job/events.rb
163
+ - lib/ddtrace/contrib/active_job/events/discard.rb
164
+ - lib/ddtrace/contrib/active_job/events/enqueue.rb
165
+ - lib/ddtrace/contrib/active_job/events/enqueue_at.rb
166
+ - lib/ddtrace/contrib/active_job/events/enqueue_retry.rb
167
+ - lib/ddtrace/contrib/active_job/events/perform.rb
168
+ - lib/ddtrace/contrib/active_job/events/retry_stopped.rb
169
+ - lib/ddtrace/contrib/active_job/ext.rb
170
+ - lib/ddtrace/contrib/active_job/integration.rb
171
+ - lib/ddtrace/contrib/active_job/log_injection.rb
172
+ - lib/ddtrace/contrib/active_job/patcher.rb
151
173
  - lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb
152
174
  - lib/ddtrace/contrib/active_model_serializers/event.rb
153
175
  - lib/ddtrace/contrib/active_model_serializers/events.rb
@@ -392,6 +414,9 @@ files:
392
414
  - lib/ddtrace/contrib/sidekiq/ext.rb
393
415
  - lib/ddtrace/contrib/sidekiq/integration.rb
394
416
  - lib/ddtrace/contrib/sidekiq/patcher.rb
417
+ - lib/ddtrace/contrib/sidekiq/server_internal_tracer/heartbeat.rb
418
+ - lib/ddtrace/contrib/sidekiq/server_internal_tracer/job_fetch.rb
419
+ - lib/ddtrace/contrib/sidekiq/server_internal_tracer/scheduled_push.rb
395
420
  - lib/ddtrace/contrib/sidekiq/server_tracer.rb
396
421
  - lib/ddtrace/contrib/sidekiq/tracing.rb
397
422
  - lib/ddtrace/contrib/sinatra/configuration/settings.rb