ddtrace 0.52.0 → 0.53.0

Sign up to get free protection for your applications and to get access to all the features.
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