ddtrace 0.54.2 → 1.0.0.beta1

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 (1062) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/LICENSE-3rdparty.csv +2 -1
  4. data/README.md +4 -0
  5. data/bin/ddtracerb +5 -5
  6. data/ddtrace.gemspec +7 -4
  7. data/docs/0.x-trace.png +0 -0
  8. data/docs/1.0-trace.png +0 -0
  9. data/docs/AutoInstrumentation.md +36 -0
  10. data/docs/Deprecation.md +8 -0
  11. data/docs/DevelopmentGuide.md +1 -1
  12. data/docs/GettingStarted.md +408 -431
  13. data/docs/ProfilingDevelopment.md +12 -9
  14. data/docs/PublicApi.md +14 -0
  15. data/docs/UpgradeGuide.md +557 -0
  16. data/lib/datadog/appsec/assets/blocked.html +4 -0
  17. data/lib/datadog/appsec/assets/waf_rules/README.md +7 -0
  18. data/lib/datadog/appsec/assets/waf_rules/recommended.json +5708 -0
  19. data/lib/datadog/appsec/assets/waf_rules/risky.json +1439 -0
  20. data/lib/datadog/appsec/assets/waf_rules/strict.json +1361 -0
  21. data/lib/datadog/appsec/assets.rb +36 -0
  22. data/lib/datadog/appsec/autoload.rb +16 -0
  23. data/lib/datadog/appsec/configuration/settings.rb +173 -0
  24. data/lib/datadog/appsec/configuration.rb +70 -0
  25. data/lib/datadog/appsec/contrib/auto_instrument.rb +27 -0
  26. data/lib/datadog/appsec/contrib/configuration/settings.rb +18 -0
  27. data/lib/datadog/appsec/contrib/integration.rb +35 -0
  28. data/lib/datadog/appsec/contrib/patcher.rb +10 -0
  29. data/lib/datadog/appsec/contrib/rack/configuration/settings.rb +20 -0
  30. data/lib/datadog/appsec/contrib/rack/ext.rb +13 -0
  31. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +128 -0
  32. data/lib/datadog/appsec/contrib/rack/integration.rb +48 -0
  33. data/lib/datadog/appsec/contrib/rack/patcher.rb +33 -0
  34. data/lib/datadog/appsec/contrib/rack/reactive/request.rb +85 -0
  35. data/lib/datadog/appsec/contrib/rack/reactive/response.rb +62 -0
  36. data/lib/datadog/appsec/contrib/rack/request.rb +43 -0
  37. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +98 -0
  38. data/lib/datadog/appsec/contrib/rack/response.rb +22 -0
  39. data/lib/datadog/appsec/contrib/rails/configuration/settings.rb +20 -0
  40. data/lib/datadog/appsec/contrib/rails/ext.rb +13 -0
  41. data/lib/datadog/appsec/contrib/rails/framework.rb +28 -0
  42. data/lib/datadog/appsec/contrib/rails/integration.rb +48 -0
  43. data/lib/datadog/appsec/contrib/rails/patcher.rb +125 -0
  44. data/lib/datadog/appsec/contrib/rails/request_middleware.rb +18 -0
  45. data/lib/datadog/appsec/contrib/sinatra/configuration/settings.rb +20 -0
  46. data/lib/datadog/appsec/contrib/sinatra/ext.rb +13 -0
  47. data/lib/datadog/appsec/contrib/sinatra/framework.rb +32 -0
  48. data/lib/datadog/appsec/contrib/sinatra/integration.rb +48 -0
  49. data/lib/datadog/appsec/contrib/sinatra/patcher.rb +77 -0
  50. data/lib/datadog/appsec/contrib/sinatra/request_middleware.rb +18 -0
  51. data/lib/datadog/appsec/event.rb +111 -0
  52. data/lib/datadog/appsec/extensions.rb +120 -0
  53. data/lib/datadog/appsec/instrumentation/gateway.rb +42 -0
  54. data/lib/datadog/appsec/rate_limiter.rb +53 -0
  55. data/lib/datadog/appsec/reactive/address_hash.rb +16 -0
  56. data/lib/datadog/appsec/reactive/engine.rb +42 -0
  57. data/lib/datadog/appsec/reactive/operation.rb +50 -0
  58. data/lib/datadog/appsec/reactive/subscriber.rb +16 -0
  59. data/lib/datadog/appsec.rb +21 -0
  60. data/lib/datadog/ci/configuration/components.rb +8 -8
  61. data/lib/datadog/ci/configuration/settings.rb +12 -3
  62. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +3 -2
  63. data/lib/datadog/ci/contrib/cucumber/ext.rb +1 -0
  64. data/lib/datadog/ci/contrib/cucumber/formatter.rb +2 -8
  65. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +1 -1
  66. data/lib/datadog/ci/contrib/cucumber/integration.rb +2 -2
  67. data/lib/datadog/ci/contrib/cucumber/patcher.rb +2 -2
  68. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +3 -2
  69. data/lib/datadog/ci/contrib/rspec/example.rb +1 -7
  70. data/lib/datadog/ci/contrib/rspec/ext.rb +1 -0
  71. data/lib/datadog/ci/contrib/rspec/integration.rb +2 -2
  72. data/lib/datadog/ci/contrib/rspec/patcher.rb +2 -2
  73. data/lib/datadog/ci/ext/app_types.rb +1 -1
  74. data/lib/datadog/ci/ext/environment.rb +105 -102
  75. data/lib/datadog/ci/ext/settings.rb +1 -1
  76. data/lib/datadog/ci/extensions.rb +4 -4
  77. data/lib/datadog/ci/flush.rb +37 -0
  78. data/lib/datadog/ci/test.rb +14 -13
  79. data/lib/datadog/ci.rb +3 -2
  80. data/lib/datadog/core/buffer/cruby.rb +54 -0
  81. data/lib/datadog/core/buffer/random.rb +134 -0
  82. data/lib/datadog/core/buffer/thread_safe.rb +57 -0
  83. data/lib/datadog/core/chunker.rb +35 -0
  84. data/lib/datadog/core/configuration/agent_settings_resolver.rb +296 -0
  85. data/lib/datadog/core/configuration/base.rb +88 -0
  86. data/lib/datadog/core/configuration/components.rb +392 -0
  87. data/lib/datadog/core/configuration/dependency_resolver.rb +27 -0
  88. data/lib/datadog/core/configuration/option.rb +68 -0
  89. data/lib/datadog/core/configuration/option_definition.rb +125 -0
  90. data/lib/datadog/core/configuration/option_definition_set.rb +21 -0
  91. data/lib/datadog/core/configuration/option_set.rb +9 -0
  92. data/lib/datadog/core/configuration/options.rb +117 -0
  93. data/lib/datadog/core/configuration/settings.rb +626 -0
  94. data/lib/datadog/core/configuration.rb +283 -0
  95. data/lib/datadog/core/diagnostics/environment_logger.rb +282 -0
  96. data/lib/datadog/core/diagnostics/ext.rb +40 -0
  97. data/lib/datadog/core/diagnostics/health.rb +36 -0
  98. data/lib/datadog/core/encoding.rb +75 -0
  99. data/lib/datadog/core/environment/ext.rb +27 -9
  100. data/lib/datadog/core/environment/identity.rb +10 -4
  101. data/lib/datadog/core/environment/socket.rb +8 -2
  102. data/lib/datadog/core/environment/variable_helpers.rb +1 -0
  103. data/lib/datadog/core/error.rb +100 -0
  104. data/lib/datadog/core/extensions.rb +15 -0
  105. data/lib/datadog/core/git/ext.rb +34 -0
  106. data/lib/datadog/core/logger.rb +45 -0
  107. data/lib/datadog/core/metrics/client.rb +187 -0
  108. data/lib/datadog/core/metrics/ext.rb +19 -0
  109. data/lib/datadog/core/metrics/helpers.rb +23 -0
  110. data/lib/datadog/core/metrics/logging.rb +42 -0
  111. data/lib/datadog/core/metrics/metric.rb +12 -0
  112. data/lib/datadog/core/metrics/options.rb +48 -0
  113. data/lib/datadog/core/pin.rb +75 -0
  114. data/lib/datadog/core/runtime/ext.rb +28 -0
  115. data/lib/datadog/core/runtime/metrics.rb +125 -0
  116. data/lib/datadog/core/utils/compression.rb +31 -0
  117. data/lib/datadog/core/utils/forking.rb +62 -0
  118. data/lib/datadog/core/utils/object_set.rb +42 -0
  119. data/lib/datadog/core/utils/only_once.rb +43 -0
  120. data/lib/datadog/core/utils/sequence.rb +20 -0
  121. data/lib/datadog/core/utils/string_table.rb +48 -0
  122. data/lib/datadog/core/utils/time.rb +53 -0
  123. data/lib/datadog/core/utils.rb +114 -0
  124. data/lib/{ddtrace → datadog/core}/vendor/multipart-post/LICENSE +0 -0
  125. data/lib/datadog/core/vendor/multipart-post/multipart/post/composite_read_io.rb +119 -0
  126. data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +60 -0
  127. data/lib/datadog/core/vendor/multipart-post/multipart/post/parts.rb +138 -0
  128. data/lib/datadog/core/vendor/multipart-post/multipart/post/version.rb +12 -0
  129. data/lib/datadog/core/vendor/multipart-post/multipart/post.rb +11 -0
  130. data/lib/datadog/core/vendor/multipart-post/multipart.rb +15 -0
  131. data/lib/datadog/core/vendor/multipart-post/net/http/post/multipart.rb +35 -0
  132. data/lib/datadog/core/worker.rb +23 -0
  133. data/lib/datadog/core/workers/async.rb +179 -0
  134. data/lib/datadog/core/workers/interval_loop.rb +118 -0
  135. data/lib/datadog/core/workers/polling.rb +58 -0
  136. data/lib/datadog/core/workers/queue.rb +43 -0
  137. data/lib/datadog/core/workers/runtime_metrics.rb +64 -0
  138. data/lib/datadog/core.rb +73 -0
  139. data/lib/datadog/opentelemetry/extensions.rb +14 -0
  140. data/lib/datadog/opentelemetry/span.rb +34 -0
  141. data/lib/{ddtrace → datadog}/opentracer/binary_propagator.rb +0 -0
  142. data/lib/datadog/opentracer/carrier.rb +8 -0
  143. data/lib/datadog/opentracer/distributed_headers.rb +57 -0
  144. data/lib/datadog/opentracer/global_tracer.rb +16 -0
  145. data/lib/datadog/opentracer/propagator.rb +25 -0
  146. data/lib/datadog/opentracer/rack_propagator.rb +71 -0
  147. data/lib/datadog/opentracer/scope.rb +17 -0
  148. data/lib/datadog/opentracer/scope_manager.rb +8 -0
  149. data/lib/datadog/opentracer/span.rb +100 -0
  150. data/lib/datadog/opentracer/span_context.rb +18 -0
  151. data/lib/datadog/opentracer/span_context_factory.rb +26 -0
  152. data/lib/datadog/opentracer/text_map_propagator.rb +86 -0
  153. data/lib/datadog/opentracer/thread_local_scope.rb +33 -0
  154. data/lib/datadog/opentracer/thread_local_scope_manager.rb +42 -0
  155. data/lib/datadog/opentracer/tracer.rb +213 -0
  156. data/lib/datadog/opentracer.rb +23 -0
  157. data/lib/{ddtrace → datadog}/profiling/backtrace_location.rb +0 -0
  158. data/lib/datadog/profiling/buffer.rb +42 -0
  159. data/lib/datadog/profiling/collectors/code_provenance.rb +113 -0
  160. data/lib/datadog/profiling/collectors/stack.rb +297 -0
  161. data/lib/datadog/profiling/encoding/profile.rb +47 -0
  162. data/lib/{ddtrace → datadog}/profiling/event.rb +0 -0
  163. data/lib/datadog/profiling/events/stack.rb +81 -0
  164. data/lib/datadog/profiling/exporter.rb +24 -0
  165. data/lib/{ddtrace → datadog}/profiling/ext/forking.rb +0 -0
  166. data/lib/datadog/profiling/ext.rb +56 -0
  167. data/lib/datadog/profiling/flush.rb +68 -0
  168. data/lib/{ddtrace → datadog}/profiling/native_extension.rb +0 -0
  169. data/lib/datadog/profiling/pprof/builder.rb +126 -0
  170. data/lib/datadog/profiling/pprof/converter.rb +103 -0
  171. data/lib/datadog/profiling/pprof/message_set.rb +15 -0
  172. data/lib/{ddtrace → datadog}/profiling/pprof/payload.rb +0 -0
  173. data/lib/{ddtrace → datadog}/profiling/pprof/pprof.proto +0 -0
  174. data/lib/datadog/profiling/pprof/pprof_pb.rb +82 -0
  175. data/lib/datadog/profiling/pprof/stack_sample.rb +140 -0
  176. data/lib/datadog/profiling/pprof/string_table.rb +11 -0
  177. data/lib/datadog/profiling/pprof/template.rb +119 -0
  178. data/lib/datadog/profiling/preload.rb +4 -0
  179. data/lib/datadog/profiling/profiler.rb +33 -0
  180. data/lib/datadog/profiling/recorder.rb +116 -0
  181. data/lib/datadog/profiling/scheduler.rb +150 -0
  182. data/lib/datadog/profiling/tasks/exec.rb +49 -0
  183. data/lib/datadog/profiling/tasks/help.rb +17 -0
  184. data/lib/datadog/profiling/tasks/setup.rb +90 -0
  185. data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +44 -0
  186. data/lib/datadog/profiling/trace_identifiers/helper.rb +46 -0
  187. data/lib/{ddtrace → datadog}/profiling/transport/client.rb +0 -0
  188. data/lib/datadog/profiling/transport/http/api/endpoint.rb +106 -0
  189. data/lib/datadog/profiling/transport/http/api/instance.rb +37 -0
  190. data/lib/{ddtrace → datadog}/profiling/transport/http/api/spec.rb +0 -0
  191. data/lib/datadog/profiling/transport/http/api.rb +44 -0
  192. data/lib/datadog/profiling/transport/http/builder.rb +29 -0
  193. data/lib/datadog/profiling/transport/http/client.rb +34 -0
  194. data/lib/datadog/profiling/transport/http/response.rb +22 -0
  195. data/lib/datadog/profiling/transport/http.rb +111 -0
  196. data/lib/datadog/profiling/transport/io/client.rb +28 -0
  197. data/lib/datadog/profiling/transport/io/response.rb +17 -0
  198. data/lib/datadog/profiling/transport/io.rb +31 -0
  199. data/lib/{ddtrace → datadog}/profiling/transport/parcel.rb +0 -0
  200. data/lib/datadog/profiling/transport/request.rb +16 -0
  201. data/lib/{ddtrace → datadog}/profiling/transport/response.rb +0 -0
  202. data/lib/datadog/profiling.rb +167 -0
  203. data/lib/datadog/tracing/analytics.rb +24 -0
  204. data/lib/datadog/tracing/buffer.rb +125 -0
  205. data/lib/datadog/tracing/configuration/ext.rb +50 -0
  206. data/lib/datadog/tracing/context.rb +67 -0
  207. data/lib/datadog/tracing/context_provider.rb +67 -0
  208. data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +34 -0
  209. data/lib/datadog/tracing/contrib/action_cable/event.rb +71 -0
  210. data/lib/datadog/tracing/contrib/action_cable/events/broadcast.rb +57 -0
  211. data/lib/datadog/tracing/contrib/action_cable/events/perform_action.rb +62 -0
  212. data/lib/datadog/tracing/contrib/action_cable/events/transmit.rb +58 -0
  213. data/lib/datadog/tracing/contrib/action_cable/events.rb +36 -0
  214. data/lib/datadog/tracing/contrib/action_cable/ext.rb +31 -0
  215. data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +91 -0
  216. data/lib/datadog/tracing/contrib/action_cable/integration.rb +49 -0
  217. data/lib/datadog/tracing/contrib/action_cable/patcher.rb +30 -0
  218. data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +35 -0
  219. data/lib/datadog/tracing/contrib/action_mailer/event.rb +51 -0
  220. data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +59 -0
  221. data/lib/datadog/tracing/contrib/action_mailer/events/process.rb +46 -0
  222. data/lib/datadog/tracing/contrib/action_mailer/events.rb +33 -0
  223. data/lib/datadog/tracing/contrib/action_mailer/ext.rb +32 -0
  224. data/lib/datadog/tracing/contrib/action_mailer/integration.rb +49 -0
  225. data/lib/datadog/tracing/contrib/action_mailer/patcher.rb +28 -0
  226. data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +155 -0
  227. data/lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb +28 -0
  228. data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +35 -0
  229. data/lib/datadog/tracing/contrib/action_pack/ext.rb +21 -0
  230. data/lib/datadog/tracing/contrib/action_pack/integration.rb +49 -0
  231. data/lib/datadog/tracing/contrib/action_pack/patcher.rb +26 -0
  232. data/lib/datadog/tracing/contrib/action_pack/utils.rb +39 -0
  233. data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +35 -0
  234. data/lib/datadog/tracing/contrib/action_view/event.rb +34 -0
  235. data/lib/datadog/tracing/contrib/action_view/events/render_partial.rb +53 -0
  236. data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +56 -0
  237. data/lib/datadog/tracing/contrib/action_view/events.rb +33 -0
  238. data/lib/datadog/tracing/contrib/action_view/ext.rb +23 -0
  239. data/lib/datadog/tracing/contrib/action_view/instrumentation/partial_renderer.rb +77 -0
  240. data/lib/datadog/tracing/contrib/action_view/instrumentation/template_renderer.rb +90 -0
  241. data/lib/datadog/tracing/contrib/action_view/integration.rb +56 -0
  242. data/lib/datadog/tracing/contrib/action_view/patcher.rb +47 -0
  243. data/lib/datadog/tracing/contrib/action_view/utils.rb +35 -0
  244. data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +36 -0
  245. data/lib/datadog/tracing/contrib/active_job/event.rb +57 -0
  246. data/lib/datadog/tracing/contrib/active_job/events/discard.rb +49 -0
  247. data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +48 -0
  248. data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +48 -0
  249. data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +50 -0
  250. data/lib/datadog/tracing/contrib/active_job/events/perform.rb +48 -0
  251. data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +49 -0
  252. data/lib/datadog/tracing/contrib/active_job/events.rb +41 -0
  253. data/lib/datadog/tracing/contrib/active_job/ext.rb +38 -0
  254. data/lib/datadog/tracing/contrib/active_job/integration.rb +49 -0
  255. data/lib/datadog/tracing/contrib/active_job/log_injection.rb +25 -0
  256. data/lib/datadog/tracing/contrib/active_job/patcher.rb +35 -0
  257. data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +32 -0
  258. data/lib/datadog/tracing/contrib/active_model_serializers/event.rb +68 -0
  259. data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +44 -0
  260. data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +46 -0
  261. data/lib/datadog/tracing/contrib/active_model_serializers/events.rb +33 -0
  262. data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +23 -0
  263. data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +44 -0
  264. data/lib/datadog/tracing/contrib/active_model_serializers/patcher.rb +32 -0
  265. data/lib/datadog/tracing/contrib/active_record/configuration/makara_resolver.rb +35 -0
  266. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +137 -0
  267. data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +38 -0
  268. data/lib/datadog/tracing/contrib/active_record/event.rb +29 -0
  269. data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +57 -0
  270. data/lib/datadog/tracing/contrib/active_record/events/sql.rb +77 -0
  271. data/lib/datadog/tracing/contrib/active_record/events.rb +33 -0
  272. data/lib/datadog/tracing/contrib/active_record/ext.rb +28 -0
  273. data/lib/datadog/tracing/contrib/active_record/integration.rb +55 -0
  274. data/lib/datadog/tracing/contrib/active_record/patcher.rb +26 -0
  275. data/lib/datadog/tracing/contrib/active_record/utils.rb +127 -0
  276. data/lib/{ddtrace/vendor/active_record → datadog/tracing/contrib/active_record/vendor}/MIT-LICENSE +0 -0
  277. data/lib/datadog/tracing/contrib/active_record/vendor/connection_specification.rb +306 -0
  278. data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +269 -0
  279. data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +72 -0
  280. data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +46 -0
  281. data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +34 -0
  282. data/lib/datadog/tracing/contrib/active_support/ext.rb +30 -0
  283. data/lib/datadog/tracing/contrib/active_support/integration.rb +50 -0
  284. data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +70 -0
  285. data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +70 -0
  286. data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +161 -0
  287. data/lib/datadog/tracing/contrib/active_support/patcher.rb +26 -0
  288. data/lib/datadog/tracing/contrib/analytics.rb +28 -0
  289. data/lib/datadog/tracing/contrib/auto_instrument.rb +50 -0
  290. data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +34 -0
  291. data/lib/datadog/tracing/contrib/aws/ext.rb +26 -0
  292. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +93 -0
  293. data/lib/datadog/tracing/contrib/aws/integration.rb +46 -0
  294. data/lib/datadog/tracing/contrib/aws/parsed_context.rb +59 -0
  295. data/lib/datadog/tracing/contrib/aws/patcher.rb +56 -0
  296. data/lib/datadog/tracing/contrib/aws/services.rb +122 -0
  297. data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +22 -0
  298. data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +45 -0
  299. data/lib/datadog/tracing/contrib/concurrent_ruby/ext.rb +15 -0
  300. data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +26 -0
  301. data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +42 -0
  302. data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +32 -0
  303. data/lib/datadog/tracing/contrib/configurable.rb +101 -0
  304. data/lib/datadog/tracing/contrib/configuration/resolver.rb +84 -0
  305. data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +42 -0
  306. data/lib/datadog/tracing/contrib/configuration/settings.rb +42 -0
  307. data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +34 -0
  308. data/lib/datadog/tracing/contrib/dalli/ext.rb +23 -0
  309. data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +57 -0
  310. data/lib/datadog/tracing/contrib/dalli/integration.rb +51 -0
  311. data/lib/datadog/tracing/contrib/dalli/patcher.rb +28 -0
  312. data/lib/datadog/tracing/contrib/dalli/quantize.rb +25 -0
  313. data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +37 -0
  314. data/lib/datadog/tracing/contrib/delayed_job/ext.rb +25 -0
  315. data/lib/datadog/tracing/contrib/delayed_job/integration.rb +42 -0
  316. data/lib/datadog/tracing/contrib/delayed_job/patcher.rb +31 -0
  317. data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +100 -0
  318. data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +35 -0
  319. data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +25 -0
  320. data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +43 -0
  321. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +114 -0
  322. data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +88 -0
  323. data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +36 -0
  324. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +176 -0
  325. data/lib/datadog/tracing/contrib/ethon/ext.rb +23 -0
  326. data/lib/datadog/tracing/contrib/ethon/integration.rb +47 -0
  327. data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +95 -0
  328. data/lib/datadog/tracing/contrib/ethon/patcher.rb +31 -0
  329. data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +37 -0
  330. data/lib/datadog/tracing/contrib/excon/ext.rb +20 -0
  331. data/lib/datadog/tracing/contrib/excon/integration.rb +47 -0
  332. data/lib/datadog/tracing/contrib/excon/middleware.rb +169 -0
  333. data/lib/datadog/tracing/contrib/excon/patcher.rb +30 -0
  334. data/lib/datadog/tracing/contrib/extensions.rb +184 -0
  335. data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +41 -0
  336. data/lib/datadog/tracing/contrib/faraday/connection.rb +21 -0
  337. data/lib/datadog/tracing/contrib/faraday/ext.rb +20 -0
  338. data/lib/datadog/tracing/contrib/faraday/integration.rb +47 -0
  339. data/lib/datadog/tracing/contrib/faraday/middleware.rb +92 -0
  340. data/lib/datadog/tracing/contrib/faraday/patcher.rb +56 -0
  341. data/lib/datadog/tracing/contrib/faraday/rack_builder.rb +21 -0
  342. data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +41 -0
  343. data/lib/datadog/tracing/contrib/grape/endpoint.rb +251 -0
  344. data/lib/datadog/tracing/contrib/grape/ext.rb +27 -0
  345. data/lib/datadog/tracing/contrib/grape/instrumentation.rb +36 -0
  346. data/lib/datadog/tracing/contrib/grape/integration.rb +43 -0
  347. data/lib/datadog/tracing/contrib/grape/patcher.rb +33 -0
  348. data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +35 -0
  349. data/lib/datadog/tracing/contrib/graphql/ext.rb +18 -0
  350. data/lib/datadog/tracing/contrib/graphql/integration.rb +43 -0
  351. data/lib/datadog/tracing/contrib/graphql/patcher.rb +64 -0
  352. data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +36 -0
  353. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +83 -0
  354. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +89 -0
  355. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +103 -0
  356. data/lib/datadog/tracing/contrib/grpc/ext.rb +22 -0
  357. data/lib/datadog/tracing/contrib/grpc/integration.rb +42 -0
  358. data/lib/datadog/tracing/contrib/grpc/intercept_with_datadog.rb +52 -0
  359. data/lib/datadog/tracing/contrib/grpc/patcher.rb +37 -0
  360. data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +43 -0
  361. data/lib/datadog/tracing/contrib/http/configuration/settings.rb +36 -0
  362. data/lib/datadog/tracing/contrib/http/ext.rb +20 -0
  363. data/lib/datadog/tracing/contrib/http/instrumentation.rb +138 -0
  364. data/lib/datadog/tracing/contrib/http/integration.rb +48 -0
  365. data/lib/datadog/tracing/contrib/http/patcher.rb +29 -0
  366. data/lib/datadog/tracing/contrib/http_annotation_helper.rb +16 -0
  367. data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +36 -0
  368. data/lib/datadog/tracing/contrib/httpclient/ext.rb +20 -0
  369. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +116 -0
  370. data/lib/datadog/tracing/contrib/httpclient/integration.rb +47 -0
  371. data/lib/datadog/tracing/contrib/httpclient/patcher.rb +41 -0
  372. data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +36 -0
  373. data/lib/datadog/tracing/contrib/httprb/ext.rb +20 -0
  374. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +127 -0
  375. data/lib/datadog/tracing/contrib/httprb/integration.rb +47 -0
  376. data/lib/datadog/tracing/contrib/httprb/patcher.rb +41 -0
  377. data/lib/datadog/tracing/contrib/integration.rb +77 -0
  378. data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +34 -0
  379. data/lib/datadog/tracing/contrib/kafka/consumer_event.rb +17 -0
  380. data/lib/datadog/tracing/contrib/kafka/consumer_group_event.rb +17 -0
  381. data/lib/datadog/tracing/contrib/kafka/event.rb +51 -0
  382. data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +41 -0
  383. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +48 -0
  384. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +46 -0
  385. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +46 -0
  386. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +36 -0
  387. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +36 -0
  388. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +36 -0
  389. data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +39 -0
  390. data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +42 -0
  391. data/lib/datadog/tracing/contrib/kafka/events.rb +47 -0
  392. data/lib/datadog/tracing/contrib/kafka/ext.rb +51 -0
  393. data/lib/datadog/tracing/contrib/kafka/integration.rb +43 -0
  394. data/lib/datadog/tracing/contrib/kafka/patcher.rb +29 -0
  395. data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +22 -0
  396. data/lib/datadog/tracing/contrib/lograge/ext.rb +14 -0
  397. data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +45 -0
  398. data/lib/datadog/tracing/contrib/lograge/integration.rb +49 -0
  399. data/lib/datadog/tracing/contrib/lograge/patcher.rb +28 -0
  400. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +37 -0
  401. data/lib/datadog/tracing/contrib/mongodb/ext.rb +26 -0
  402. data/lib/datadog/tracing/contrib/mongodb/instrumentation.rb +46 -0
  403. data/lib/datadog/tracing/contrib/mongodb/integration.rb +47 -0
  404. data/lib/datadog/tracing/contrib/mongodb/parsers.rb +48 -0
  405. data/lib/datadog/tracing/contrib/mongodb/patcher.rb +33 -0
  406. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +120 -0
  407. data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +34 -0
  408. data/lib/datadog/tracing/contrib/mysql2/ext.rb +21 -0
  409. data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +61 -0
  410. data/lib/datadog/tracing/contrib/mysql2/integration.rb +42 -0
  411. data/lib/datadog/tracing/contrib/mysql2/patcher.rb +30 -0
  412. data/lib/datadog/tracing/contrib/patchable.rb +108 -0
  413. data/lib/datadog/tracing/contrib/patcher.rb +73 -0
  414. data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +34 -0
  415. data/lib/datadog/tracing/contrib/presto/ext.rb +31 -0
  416. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +124 -0
  417. data/lib/datadog/tracing/contrib/presto/integration.rb +42 -0
  418. data/lib/datadog/tracing/contrib/presto/patcher.rb +36 -0
  419. data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +39 -0
  420. data/lib/datadog/tracing/contrib/qless/ext.rb +25 -0
  421. data/lib/datadog/tracing/contrib/qless/integration.rb +42 -0
  422. data/lib/datadog/tracing/contrib/qless/patcher.rb +38 -0
  423. data/lib/datadog/tracing/contrib/qless/qless_job.rb +74 -0
  424. data/lib/datadog/tracing/contrib/qless/tracer_cleaner.rb +31 -0
  425. data/lib/datadog/tracing/contrib/que/configuration/settings.rb +48 -0
  426. data/lib/datadog/tracing/contrib/que/ext.rb +33 -0
  427. data/lib/datadog/tracing/contrib/que/integration.rb +45 -0
  428. data/lib/datadog/tracing/contrib/que/patcher.rb +28 -0
  429. data/lib/datadog/tracing/contrib/que/tracer.rb +60 -0
  430. data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +34 -0
  431. data/lib/datadog/tracing/contrib/racecar/event.rb +78 -0
  432. data/lib/datadog/tracing/contrib/racecar/events/batch.rb +34 -0
  433. data/lib/datadog/tracing/contrib/racecar/events/consume.rb +34 -0
  434. data/lib/datadog/tracing/contrib/racecar/events/message.rb +34 -0
  435. data/lib/datadog/tracing/contrib/racecar/events.rb +35 -0
  436. data/lib/datadog/tracing/contrib/racecar/ext.rb +30 -0
  437. data/lib/datadog/tracing/contrib/racecar/integration.rb +43 -0
  438. data/lib/datadog/tracing/contrib/racecar/patcher.rb +29 -0
  439. data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +50 -0
  440. data/lib/datadog/tracing/contrib/rack/ext.rb +24 -0
  441. data/lib/datadog/tracing/contrib/rack/integration.rb +49 -0
  442. data/lib/datadog/tracing/contrib/rack/middlewares.rb +254 -0
  443. data/lib/datadog/tracing/contrib/rack/patcher.rb +108 -0
  444. data/lib/datadog/tracing/contrib/rack/request_queue.rb +47 -0
  445. data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +10 -0
  446. data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +70 -0
  447. data/lib/datadog/tracing/contrib/rails/ext.rb +18 -0
  448. data/lib/datadog/tracing/contrib/rails/framework.rb +151 -0
  449. data/lib/datadog/tracing/contrib/rails/integration.rb +48 -0
  450. data/lib/datadog/tracing/contrib/rails/log_injection.rb +46 -0
  451. data/lib/datadog/tracing/contrib/rails/middlewares.rb +46 -0
  452. data/lib/datadog/tracing/contrib/rails/patcher.rb +116 -0
  453. data/lib/datadog/tracing/contrib/rails/railtie.rb +18 -0
  454. data/lib/datadog/tracing/contrib/rails/utils.rb +27 -0
  455. data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +35 -0
  456. data/lib/datadog/tracing/contrib/rake/ext.rb +25 -0
  457. data/lib/datadog/tracing/contrib/rake/instrumentation.rb +96 -0
  458. data/lib/datadog/tracing/contrib/rake/integration.rb +42 -0
  459. data/lib/datadog/tracing/contrib/rake/patcher.rb +34 -0
  460. data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +48 -0
  461. data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +39 -0
  462. data/lib/datadog/tracing/contrib/redis/ext.rb +25 -0
  463. data/lib/datadog/tracing/contrib/redis/instrumentation.rb +77 -0
  464. data/lib/datadog/tracing/contrib/redis/integration.rb +46 -0
  465. data/lib/datadog/tracing/contrib/redis/patcher.rb +35 -0
  466. data/lib/datadog/tracing/contrib/redis/quantize.rb +78 -0
  467. data/lib/datadog/tracing/contrib/redis/tags.rb +53 -0
  468. data/lib/{ddtrace → datadog/tracing}/contrib/redis/vendor/LICENSE +0 -0
  469. data/lib/datadog/tracing/contrib/redis/vendor/resolver.rb +161 -0
  470. data/lib/datadog/tracing/contrib/registerable.rb +50 -0
  471. data/lib/datadog/tracing/contrib/registry.rb +51 -0
  472. data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +36 -0
  473. data/lib/datadog/tracing/contrib/resque/ext.rb +20 -0
  474. data/lib/datadog/tracing/contrib/resque/integration.rb +47 -0
  475. data/lib/datadog/tracing/contrib/resque/patcher.rb +29 -0
  476. data/lib/datadog/tracing/contrib/resque/resque_job.rb +102 -0
  477. data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +35 -0
  478. data/lib/datadog/tracing/contrib/rest_client/ext.rb +20 -0
  479. data/lib/datadog/tracing/contrib/rest_client/integration.rb +42 -0
  480. data/lib/datadog/tracing/contrib/rest_client/patcher.rb +29 -0
  481. data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +104 -0
  482. data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +22 -0
  483. data/lib/datadog/tracing/contrib/semantic_logger/ext.rb +14 -0
  484. data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +49 -0
  485. data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +51 -0
  486. data/lib/datadog/tracing/contrib/semantic_logger/patcher.rb +28 -0
  487. data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +32 -0
  488. data/lib/datadog/tracing/contrib/sequel/database.rb +59 -0
  489. data/lib/datadog/tracing/contrib/sequel/dataset.rb +64 -0
  490. data/lib/datadog/tracing/contrib/sequel/ext.rb +21 -0
  491. data/lib/datadog/tracing/contrib/sequel/integration.rb +42 -0
  492. data/lib/datadog/tracing/contrib/sequel/patcher.rb +36 -0
  493. data/lib/datadog/tracing/contrib/sequel/utils.rb +86 -0
  494. data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +37 -0
  495. data/lib/datadog/tracing/contrib/shoryuken/ext.rb +24 -0
  496. data/lib/datadog/tracing/contrib/shoryuken/integration.rb +43 -0
  497. data/lib/datadog/tracing/contrib/shoryuken/patcher.rb +27 -0
  498. data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +60 -0
  499. data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +52 -0
  500. data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +42 -0
  501. data/lib/datadog/tracing/contrib/sidekiq/ext.rb +37 -0
  502. data/lib/datadog/tracing/contrib/sidekiq/integration.rb +52 -0
  503. data/lib/datadog/tracing/contrib/sidekiq/patcher.rb +70 -0
  504. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb +34 -0
  505. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch.rb +34 -0
  506. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_push.rb +33 -0
  507. data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +78 -0
  508. data/lib/datadog/tracing/contrib/sidekiq/tracing.rb +43 -0
  509. data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +42 -0
  510. data/lib/datadog/tracing/contrib/sinatra/env.rb +65 -0
  511. data/lib/datadog/tracing/contrib/sinatra/ext.rb +31 -0
  512. data/lib/datadog/tracing/contrib/sinatra/framework.rb +105 -0
  513. data/lib/datadog/tracing/contrib/sinatra/headers.rb +34 -0
  514. data/lib/datadog/tracing/contrib/sinatra/integration.rb +42 -0
  515. data/lib/datadog/tracing/contrib/sinatra/patcher.rb +76 -0
  516. data/lib/datadog/tracing/contrib/sinatra/tracer.rb +158 -0
  517. data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +122 -0
  518. data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +37 -0
  519. data/lib/datadog/tracing/contrib/sneakers/ext.rb +25 -0
  520. data/lib/datadog/tracing/contrib/sneakers/integration.rb +45 -0
  521. data/lib/datadog/tracing/contrib/sneakers/patcher.rb +29 -0
  522. data/lib/datadog/tracing/contrib/sneakers/tracer.rb +57 -0
  523. data/lib/datadog/tracing/contrib/status_code_matcher.rb +74 -0
  524. data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +34 -0
  525. data/lib/datadog/tracing/contrib/sucker_punch/exception_handler.rb +27 -0
  526. data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +26 -0
  527. data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +104 -0
  528. data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +42 -0
  529. data/lib/datadog/tracing/contrib/sucker_punch/patcher.rb +37 -0
  530. data/lib/datadog/tracing/contrib/utils/database.rb +30 -0
  531. data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +110 -0
  532. data/lib/datadog/tracing/contrib/utils/quantization/http.rb +98 -0
  533. data/lib/datadog/tracing/contrib.rb +73 -0
  534. data/lib/datadog/tracing/correlation.rb +108 -0
  535. data/lib/datadog/tracing/distributed/headers/b3.rb +54 -0
  536. data/lib/datadog/tracing/distributed/headers/b3_single.rb +66 -0
  537. data/lib/datadog/tracing/distributed/headers/datadog.rb +51 -0
  538. data/lib/datadog/tracing/distributed/headers/ext.rb +30 -0
  539. data/lib/datadog/tracing/distributed/helpers.rb +43 -0
  540. data/lib/datadog/tracing/distributed/parser.rb +69 -0
  541. data/lib/datadog/tracing/event.rb +76 -0
  542. data/lib/datadog/tracing/flush.rb +73 -0
  543. data/lib/datadog/tracing/metadata/analytics.rb +24 -0
  544. data/lib/datadog/tracing/metadata/ext.rb +150 -0
  545. data/lib/datadog/tracing/metadata/tagging.rb +118 -0
  546. data/lib/datadog/tracing/metadata.rb +16 -0
  547. data/lib/datadog/tracing/pipeline/span_filter.rb +42 -0
  548. data/lib/datadog/tracing/pipeline/span_processor.rb +38 -0
  549. data/lib/datadog/tracing/pipeline.rb +65 -0
  550. data/lib/datadog/tracing/propagation/grpc.rb +87 -0
  551. data/lib/datadog/tracing/propagation/http.rb +108 -0
  552. data/lib/datadog/tracing/runtime/metrics.rb +18 -0
  553. data/lib/datadog/tracing/sampling/all_sampler.rb +24 -0
  554. data/lib/datadog/tracing/sampling/ext.rb +26 -0
  555. data/lib/datadog/tracing/sampling/matcher.rb +67 -0
  556. data/lib/datadog/tracing/sampling/priority_sampler.rb +112 -0
  557. data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +96 -0
  558. data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +40 -0
  559. data/lib/datadog/tracing/sampling/rate_limiter.rb +184 -0
  560. data/lib/datadog/tracing/sampling/rate_sampler.rb +54 -0
  561. data/lib/datadog/tracing/sampling/rule.rb +69 -0
  562. data/lib/datadog/tracing/sampling/rule_sampler.rb +132 -0
  563. data/lib/datadog/tracing/sampling/sampler.rb +43 -0
  564. data/lib/datadog/tracing/span.rb +210 -0
  565. data/lib/datadog/tracing/span_operation.rb +519 -0
  566. data/lib/datadog/tracing/sync_writer.rb +68 -0
  567. data/lib/datadog/tracing/trace_digest.rb +58 -0
  568. data/lib/datadog/tracing/trace_operation.rb +411 -0
  569. data/lib/datadog/tracing/trace_segment.rb +292 -0
  570. data/lib/datadog/tracing/tracer.rb +504 -0
  571. data/lib/datadog/tracing/workers/trace_writer.rb +194 -0
  572. data/lib/datadog/tracing/workers.rb +124 -0
  573. data/lib/datadog/tracing/writer.rb +179 -0
  574. data/lib/datadog/tracing.rb +140 -0
  575. data/lib/ddtrace/auto_instrument.rb +4 -1
  576. data/lib/ddtrace/profiling/preload.rb +2 -4
  577. data/lib/ddtrace/transport/ext.rb +34 -0
  578. data/lib/ddtrace/transport/http/adapters/net.rb +2 -2
  579. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +2 -2
  580. data/lib/ddtrace/transport/http/api.rb +4 -11
  581. data/lib/ddtrace/transport/http/builder.rb +2 -2
  582. data/lib/ddtrace/transport/http/traces.rb +2 -0
  583. data/lib/ddtrace/transport/http.rb +22 -28
  584. data/lib/ddtrace/transport/io/traces.rb +1 -1
  585. data/lib/ddtrace/transport/io.rb +2 -2
  586. data/lib/ddtrace/transport/parcel.rb +1 -0
  587. data/lib/ddtrace/transport/serializable_trace.rb +116 -0
  588. data/lib/ddtrace/transport/statistics.rb +5 -4
  589. data/lib/ddtrace/transport/trace_formatter.rb +164 -0
  590. data/lib/ddtrace/transport/traces.rb +14 -5
  591. data/lib/ddtrace/version.rb +5 -5
  592. data/lib/ddtrace.rb +18 -39
  593. metadata +561 -485
  594. data/.yardopts +0 -5
  595. data/lib/datadog/ci/context_flush.rb +0 -29
  596. data/lib/datadog/contrib.rb +0 -71
  597. data/lib/ddtrace/analytics.rb +0 -39
  598. data/lib/ddtrace/buffer.rb +0 -340
  599. data/lib/ddtrace/chunker.rb +0 -35
  600. data/lib/ddtrace/configuration/agent_settings_resolver.rb +0 -309
  601. data/lib/ddtrace/configuration/base.rb +0 -82
  602. data/lib/ddtrace/configuration/components.rb +0 -292
  603. data/lib/ddtrace/configuration/dependency_resolver.rb +0 -25
  604. data/lib/ddtrace/configuration/option.rb +0 -65
  605. data/lib/ddtrace/configuration/option_definition.rb +0 -122
  606. data/lib/ddtrace/configuration/option_definition_set.rb +0 -19
  607. data/lib/ddtrace/configuration/option_set.rb +0 -7
  608. data/lib/ddtrace/configuration/options.rb +0 -112
  609. data/lib/ddtrace/configuration/pin_setup.rb +0 -32
  610. data/lib/ddtrace/configuration/settings.rb +0 -413
  611. data/lib/ddtrace/configuration.rb +0 -195
  612. data/lib/ddtrace/context.rb +0 -334
  613. data/lib/ddtrace/context_flush.rb +0 -82
  614. data/lib/ddtrace/context_provider.rb +0 -62
  615. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +0 -31
  616. data/lib/ddtrace/contrib/action_cable/event.rb +0 -67
  617. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +0 -50
  618. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +0 -56
  619. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +0 -51
  620. data/lib/ddtrace/contrib/action_cable/events.rb +0 -34
  621. data/lib/ddtrace/contrib/action_cable/ext.rb +0 -27
  622. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +0 -78
  623. data/lib/ddtrace/contrib/action_cable/integration.rb +0 -46
  624. data/lib/ddtrace/contrib/action_cable/patcher.rb +0 -29
  625. data/lib/ddtrace/contrib/action_mailer/configuration/settings.rb +0 -32
  626. data/lib/ddtrace/contrib/action_mailer/event.rb +0 -50
  627. data/lib/ddtrace/contrib/action_mailer/events/deliver.rb +0 -54
  628. data/lib/ddtrace/contrib/action_mailer/events/process.rb +0 -41
  629. data/lib/ddtrace/contrib/action_mailer/events.rb +0 -31
  630. data/lib/ddtrace/contrib/action_mailer/ext.rb +0 -32
  631. data/lib/ddtrace/contrib/action_mailer/integration.rb +0 -45
  632. data/lib/ddtrace/contrib/action_mailer/patcher.rb +0 -27
  633. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +0 -157
  634. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +0 -26
  635. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +0 -33
  636. data/lib/ddtrace/contrib/action_pack/ext.rb +0 -20
  637. data/lib/ddtrace/contrib/action_pack/integration.rb +0 -46
  638. data/lib/ddtrace/contrib/action_pack/patcher.rb +0 -24
  639. data/lib/ddtrace/contrib/action_pack/utils.rb +0 -37
  640. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +0 -32
  641. data/lib/ddtrace/contrib/action_view/event.rb +0 -36
  642. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +0 -47
  643. data/lib/ddtrace/contrib/action_view/events/render_template.rb +0 -50
  644. data/lib/ddtrace/contrib/action_view/events.rb +0 -31
  645. data/lib/ddtrace/contrib/action_view/ext.rb +0 -21
  646. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +0 -75
  647. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +0 -168
  648. data/lib/ddtrace/contrib/action_view/integration.rb +0 -53
  649. data/lib/ddtrace/contrib/action_view/patcher.rb +0 -48
  650. data/lib/ddtrace/contrib/action_view/utils.rb +0 -33
  651. data/lib/ddtrace/contrib/active_job/configuration/settings.rb +0 -33
  652. data/lib/ddtrace/contrib/active_job/event.rb +0 -54
  653. data/lib/ddtrace/contrib/active_job/events/discard.rb +0 -46
  654. data/lib/ddtrace/contrib/active_job/events/enqueue.rb +0 -45
  655. data/lib/ddtrace/contrib/active_job/events/enqueue_at.rb +0 -45
  656. data/lib/ddtrace/contrib/active_job/events/enqueue_retry.rb +0 -47
  657. data/lib/ddtrace/contrib/active_job/events/perform.rb +0 -45
  658. data/lib/ddtrace/contrib/active_job/events/retry_stopped.rb +0 -46
  659. data/lib/ddtrace/contrib/active_job/events.rb +0 -39
  660. data/lib/ddtrace/contrib/active_job/ext.rb +0 -32
  661. data/lib/ddtrace/contrib/active_job/integration.rb +0 -46
  662. data/lib/ddtrace/contrib/active_job/log_injection.rb +0 -21
  663. data/lib/ddtrace/contrib/active_job/patcher.rb +0 -33
  664. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +0 -31
  665. data/lib/ddtrace/contrib/active_model_serializers/event.rb +0 -69
  666. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +0 -33
  667. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +0 -36
  668. data/lib/ddtrace/contrib/active_model_serializers/events.rb +0 -31
  669. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +0 -21
  670. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +0 -41
  671. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +0 -30
  672. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +0 -31
  673. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +0 -135
  674. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +0 -36
  675. data/lib/ddtrace/contrib/active_record/event.rb +0 -31
  676. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +0 -61
  677. data/lib/ddtrace/contrib/active_record/events/sql.rb +0 -69
  678. data/lib/ddtrace/contrib/active_record/events.rb +0 -31
  679. data/lib/ddtrace/contrib/active_record/ext.rb +0 -25
  680. data/lib/ddtrace/contrib/active_record/integration.rb +0 -54
  681. data/lib/ddtrace/contrib/active_record/patcher.rb +0 -24
  682. data/lib/ddtrace/contrib/active_record/utils.rb +0 -124
  683. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +0 -259
  684. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +0 -70
  685. data/lib/ddtrace/contrib/active_support/cache/redis.rb +0 -44
  686. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +0 -31
  687. data/lib/ddtrace/contrib/active_support/ext.rb +0 -28
  688. data/lib/ddtrace/contrib/active_support/integration.rb +0 -47
  689. data/lib/ddtrace/contrib/active_support/notifications/event.rb +0 -76
  690. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +0 -68
  691. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +0 -164
  692. data/lib/ddtrace/contrib/active_support/patcher.rb +0 -24
  693. data/lib/ddtrace/contrib/analytics.rb +0 -25
  694. data/lib/ddtrace/contrib/auto_instrument.rb +0 -48
  695. data/lib/ddtrace/contrib/aws/configuration/settings.rb +0 -31
  696. data/lib/ddtrace/contrib/aws/ext.rb +0 -24
  697. data/lib/ddtrace/contrib/aws/instrumentation.rb +0 -91
  698. data/lib/ddtrace/contrib/aws/integration.rb +0 -43
  699. data/lib/ddtrace/contrib/aws/parsed_context.rb +0 -57
  700. data/lib/ddtrace/contrib/aws/patcher.rb +0 -54
  701. data/lib/ddtrace/contrib/aws/services.rb +0 -119
  702. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +0 -21
  703. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +0 -42
  704. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +0 -13
  705. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +0 -24
  706. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +0 -39
  707. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +0 -30
  708. data/lib/ddtrace/contrib/configurable.rb +0 -103
  709. data/lib/ddtrace/contrib/configuration/resolver.rb +0 -82
  710. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +0 -40
  711. data/lib/ddtrace/contrib/configuration/settings.rb +0 -56
  712. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +0 -31
  713. data/lib/ddtrace/contrib/dalli/ext.rb +0 -21
  714. data/lib/ddtrace/contrib/dalli/instrumentation.rb +0 -55
  715. data/lib/ddtrace/contrib/dalli/integration.rb +0 -39
  716. data/lib/ddtrace/contrib/dalli/patcher.rb +0 -26
  717. data/lib/ddtrace/contrib/dalli/quantize.rb +0 -23
  718. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +0 -33
  719. data/lib/ddtrace/contrib/delayed_job/ext.rb +0 -24
  720. data/lib/ddtrace/contrib/delayed_job/integration.rb +0 -39
  721. data/lib/ddtrace/contrib/delayed_job/patcher.rb +0 -29
  722. data/lib/ddtrace/contrib/delayed_job/plugin.rb +0 -85
  723. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +0 -32
  724. data/lib/ddtrace/contrib/elasticsearch/ext.rb +0 -23
  725. data/lib/ddtrace/contrib/elasticsearch/integration.rb +0 -40
  726. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +0 -123
  727. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +0 -84
  728. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +0 -33
  729. data/lib/ddtrace/contrib/ethon/easy_patch.rb +0 -152
  730. data/lib/ddtrace/contrib/ethon/ext.rb +0 -20
  731. data/lib/ddtrace/contrib/ethon/integration.rb +0 -44
  732. data/lib/ddtrace/contrib/ethon/multi_patch.rb +0 -85
  733. data/lib/ddtrace/contrib/ethon/patcher.rb +0 -27
  734. data/lib/ddtrace/contrib/excon/configuration/settings.rb +0 -34
  735. data/lib/ddtrace/contrib/excon/ext.rb +0 -18
  736. data/lib/ddtrace/contrib/excon/integration.rb +0 -44
  737. data/lib/ddtrace/contrib/excon/middleware.rb +0 -164
  738. data/lib/ddtrace/contrib/excon/patcher.rb +0 -28
  739. data/lib/ddtrace/contrib/extensions.rb +0 -169
  740. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +0 -39
  741. data/lib/ddtrace/contrib/faraday/connection.rb +0 -19
  742. data/lib/ddtrace/contrib/faraday/ext.rb +0 -18
  743. data/lib/ddtrace/contrib/faraday/integration.rb +0 -44
  744. data/lib/ddtrace/contrib/faraday/middleware.rb +0 -86
  745. data/lib/ddtrace/contrib/faraday/patcher.rb +0 -54
  746. data/lib/ddtrace/contrib/faraday/rack_builder.rb +0 -19
  747. data/lib/ddtrace/contrib/grape/configuration/settings.rb +0 -39
  748. data/lib/ddtrace/contrib/grape/endpoint.rb +0 -246
  749. data/lib/ddtrace/contrib/grape/ext.rb +0 -24
  750. data/lib/ddtrace/contrib/grape/instrumentation.rb +0 -34
  751. data/lib/ddtrace/contrib/grape/integration.rb +0 -40
  752. data/lib/ddtrace/contrib/grape/patcher.rb +0 -32
  753. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +0 -33
  754. data/lib/ddtrace/contrib/graphql/ext.rb +0 -17
  755. data/lib/ddtrace/contrib/graphql/integration.rb +0 -40
  756. data/lib/ddtrace/contrib/graphql/patcher.rb +0 -61
  757. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +0 -32
  758. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +0 -59
  759. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +0 -80
  760. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +0 -79
  761. data/lib/ddtrace/contrib/grpc/ext.rb +0 -19
  762. data/lib/ddtrace/contrib/grpc/integration.rb +0 -39
  763. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +0 -50
  764. data/lib/ddtrace/contrib/grpc/patcher.rb +0 -34
  765. data/lib/ddtrace/contrib/http/circuit_breaker.rb +0 -38
  766. data/lib/ddtrace/contrib/http/configuration/settings.rb +0 -33
  767. data/lib/ddtrace/contrib/http/ext.rb +0 -18
  768. data/lib/ddtrace/contrib/http/instrumentation.rb +0 -180
  769. data/lib/ddtrace/contrib/http/integration.rb +0 -46
  770. data/lib/ddtrace/contrib/http/patcher.rb +0 -27
  771. data/lib/ddtrace/contrib/http_annotation_helper.rb +0 -11
  772. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +0 -33
  773. data/lib/ddtrace/contrib/httpclient/ext.rb +0 -18
  774. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +0 -148
  775. data/lib/ddtrace/contrib/httpclient/integration.rb +0 -44
  776. data/lib/ddtrace/contrib/httpclient/patcher.rb +0 -39
  777. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +0 -33
  778. data/lib/ddtrace/contrib/httprb/ext.rb +0 -18
  779. data/lib/ddtrace/contrib/httprb/instrumentation.rb +0 -158
  780. data/lib/ddtrace/contrib/httprb/integration.rb +0 -44
  781. data/lib/ddtrace/contrib/httprb/patcher.rb +0 -39
  782. data/lib/ddtrace/contrib/integration.rb +0 -17
  783. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +0 -31
  784. data/lib/ddtrace/contrib/kafka/consumer_event.rb +0 -15
  785. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +0 -15
  786. data/lib/ddtrace/contrib/kafka/event.rb +0 -52
  787. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +0 -35
  788. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +0 -42
  789. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +0 -40
  790. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +0 -40
  791. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +0 -30
  792. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +0 -30
  793. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +0 -30
  794. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +0 -33
  795. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +0 -36
  796. data/lib/ddtrace/contrib/kafka/events.rb +0 -45
  797. data/lib/ddtrace/contrib/kafka/ext.rb +0 -42
  798. data/lib/ddtrace/contrib/kafka/integration.rb +0 -40
  799. data/lib/ddtrace/contrib/kafka/patcher.rb +0 -27
  800. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +0 -19
  801. data/lib/ddtrace/contrib/lograge/ext.rb +0 -11
  802. data/lib/ddtrace/contrib/lograge/instrumentation.rb +0 -39
  803. data/lib/ddtrace/contrib/lograge/integration.rb +0 -46
  804. data/lib/ddtrace/contrib/lograge/patcher.rb +0 -26
  805. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +0 -34
  806. data/lib/ddtrace/contrib/mongodb/ext.rb +0 -24
  807. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +0 -70
  808. data/lib/ddtrace/contrib/mongodb/integration.rb +0 -44
  809. data/lib/ddtrace/contrib/mongodb/parsers.rb +0 -69
  810. data/lib/ddtrace/contrib/mongodb/patcher.rb +0 -32
  811. data/lib/ddtrace/contrib/mongodb/subscribers.rb +0 -112
  812. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +0 -31
  813. data/lib/ddtrace/contrib/mysql2/ext.rb +0 -19
  814. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +0 -65
  815. data/lib/ddtrace/contrib/mysql2/integration.rb +0 -39
  816. data/lib/ddtrace/contrib/mysql2/patcher.rb +0 -28
  817. data/lib/ddtrace/contrib/patchable.rb +0 -71
  818. data/lib/ddtrace/contrib/patcher.rb +0 -66
  819. data/lib/ddtrace/contrib/presto/configuration/settings.rb +0 -31
  820. data/lib/ddtrace/contrib/presto/ext.rb +0 -29
  821. data/lib/ddtrace/contrib/presto/instrumentation.rb +0 -111
  822. data/lib/ddtrace/contrib/presto/integration.rb +0 -39
  823. data/lib/ddtrace/contrib/presto/patcher.rb +0 -34
  824. data/lib/ddtrace/contrib/qless/configuration/settings.rb +0 -36
  825. data/lib/ddtrace/contrib/qless/ext.rb +0 -21
  826. data/lib/ddtrace/contrib/qless/integration.rb +0 -39
  827. data/lib/ddtrace/contrib/qless/patcher.rb +0 -35
  828. data/lib/ddtrace/contrib/qless/qless_job.rb +0 -74
  829. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +0 -34
  830. data/lib/ddtrace/contrib/que/configuration/settings.rb +0 -44
  831. data/lib/ddtrace/contrib/que/ext.rb +0 -31
  832. data/lib/ddtrace/contrib/que/integration.rb +0 -43
  833. data/lib/ddtrace/contrib/que/patcher.rb +0 -25
  834. data/lib/ddtrace/contrib/que/tracer.rb +0 -58
  835. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +0 -31
  836. data/lib/ddtrace/contrib/racecar/event.rb +0 -77
  837. data/lib/ddtrace/contrib/racecar/events/batch.rb +0 -28
  838. data/lib/ddtrace/contrib/racecar/events/consume.rb +0 -28
  839. data/lib/ddtrace/contrib/racecar/events/message.rb +0 -28
  840. data/lib/ddtrace/contrib/racecar/events.rb +0 -33
  841. data/lib/ddtrace/contrib/racecar/ext.rb +0 -26
  842. data/lib/ddtrace/contrib/racecar/integration.rb +0 -40
  843. data/lib/ddtrace/contrib/racecar/patcher.rb +0 -27
  844. data/lib/ddtrace/contrib/rack/configuration/settings.rb +0 -47
  845. data/lib/ddtrace/contrib/rack/ext.rb +0 -22
  846. data/lib/ddtrace/contrib/rack/integration.rb +0 -46
  847. data/lib/ddtrace/contrib/rack/middlewares.rb +0 -288
  848. data/lib/ddtrace/contrib/rack/patcher.rb +0 -106
  849. data/lib/ddtrace/contrib/rack/request_queue.rb +0 -45
  850. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +0 -10
  851. data/lib/ddtrace/contrib/rails/configuration/settings.rb +0 -101
  852. data/lib/ddtrace/contrib/rails/ext.rb +0 -18
  853. data/lib/ddtrace/contrib/rails/framework.rb +0 -172
  854. data/lib/ddtrace/contrib/rails/integration.rb +0 -45
  855. data/lib/ddtrace/contrib/rails/log_injection.rb +0 -42
  856. data/lib/ddtrace/contrib/rails/middlewares.rb +0 -44
  857. data/lib/ddtrace/contrib/rails/patcher.rb +0 -119
  858. data/lib/ddtrace/contrib/rails/railtie.rb +0 -18
  859. data/lib/ddtrace/contrib/rails/utils.rb +0 -25
  860. data/lib/ddtrace/contrib/rake/configuration/settings.rb +0 -32
  861. data/lib/ddtrace/contrib/rake/ext.rb +0 -22
  862. data/lib/ddtrace/contrib/rake/instrumentation.rb +0 -91
  863. data/lib/ddtrace/contrib/rake/integration.rb +0 -39
  864. data/lib/ddtrace/contrib/rake/patcher.rb +0 -31
  865. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +0 -46
  866. data/lib/ddtrace/contrib/redis/configuration/settings.rb +0 -36
  867. data/lib/ddtrace/contrib/redis/ext.rb +0 -23
  868. data/lib/ddtrace/contrib/redis/instrumentation.rb +0 -90
  869. data/lib/ddtrace/contrib/redis/integration.rb +0 -43
  870. data/lib/ddtrace/contrib/redis/patcher.rb +0 -33
  871. data/lib/ddtrace/contrib/redis/quantize.rb +0 -76
  872. data/lib/ddtrace/contrib/redis/tags.rb +0 -47
  873. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +0 -159
  874. data/lib/ddtrace/contrib/registerable.rb +0 -33
  875. data/lib/ddtrace/contrib/registry.rb +0 -43
  876. data/lib/ddtrace/contrib/resque/configuration/settings.rb +0 -49
  877. data/lib/ddtrace/contrib/resque/ext.rb +0 -18
  878. data/lib/ddtrace/contrib/resque/integration.rb +0 -44
  879. data/lib/ddtrace/contrib/resque/patcher.rb +0 -30
  880. data/lib/ddtrace/contrib/resque/resque_job.rb +0 -104
  881. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +0 -32
  882. data/lib/ddtrace/contrib/rest_client/ext.rb +0 -18
  883. data/lib/ddtrace/contrib/rest_client/integration.rb +0 -39
  884. data/lib/ddtrace/contrib/rest_client/patcher.rb +0 -25
  885. data/lib/ddtrace/contrib/rest_client/request_patch.rb +0 -92
  886. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +0 -19
  887. data/lib/ddtrace/contrib/semantic_logger/ext.rb +0 -11
  888. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +0 -43
  889. data/lib/ddtrace/contrib/semantic_logger/integration.rb +0 -48
  890. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +0 -26
  891. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +0 -29
  892. data/lib/ddtrace/contrib/sequel/database.rb +0 -64
  893. data/lib/ddtrace/contrib/sequel/dataset.rb +0 -64
  894. data/lib/ddtrace/contrib/sequel/ext.rb +0 -20
  895. data/lib/ddtrace/contrib/sequel/integration.rb +0 -39
  896. data/lib/ddtrace/contrib/sequel/patcher.rb +0 -34
  897. data/lib/ddtrace/contrib/sequel/utils.rb +0 -75
  898. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +0 -32
  899. data/lib/ddtrace/contrib/shoryuken/ext.rb +0 -22
  900. data/lib/ddtrace/contrib/shoryuken/integration.rb +0 -40
  901. data/lib/ddtrace/contrib/shoryuken/patcher.rb +0 -25
  902. data/lib/ddtrace/contrib/shoryuken/tracer.rb +0 -56
  903. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +0 -44
  904. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +0 -38
  905. data/lib/ddtrace/contrib/sidekiq/ext.rb +0 -31
  906. data/lib/ddtrace/contrib/sidekiq/integration.rb +0 -49
  907. data/lib/ddtrace/contrib/sidekiq/patcher.rb +0 -68
  908. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/heartbeat.rb +0 -30
  909. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/job_fetch.rb +0 -30
  910. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/scheduled_push.rb +0 -29
  911. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +0 -66
  912. data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -45
  913. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +0 -40
  914. data/lib/ddtrace/contrib/sinatra/env.rb +0 -59
  915. data/lib/ddtrace/contrib/sinatra/ext.rb +0 -28
  916. data/lib/ddtrace/contrib/sinatra/headers.rb +0 -30
  917. data/lib/ddtrace/contrib/sinatra/integration.rb +0 -39
  918. data/lib/ddtrace/contrib/sinatra/patcher.rb +0 -30
  919. data/lib/ddtrace/contrib/sinatra/tracer.rb +0 -150
  920. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +0 -112
  921. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +0 -34
  922. data/lib/ddtrace/contrib/sneakers/ext.rb +0 -23
  923. data/lib/ddtrace/contrib/sneakers/integration.rb +0 -42
  924. data/lib/ddtrace/contrib/sneakers/patcher.rb +0 -25
  925. data/lib/ddtrace/contrib/sneakers/tracer.rb +0 -54
  926. data/lib/ddtrace/contrib/status_code_matcher.rb +0 -70
  927. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +0 -31
  928. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +0 -25
  929. data/lib/ddtrace/contrib/sucker_punch/ext.rb +0 -22
  930. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +0 -89
  931. data/lib/ddtrace/contrib/sucker_punch/integration.rb +0 -39
  932. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +0 -44
  933. data/lib/ddtrace/correlation.rb +0 -40
  934. data/lib/ddtrace/diagnostics/environment_logger.rb +0 -280
  935. data/lib/ddtrace/diagnostics/health.rb +0 -34
  936. data/lib/ddtrace/distributed_tracing/headers/b3.rb +0 -45
  937. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +0 -57
  938. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +0 -43
  939. data/lib/ddtrace/distributed_tracing/headers/headers.rb +0 -72
  940. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +0 -44
  941. data/lib/ddtrace/encoding.rb +0 -72
  942. data/lib/ddtrace/error.rb +0 -97
  943. data/lib/ddtrace/event.rb +0 -53
  944. data/lib/ddtrace/ext/analytics.rb +0 -13
  945. data/lib/ddtrace/ext/app_types.rb +0 -12
  946. data/lib/ddtrace/ext/correlation.rb +0 -12
  947. data/lib/ddtrace/ext/diagnostics.rb +0 -37
  948. data/lib/ddtrace/ext/distributed.rb +0 -40
  949. data/lib/ddtrace/ext/environment.rb +0 -24
  950. data/lib/ddtrace/ext/errors.rb +0 -11
  951. data/lib/ddtrace/ext/forced_tracing.rb +0 -26
  952. data/lib/ddtrace/ext/git.rb +0 -32
  953. data/lib/ddtrace/ext/http.rb +0 -47
  954. data/lib/ddtrace/ext/integration.rb +0 -9
  955. data/lib/ddtrace/ext/manual_tracing.rb +0 -10
  956. data/lib/ddtrace/ext/metrics.rb +0 -16
  957. data/lib/ddtrace/ext/net.rb +0 -11
  958. data/lib/ddtrace/ext/priority.rb +0 -19
  959. data/lib/ddtrace/ext/profiling.rb +0 -53
  960. data/lib/ddtrace/ext/runtime.rb +0 -25
  961. data/lib/ddtrace/ext/sampling.rb +0 -17
  962. data/lib/ddtrace/ext/sql.rb +0 -9
  963. data/lib/ddtrace/ext/test.rb +0 -9
  964. data/lib/ddtrace/ext/transport.rb +0 -32
  965. data/lib/ddtrace/forced_tracing.rb +0 -39
  966. data/lib/ddtrace/logger.rb +0 -41
  967. data/lib/ddtrace/metrics.rb +0 -282
  968. data/lib/ddtrace/opentelemetry/extensions.rb +0 -14
  969. data/lib/ddtrace/opentelemetry/span.rb +0 -34
  970. data/lib/ddtrace/opentracer/carrier.rb +0 -7
  971. data/lib/ddtrace/opentracer/distributed_headers.rb +0 -56
  972. data/lib/ddtrace/opentracer/global_tracer.rb +0 -16
  973. data/lib/ddtrace/opentracer/propagator.rb +0 -23
  974. data/lib/ddtrace/opentracer/rack_propagator.rb +0 -61
  975. data/lib/ddtrace/opentracer/scope.rb +0 -16
  976. data/lib/ddtrace/opentracer/scope_manager.rb +0 -7
  977. data/lib/ddtrace/opentracer/span.rb +0 -95
  978. data/lib/ddtrace/opentracer/span_context.rb +0 -15
  979. data/lib/ddtrace/opentracer/span_context_factory.rb +0 -24
  980. data/lib/ddtrace/opentracer/text_map_propagator.rb +0 -76
  981. data/lib/ddtrace/opentracer/thread_local_scope.rb +0 -32
  982. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +0 -41
  983. data/lib/ddtrace/opentracer/tracer.rb +0 -209
  984. data/lib/ddtrace/opentracer.rb +0 -22
  985. data/lib/ddtrace/patcher.rb +0 -69
  986. data/lib/ddtrace/pin.rb +0 -86
  987. data/lib/ddtrace/pipeline/span_filter.rb +0 -39
  988. data/lib/ddtrace/pipeline/span_processor.rb +0 -21
  989. data/lib/ddtrace/pipeline.rb +0 -47
  990. data/lib/ddtrace/profiling/buffer.rb +0 -42
  991. data/lib/ddtrace/profiling/collectors/stack.rb +0 -297
  992. data/lib/ddtrace/profiling/encoding/profile.rb +0 -46
  993. data/lib/ddtrace/profiling/events/stack.rb +0 -81
  994. data/lib/ddtrace/profiling/exporter.rb +0 -24
  995. data/lib/ddtrace/profiling/flush.rb +0 -44
  996. data/lib/ddtrace/profiling/pprof/builder.rb +0 -126
  997. data/lib/ddtrace/profiling/pprof/converter.rb +0 -103
  998. data/lib/ddtrace/profiling/pprof/message_set.rb +0 -15
  999. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +0 -82
  1000. data/lib/ddtrace/profiling/pprof/stack_sample.rb +0 -140
  1001. data/lib/ddtrace/profiling/pprof/string_table.rb +0 -11
  1002. data/lib/ddtrace/profiling/pprof/template.rb +0 -119
  1003. data/lib/ddtrace/profiling/profiler.rb +0 -31
  1004. data/lib/ddtrace/profiling/recorder.rb +0 -96
  1005. data/lib/ddtrace/profiling/scheduler.rb +0 -150
  1006. data/lib/ddtrace/profiling/tasks/setup.rb +0 -90
  1007. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +0 -42
  1008. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +0 -46
  1009. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +0 -94
  1010. data/lib/ddtrace/profiling/transport/http/api/instance.rb +0 -37
  1011. data/lib/ddtrace/profiling/transport/http/api.rb +0 -44
  1012. data/lib/ddtrace/profiling/transport/http/builder.rb +0 -29
  1013. data/lib/ddtrace/profiling/transport/http/client.rb +0 -34
  1014. data/lib/ddtrace/profiling/transport/http/response.rb +0 -22
  1015. data/lib/ddtrace/profiling/transport/http.rb +0 -111
  1016. data/lib/ddtrace/profiling/transport/io/client.rb +0 -28
  1017. data/lib/ddtrace/profiling/transport/io/response.rb +0 -17
  1018. data/lib/ddtrace/profiling/transport/io.rb +0 -31
  1019. data/lib/ddtrace/profiling/transport/request.rb +0 -16
  1020. data/lib/ddtrace/profiling.rb +0 -149
  1021. data/lib/ddtrace/propagation/grpc_propagator.rb +0 -75
  1022. data/lib/ddtrace/propagation/http_propagator.rb +0 -91
  1023. data/lib/ddtrace/quantization/hash.rb +0 -104
  1024. data/lib/ddtrace/quantization/http.rb +0 -90
  1025. data/lib/ddtrace/runtime/metrics.rb +0 -135
  1026. data/lib/ddtrace/sampler.rb +0 -303
  1027. data/lib/ddtrace/sampling/matcher.rb +0 -58
  1028. data/lib/ddtrace/sampling/rate_limiter.rb +0 -177
  1029. data/lib/ddtrace/sampling/rule.rb +0 -62
  1030. data/lib/ddtrace/sampling/rule_sampler.rb +0 -133
  1031. data/lib/ddtrace/sampling.rb +0 -3
  1032. data/lib/ddtrace/span.rb +0 -445
  1033. data/lib/ddtrace/sync_writer.rb +0 -69
  1034. data/lib/ddtrace/tasks/exec.rb +0 -47
  1035. data/lib/ddtrace/tasks/help.rb +0 -15
  1036. data/lib/ddtrace/tracer.rb +0 -449
  1037. data/lib/ddtrace/utils/compression.rb +0 -28
  1038. data/lib/ddtrace/utils/database.rb +0 -26
  1039. data/lib/ddtrace/utils/forking.rb +0 -53
  1040. data/lib/ddtrace/utils/object_set.rb +0 -40
  1041. data/lib/ddtrace/utils/only_once.rb +0 -41
  1042. data/lib/ddtrace/utils/sequence.rb +0 -18
  1043. data/lib/ddtrace/utils/string_table.rb +0 -46
  1044. data/lib/ddtrace/utils/time.rb +0 -51
  1045. data/lib/ddtrace/utils.rb +0 -80
  1046. data/lib/ddtrace/vendor/active_record/connection_specification.rb +0 -302
  1047. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +0 -117
  1048. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +0 -58
  1049. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +0 -136
  1050. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +0 -10
  1051. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +0 -9
  1052. data/lib/ddtrace/vendor/multipart-post/multipart.rb +0 -13
  1053. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +0 -33
  1054. data/lib/ddtrace/worker.rb +0 -21
  1055. data/lib/ddtrace/workers/async.rb +0 -175
  1056. data/lib/ddtrace/workers/interval_loop.rb +0 -116
  1057. data/lib/ddtrace/workers/polling.rb +0 -56
  1058. data/lib/ddtrace/workers/queue.rb +0 -41
  1059. data/lib/ddtrace/workers/runtime_metrics.rb +0 -65
  1060. data/lib/ddtrace/workers/trace_writer.rb +0 -200
  1061. data/lib/ddtrace/workers.rb +0 -123
  1062. data/lib/ddtrace/writer.rb +0 -200
@@ -6,19 +6,18 @@ For a more practical view of getting started with development of `ddtrace`, see
6
6
 
7
7
  ## Profiling components high-level view
8
8
 
9
- Components below live inside <../lib/ddtrace/profiling>:
9
+ Components below live inside <../lib/datadog/profiling>:
10
10
 
11
11
  * `Collectors::Stack`: Collects stack trace samples from Ruby threads for both CPU-time (if available) and wall-clock.
12
12
  Runs on its own background thread.
13
+ * `Collectors::CodeProvenance`: Collects library metadata to power grouping and categorization of stack traces (e.g. to help distinguish user code, from libraries, from the standard library, etc).
13
14
  * `Encoding::Profile`: Encodes gathered data into the pprof format.
14
15
  * `Events::Stack`, `Events::StackSample`: Entity classes used to represent stacks.
15
- * `Ext::CPU`: Monkey patches Ruby's `Thread` with our `Ext::CThread` to enable CPU-time profiling.
16
- * `Ext::CThread`: Extension used to enable CPU-time profiling via use of Pthread's `getcpuclockid`.
17
16
  * `Ext::Forking`: Monkey patches `Kernel#fork`, adding a `Kernel#at_fork` callback mechanism which is used to restore
18
17
  profiling abilities after the VM forks (such as re-instrumenting the main thread, and restarting profiler threads).
19
- * `Pprof::*` (in <../lib/ddtrace/profiling/pprof>): Converts samples captured in the `Recorder` into the pprof format.
20
- * `Tasks::Setup`: Takes care of loading our extensions/monkey patches to handle fork() and CPU profiling.
21
- * `Transport::*` (in <../lib/ddtrace/profiling/transport>): Implements transmission of profiling payloads to the Datadog agent
18
+ * `Pprof::*` (in <../lib/datadog/profiling/pprof>): Converts samples captured in the `Recorder` into the pprof format.
19
+ * `Tasks::Setup`: Takes care of loading our extensions/monkey patches to handle fork().
20
+ * `Transport::*` (in <../lib/datadog/profiling/transport>): Implements transmission of profiling payloads to the Datadog agent
22
21
  or backend.
23
22
  * `TraceIdentifiers::*`: Used to retrieve trace id and span id from tracers, to be used to connect traces to profiles.
24
23
  * `BacktraceLocation`: Entity class used to represent an entry in a stack trace.
@@ -35,13 +34,12 @@ Components below live inside <../lib/ddtrace/profiling>:
35
34
  When started via `ddtracerb exec` (together with `DD_PROFILING_ENABLED=true`), initialization goes through the following
36
35
  flow:
37
36
 
38
- 1. <../lib/ddtrace/profiling/preload.rb> triggers the creation of the `Datadog.profiler` instance by calling the method
39
- 2. `Datadog.profiler` is handled by `Datadog::Configuration`, which triggers the configuration of `ddtrace` components
37
+ 1. <../lib/datadog/profiling/preload.rb> triggers the creation of the profiler instance by calling the method `Datadog::Profiling.start_if_enabled`
38
+ 2. The profiler instance is handled by `Datadog::Configuration`, which triggers the configuration of `ddtrace` components
40
39
  in `#build_components`
41
40
  3. Inside `Datadog::Components`, the `build_profiler` method triggers the execution of the `Tasks::Setup`
42
41
  4. The `Setup` task activates our extensions
43
42
  * `Datadog::Profiling::Ext::Forking`
44
- * `Datadog::Profiling::Ext::CPU`
45
43
  5. Still inside `Datadog::Components`, the `build_profiler` method then creates and wires up the Profiler as such:
46
44
  ```asciiflow
47
45
  +------------+
@@ -62,6 +60,11 @@ flow:
62
60
  +-+-------+-+
63
61
  | Recorder |
64
62
  +-----------+
63
+ |
64
+ v
65
+ +-----------------+
66
+ | Code Provenance |
67
+ +-----------------+
65
68
  ```
66
69
  6. The profiler gets started when `startup!` is called by `Datadog::Configuration` after component creation.
67
70
 
data/docs/PublicApi.md ADDED
@@ -0,0 +1,14 @@
1
+ # Public API
2
+
3
+ `ddtrace` respects [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html).
4
+
5
+ Classes, modules, and methods marked as part of the public API will not introduce
6
+ breaking changes outside of a major version release.
7
+
8
+ Objects that belong to the public API are marked with the `@public_api` YARD documentation tag.
9
+ When navigating [`ddtrace`'s YARD documentation](https://rubydoc.info/gems/ddtrace), public API
10
+ objects will have an explicit banner informing the user that they are part of the public API contract.
11
+
12
+ Objects not marked with the `@public_api` tag are not part of the public API contract, and thus
13
+ considered internal to `ddtrace`. These objects can receive breaking changes in minor and patch
14
+ releases.
@@ -0,0 +1,557 @@
1
+ # Upgrading ddtrace
2
+
3
+ # From 0.x to 1.0
4
+
5
+ - [Namespacing & the public API](#namespacing--the-public-api)
6
+ - [Configuration](#configuration)
7
+ - [Instrumentation](#instrumentation)
8
+ - [Full list of breaking changes](#full-list-of-breaking-changes)
9
+
10
+ Upgrading `ddtrace` from 0.x to 1.x introduces some changes to namespacing, the public API, and the underlying trace data structure.
11
+
12
+ Here's a list of the most common changes you may encounter:
13
+
14
+ ## Namespacing & the public API
15
+
16
+ To avoid naming conflicts with new Datadog features and products, many of the tracing constants and functions defined directly under `Datadog` have moved to `Datadog::Tracing`.
17
+
18
+ You can access most common functions through our [public API](https://www.rubydoc.info/gems/ddtrace/) within `Datadog::Tracing`. Use of some of the functions in the public API will be described in use cases below. Here's a few examples:
19
+
20
+ ```ruby
21
+ ### Old 0.x ###
22
+ Datadog.tracer.trace
23
+ Datadog.tracer.active_span
24
+ Datadog.tracer.active_correlation.to_s
25
+
26
+
27
+ ### New 1.0 ###
28
+ Datadog::Tracing.trace
29
+ Datadog::Tracing.active_span
30
+ Datadog::Tracing.log_correlation
31
+ # ...and more...
32
+ ```
33
+
34
+ Check out our [complete list of namespacing changes](#appendix-namespacing) for more details.
35
+
36
+ ### Removed `Datadog.tracer`
37
+
38
+ Many of the functions accessed directly through `Datadog.tracer` have been moved to `Datadog::Tracing` instead.
39
+
40
+ ### Removed access to `Datadog::Context`
41
+
42
+ Direct usage of `Datadog::Context` has been removed. Previously, it was used to modify or access active trace state. Most use cases have been replaced by our public trace API.
43
+
44
+ ## Configuration
45
+
46
+ ### Settings have been namespaced
47
+
48
+ Configuration settings have been sorted into smaller configuration groups, by product.
49
+
50
+ - `Datadog.configure { |c| c.* }`: Datadog configuration settings
51
+ - `Datadog.configure { |c| c.tracing.* }`: Tracing configuration settings
52
+ - `Datadog.configure { |c| c.profiling.* }`: Profiling configuration settings
53
+ - `Datadog.configure { |c| c.ci.* }`: CI configuration settings
54
+
55
+ Existing applications should update their configuration files and settings accordingly. For example:
56
+
57
+ ```ruby
58
+ # config/initializers/datadog.rb
59
+ require 'ddtrace'
60
+
61
+ ### Old 0.x ###
62
+ Datadog.configure do |c|
63
+ # Global settings
64
+ c.diagnostics.debug = true
65
+ c.service = 'billing-api'
66
+
67
+ # Profiling settings
68
+ c.profiling.enabled = true
69
+
70
+ # Tracer settings
71
+ c.analytics.enabled = true
72
+ c.runtime_metrics.enabled = true
73
+ c.tracer.hostname = '127.0.0.1'
74
+ c.tracer.port = 8126
75
+
76
+ # CI settings
77
+ c.ci_mode = (ENV['DD_ENV'] == 'ci')
78
+
79
+ # Instrumentation
80
+ c.use :rails
81
+ c.use :redis, service_name: 'billing-redis'
82
+ c.use :resque
83
+ c.use :rspec
84
+ end
85
+
86
+
87
+ ### New 1.0 ###
88
+ Datadog.configure do |c|
89
+ # Global settings
90
+ c.agent.hostname = '127.0.0.1'
91
+ c.agent.port = 8126
92
+ c.diagnostics.debug = true
93
+ c.service = 'billing-api'
94
+
95
+ # Profiling settings
96
+ c.profiling.enabled = true
97
+
98
+ # Tracer settings
99
+ c.tracing.analytics.enabled = true
100
+ c.tracing.runtime_metrics.enabled = true
101
+
102
+ # CI settings
103
+ c.ci.enabled = (ENV['DD_ENV'] == 'ci')
104
+
105
+ # Instrumentation
106
+ c.tracing.instrument :rails
107
+ c.tracing.instrument :redis, service_name: 'billing-redis'
108
+ c.tracing.instrument :resque
109
+ c.ci.instrument :rspec
110
+ end
111
+ ```
112
+
113
+ Check out our [complete list of configuration changes](#appendix-configuration) for more details.
114
+
115
+ ### Activating instrumentation
116
+
117
+ The `use` function has been renamed to `instrument`. Also, `instrument` has been namespaced to the specific product:
118
+
119
+ ```ruby
120
+ ### Old 0.x ###
121
+ Datadog.configure do |c|
122
+ c.use :rails
123
+ c.use :cucumber
124
+ end
125
+
126
+
127
+ ### New 1.0 ###
128
+ Datadog.configure do |c|
129
+ c.tracing.instrument :rails
130
+ c.ci.instrument :cucumber
131
+ end
132
+ ```
133
+
134
+ ## Instrumentation
135
+
136
+ ### Service naming
137
+
138
+ In 0.x, The `service` field on spans generated by Datadog integrations would typically default to the package name, e.g. `http` or `sidekiq`. This would often result in many "services" being generated by one application, one for each instrumented package. Users would often rectify this by overriding the `service_name` setting on each integration to get matching `service` names.
139
+
140
+ To remedy this in later 0.x versions, we introduced the global `service` name setting (also set via `DD_SERVICE`), which is the recommended way to set the name of your application. However, the Datadog integrations (with the exception of Rails) still did not employ this field.
141
+
142
+ In 1.0, spans now inherit the global `service` name by default, unless otherwise explicitly set. This means for spans generated by Datadog integrations, they will default to the global `service` name, unless the `service_name` setting is configured for that integration.
143
+
144
+ Spans that describe external services (e.g. `mysql`), will default to some other name that describes the external service instead.
145
+
146
+ As an example, expect the following code & trace in 0.x:
147
+
148
+ ```ruby
149
+ ### Old 0.x ###
150
+ Datadog.configure do |c|
151
+ c.service = 'billing-api'
152
+ c.use :rails
153
+ c.use :redis
154
+ c.use :resque
155
+ end
156
+ ```
157
+
158
+ ![0.x trace](./0.x-trace.png)
159
+
160
+ To reflect the following trace in 1.0 instead:
161
+
162
+ ```ruby
163
+ ### New 1.0 ###
164
+ Datadog.configure do |c|
165
+ c.service = 'billing-api'
166
+ c.tracing.instrument :rails
167
+ c.tracing.instrument :redis
168
+ c.tracing.instrument :resque
169
+ end
170
+ ```
171
+
172
+ ![1.0 trace](./1.0-trace.png)
173
+
174
+ ### Manual tracing & trace model
175
+
176
+ Manual tracing is now done through the public API.
177
+
178
+ Whereas in 0.x, the block would yield a `Datadog::Span` as `span`, in 1.0, the block yields a `Datadog::SpanOperation` as `span` and `Datadog::TraceOperation` as `trace`.
179
+
180
+ ```ruby
181
+ ### Old 0.x ###
182
+ Datadog.tracer.trace('my.job') do |span|
183
+ # Do work...
184
+ # span => #<Datadog::Tracing::Span>
185
+ end
186
+
187
+
188
+ ### New 1.0 ###
189
+ Datadog::Tracing.trace('my.job') do |span, trace|
190
+ # Do work...
191
+ # span => #<Datadog::Tracing::SpanOperation>
192
+ # trace => #<Datadog::Tracing::TraceOperation>
193
+ end
194
+ ```
195
+
196
+ The yielded `span` is nearly identical in behavior, except access to some fields (like `context`) been removed. Instead, the `trace`, which models the trace itself, grants access to new functions.
197
+
198
+ For more details about new behaviors and the trace model, see [this pull request](https://github.com/DataDog/dd-trace-rb/pull/1783).
199
+
200
+ ### Accessing trace state
201
+
202
+ The public API provides new functions to access active trace data:
203
+
204
+ ```ruby
205
+ ### Old 0.x ###
206
+ # Retuns the active context (contains trace state)
207
+ Datadog.tracer.call_context
208
+ # Returns the active Span
209
+ Datadog.tracer.active_span
210
+ # Returns an immutable set of identifiers for the current trace state
211
+ Datadog.tracer.active_correlation
212
+
213
+
214
+ ### New 1.0 ###
215
+ # Retuns the active TraceOperation for the current thread (contains trace state)
216
+ Datadog::Tracing.active_trace
217
+ # Returns the active SpanOperation for the current thread (contains span state)
218
+ Datadog::Tracing.active_span
219
+ # Returns an immutable set of identifiers for the current trace state
220
+ Datadog::Tracing.correlation
221
+ ```
222
+
223
+ Use of `active_root_span` has been removed.
224
+
225
+ ### Distributed tracing
226
+
227
+ Previously, distributed tracing required building new `Datadog::Context` objects, then replacing the context within the tracer.
228
+
229
+ Instead, users utilize `TraceDigest` objects derived from a trace. This object represents the state of a trace. It can be used to propagate a trace across execution boundaries (processes, threads), or to continue a trace locally.
230
+
231
+ ```ruby
232
+ ### Old 0.x ###
233
+ # Get trace continuation from active trace
234
+ env = {}
235
+ Datadog::HTTPPropagator.inject(Datadog.tracer.call_context, env)
236
+ context = Datadog::HTTPPropagator.extract(env)
237
+
238
+ # Continue a trace: implicit continuation
239
+ Datadog.tracer.provider.context = context
240
+
241
+ # Next trace inherits trace properties
242
+ Datadog.tracer.trace('my.job') do |span|
243
+ span.trace_id == context.trace_id
244
+ end
245
+
246
+
247
+ ### New 1.0 ###
248
+ # Get trace continuation from active trace
249
+ trace_digest = Datadog::Tracing.active_trace.to_digest
250
+
251
+ # Continue a trace: explicit continuation
252
+ # Inherits trace properties from the trace digest
253
+ Datadog::Tracing.trace('my.job', continue_from: trace_digest) do |span, trace|
254
+ trace.id == trace_digest.trace_id
255
+ end
256
+
257
+ # Continue a trace: implicit continuation
258
+ # Digest will be "consumed" by the next `trace` operation
259
+ Datadog::Tracing.continue_trace!(trace_digest)
260
+
261
+ # Next trace inherits trace properties
262
+ Datadog::Tracing.trace('my.job') do |span, trace|
263
+ trace.id == trace_digest.trace_id
264
+ end
265
+
266
+ # Second trace does NOT inherit trace properties
267
+ Datadog::Tracing.trace('my.job') do |span, trace|
268
+ trace.id != trace_digest.trace_id
269
+ end
270
+ ```
271
+
272
+ #### Propagation over HTTP/gRPC
273
+
274
+ To propagate a local trace to a remote service:
275
+
276
+ ```ruby
277
+ ### Old 0.x ###
278
+ context = Datadog.tracer.call_context
279
+
280
+ # HTTP
281
+ headers = {}
282
+ Datadog::HTTPPropagator.inject!(context, headers)
283
+ # Inject `headers` into your HTTP headers
284
+
285
+ # gRPC
286
+ headers = {}
287
+ Datadog::GRPCPropagator.inject!(context, headers)
288
+ # Inject `headers` into your headers
289
+
290
+
291
+ ### New 1.0 ###
292
+ trace_digest = Datadog::Tracing.active_trace.to_digest
293
+
294
+ # HTTP
295
+ headers = {}
296
+ Datadog::Tracing::Propagation::HTTP.inject!(trace_digest, headers)
297
+ # Inject `headers` into your HTTP headers
298
+
299
+ # gRPC
300
+ headers = {}
301
+ Datadog::Tracing::Propagation::GRPC.inject!(trace_digest, headers)
302
+ # Inject `headers` into your headers
303
+ ```
304
+
305
+ To continue a propagated trace locally:
306
+
307
+ ```ruby
308
+ ### Old 0.x ###
309
+ # HTTP
310
+ context = Datadog::HTTPPropagator.extract(request.env)
311
+ Datadog.tracer.provider.context = context
312
+
313
+ # gRPC
314
+ context = Datadog::GRPCPropagator.extract(metadata)
315
+ Datadog.tracer.provider.context = context
316
+
317
+ ### New 1.0 ###
318
+ # HTTP
319
+ digest = Datadog::Tracing::Propagation::HTTP.extract(request.env)
320
+ Datadog::Tracing.continue_trace!(digest)
321
+
322
+ # gRPC
323
+ digest = Datadog::Tracing::Propagation::GRPC.extract(metadata)
324
+ Datadog::Tracing.continue_trace!(digest)
325
+ ```
326
+
327
+ #### Propagation between threads
328
+
329
+ Traces do not implicitly propagate across threads, as they are considered different execution contexts.
330
+
331
+ However, if you wish to do this, trace propagation across threads is similar to cross-process. A `TraceDigest` should be produced by the parent thread and consumed by the child thread.
332
+
333
+ NOTE: The same `TraceOperation` object should never be shared between threads; this would create race conditions.
334
+
335
+ ```ruby
336
+ # Get trace digest
337
+ trace = Datadog::Tracing.active_trace
338
+
339
+ # NOTE: We must produce the digest BEFORE starting the thread.
340
+ # Otherwise if it's lazily evaluated within the thread,
341
+ # the thread's trace may follow the wrong parent span.
342
+ trace_digest = trace.to_digest
343
+
344
+ Thread.new do
345
+ # Inherits trace properties from the trace digest
346
+ Datadog::Tracing.trace('my.job', continue_from: trace_digest) do |span, trace|
347
+ trace.id == trace_digest.trace_id
348
+ end
349
+ end
350
+ ```
351
+
352
+ ### Sampling
353
+
354
+ Accessing `call_context` to set explicit sampling has been removed.
355
+
356
+ Instead, use the `TraceOperation` to set the sampling decision.
357
+
358
+ ```ruby
359
+ ### Old 0.x ###
360
+ # From within the trace:
361
+ Datadog.tracer.trace('web.request') do |span|
362
+ span.context.sampling_priority = Datadog::Ext::Priority::USER_REJECT if env.path == '/healthcheck'
363
+ end
364
+
365
+ # From outside the trace:
366
+ Datadog.tracer.active_span.context.sampling_priority = Datadog::Ext::Priority::USER_KEEP # Keeps current trace
367
+ Datadog.tracer.active_span.context.sampling_priority = Datadog::Ext::Priority::USER_REJECT # Drops current trace
368
+
369
+
370
+ ### New 1.0 ###
371
+ # From within the trace:
372
+ Datadog::Tracing.trace('web.request') do |span, trace|
373
+ trace.reject! if env.path == '/healthcheck'
374
+ end
375
+
376
+ # From outside the trace:
377
+ Datadog::Tracing.keep! # Keeps current trace
378
+ Datadog::Tracing.reject! # Drops current trace
379
+ ```
380
+
381
+ ### Processing pipeline
382
+
383
+ When using a trace processor in the processing pipeline, the block yields a `TraceSegment` as `trace` instead of `Array[Datadog::Span]`. This object can be modified by reference.
384
+
385
+ ```ruby
386
+ ### Old 0.x ###
387
+ Datadog::Pipeline.before_flush do |trace|
388
+ # Processing logic...
389
+ trace # => Array[Datadog::Span]
390
+ end
391
+
392
+
393
+ ### New 1.0 ###
394
+ Datadog::Tracing.before_flush do |trace|
395
+ # Processing logic...
396
+ trace # => #<Datadog::Tracing::TraceSegment>
397
+ end
398
+ ```
399
+
400
+ ## Appendix
401
+
402
+ <h3 id="appendix-namespacing">Namespacing</h3>
403
+
404
+ #### `require` paths
405
+
406
+ | `0.x require path` | `1.0 require path` |
407
+ |-----------------------------|-----------------------------|
408
+ | `ddtrace/opentelemetry` | `datadog/opentelemetry` |
409
+ | `ddtrace/opentracer` | `datadog/opentracer` |
410
+ | `ddtrace/profiling/preload` | `datadog/profiling/preload` |
411
+
412
+
413
+ #### Constants
414
+
415
+ | `0.x Constant` | `1.0 Constant` |
416
+ |-----------------------------------------------------------------|-----------------------------------------------------------------------------------------|
417
+ | `Datadog::AllSampler` | `Datadog::Tracing::Sampling::AllSampler` |
418
+ | `Datadog::Buffer` | `Datadog::Core::Buffer::Random` |
419
+ | `Datadog::Chunker` | `Datadog::Core::Chunker` |
420
+ | `Datadog::Configuration` | `Datadog::Core::Configuration` |
421
+ | `Datadog::ContextFlush` | `Datadog::Tracing::Flush` |
422
+ | `Datadog::CRubyBuffer` | `Datadog::Core::Buffer::CRuby` |
423
+ | `Datadog::Diagnostics` | `Datadog::Core::Diagnostics` |
424
+ | `Datadog::DistributedTracing` | `Datadog::Tracing::Distributed` |
425
+ | `Datadog::Encoding` | `Datadog::Core::Encoding` |
426
+ | `Datadog::Error` | `Datadog::Core::Error` |
427
+ | `Datadog::Ext::Analytics::ENV_TRACE_ANALYTICS_ENABLED` | `Datadog::Tracing::Configuration::Ext::Analytics::ENV_TRACE_ANALYTICS_ENABLED` |
428
+ | `Datadog::Ext::Analytics` | `Datadog::Tracing::Metadata::Ext::Analytics` |
429
+ | `Datadog::Ext::AppTypes` | `Datadog::Tracing::Metadata::Ext::AppTypes` |
430
+ | `Datadog::Ext::Correlation::ENV_LOGS_INJECTION_ENABLED` | `Datadog::Tracing::Configuration::Ext::Correlation::ENV_LOGS_INJECTION_ENABLED` |
431
+ | `Datadog::Ext::Correlation` | `Datadog::Tracing::Correlation::Identifier` |
432
+ | `Datadog::Ext::Diagnostics` | `Datadog::Core::Diagnostics::Ext` |
433
+ | `Datadog::Ext::Distributed::ENV_PROPAGATION_STYLE_EXTRACT` | `Datadog::Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_EXTRACT` |
434
+ | `Datadog::Ext::Distributed::ENV_PROPAGATION_STYLE_INJECT` | `Datadog::Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_INJECT` |
435
+ | `Datadog::Ext::Distributed::PROPAGATION_STYLE_B3_SINGLE_HEADER` | `Datadog::Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3_SINGLE_HEADER` |
436
+ | `Datadog::Ext::Distributed::PROPAGATION_STYLE_B3` | `Datadog::Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3` |
437
+ | `Datadog::Ext::Distributed::PROPAGATION_STYLE_DATADOG` | `Datadog::Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG` |
438
+ | `Datadog::Ext::Distributed` | `Datadog::Tracing::Metadata::Ext::Distributed` |
439
+ | `Datadog::Ext::DistributedTracing::TAG_ORIGIN` | `Datadog::Tracing::Metadata::Ext::Distributed::TAG_ORIGIN` |
440
+ | `Datadog::Ext::DistributedTracing::TAG_SAMPLING_PRIORITY` | `Datadog::Tracing::Metadata::Ext::Distributed::TAG_SAMPLING_PRIORITY` |
441
+ | `Datadog::Ext::DistributedTracing` | `Datadog::Tracing::Distributed::Headers::Ext` |
442
+ | `Datadog::Ext::Environment` | `Datadog::Core::Environment::Ext` |
443
+ | `Datadog::Ext::Errors` | `Datadog::Tracing::Metadata::Ext::Errors` |
444
+ | `Datadog::Ext::Git` | `Datadog::Core::Git::Ext` |
445
+ | `Datadog::Ext::HTTP` | `Datadog::Tracing::Metadata::Ext::HTTP` |
446
+ | `Datadog::Ext::Integration` | `Datadog::Tracing::Metadata::Ext` |
447
+ | `Datadog::Ext::NET::ENV_REPORT_HOSTNAME` | `Datadog::Tracing::Configuration::Ext::NET::ENV_REPORT_HOSTNAME` |
448
+ | `Datadog::Ext::NET` | `Datadog::Tracing::Metadata::Ext::NET` |
449
+ | `Datadog::Ext::Priority` | `Datadog::Tracing::Sampling::Ext::Priority` |
450
+ | `Datadog::Ext::Runtime` | `Datadog::Core::Runtime::Ext` |
451
+ | `Datadog::Ext::Sampling::ENV_RATE_LIMIT` | `Datadog::Tracing::Configuration::Ext::Sampling::ENV_RATE_LIMIT` |
452
+ | `Datadog::Ext::Sampling::ENV_SAMPLE_RATE` | `Datadog::Tracing::Configuration::Ext::Sampling::ENV_SAMPLE_RATE` |
453
+ | `Datadog::Ext::Sampling` | `Datadog::Tracing::Metadata::Ext::Sampling` |
454
+ | `Datadog::Ext::SQL` | `Datadog::Tracing::Metadata::Ext::SQL` |
455
+ | `Datadog::Ext::Test` | `Datadog::Tracing::Configuration::Ext::Test` |
456
+ | `Datadog::Ext::Transport::HTTP::ENV_DEFAULT_HOST` | `Datadog::Tracing::Configuration::Ext::Transport::ENV_DEFAULT_HOST` |
457
+ | `Datadog::Ext::Transport::HTTP::ENV_DEFAULT_PORT` | `Datadog::Tracing::Configuration::Ext::Transport::ENV_DEFAULT_PORT` |
458
+ | `Datadog::Ext::Transport::HTTP::ENV_DEFAULT_URL` | `Datadog::Tracing::Configuration::Ext::Transport::ENV_DEFAULT_URL` |
459
+ | `Datadog::Ext::Transport` | `Datadog::Transport::Ext` |
460
+ | `Datadog::GRPCPropagator` | `Datadog::Tracing::Propagation::GRPC` |
461
+ | `Datadog::HTTPPropagator` | `Datadog::Tracing::Propagation::HTTP` |
462
+ | `Datadog::Logger` | `Datadog::Core::Logger` |
463
+ | `Datadog::Metrics` | `Datadog::Core::Metrics::Client` |
464
+ | `Datadog::PrioritySampler` | `Datadog::Tracing::Sampling::PrioritySampler` |
465
+ | `Datadog::Quantization` | `Datadog::Contrib::Utils::Quantization` |
466
+ | `Datadog::RateByKeySampler` | `Datadog::Tracing::Sampling::RateByKeySampler` |
467
+ | `Datadog::RateByServiceSampler` | `Datadog::Tracing::Sampling::RateByServiceSampler` |
468
+ | `Datadog::RateSampler` | `Datadog::Tracing::Sampling::RateSampler` |
469
+ | `Datadog::Runtime` | `Datadog::Core::Runtime` |
470
+ | `Datadog::Sampler` | `Datadog::Tracing::Sampling::Sampler` |
471
+ | `Datadog::Tagging::Analytics` | `Datadog::Tracing::Metadata::Analytics` |
472
+ | `Datadog::Tagging::Metadata` | `Datadog::Tracing::Metadata::Tagging` |
473
+ | `Datadog::ThreadSafeBuffer` | `Datadog::Core::Buffer::ThreadSafe` |
474
+ | `Datadog::Utils` | `Datadog::Core::Utils` |
475
+ | `Datadog::Vendor::ActiveRecord` | `Datadog::Contrib::ActiveRecord::Vendor` |
476
+ | `Datadog::Vendor::Multipart` | `Datadog::Core::Vendor::Multipart` |
477
+ | `Datadog::Worker` | `Datadog::Core::Worker` |
478
+ | `Datadog::Workers` | `Datadog::Core::Workers` |
479
+
480
+
481
+ <h3 id="appendix-configuration">Configuration</h3>
482
+
483
+ | 0.x setting | 1.0 setting |
484
+ |----------------------------------------|-------------------------------|
485
+ | `analytics.enabled` | `tracing.analytics.enabled` |
486
+ | `ci_mode.context_flush` | `ci.context_flush` |
487
+ | `ci_mode.enabled` | `ci.enabled` |
488
+ | `ci_mode.writer_options` | `ci.writer_options` |
489
+ | `distributed_tracing` | `tracing.distributed_tracing` |
490
+ | `logger=` | `logger.instance=` |
491
+ | `profiling.exporter.transport_options` | Removed |
492
+ | `report_hostname` | `tracing.report_hostname` |
493
+ | `runtime_metrics_enabled` | `runtime_metrics.enabled` |
494
+ | `runtime_metrics(options)` | Removed |
495
+ | `sampling` | `tracing.sampling` |
496
+ | `test_moade` | `tracing.test_mode` |
497
+ | `tracer.enabled` | `tracing.enabled` |
498
+ | `tracer.hostname` | `agent.hostname` |
499
+ | `tracer.instance` | `tracing.instance` |
500
+ | `tracer.partial_flush` | `tracing.partial_flush` |
501
+ | `tracer.port` | `agent.port` |
502
+ | `tracer.sampler` | `tracing.sampler` |
503
+ | `tracer.transport_options` | `tracing.transport_options` |
504
+ | `tracer.transport_options(options)` | Removed |
505
+ | `tracer.writer` | `tracing.writer` |
506
+ | `tracer.writer_options` | `tracing.writer_options` |
507
+
508
+ <h3 id="appendix-breaking-changes">Breaking changes</h3>
509
+
510
+ | **Category** | **Type** | **Description** | **Change / Alternative** |
511
+ |---------------|----------|----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
512
+ | General | Changed | Many constants have been moved from `Datadog` to `Datadog::Core`, `Datadog::Tracing`, `Datadog::Profiling` | Update your references to these [new namespaces](#appendix-namespacing) where appropriate. |
513
+ | General | Removed | `Datadog.tracer` | Use methods in `Datadog::Tracing` instead. |
514
+ | General | Removed | Support for trace agent API v0.2 | Use v0.4 instead (default behavior.) |
515
+ | CI API | Changed | `DD_TRACE_CI_MODE_ENABLED` environment variable is now `DD_TRACE_CI_ENABLED` | Use `DD_TRACE_CI_ENABLED` instead. |
516
+ | Configuration | Changed | Many settings have been namespaced under specific categories | Update your configuration to these [new settings](#appendix-configuration) where appropriate. |
517
+ | Configuration | Removed | `Datadog.configure(client, options)` | Use `Datadog::Tracing.configure_onto(client, options)` instead. |
518
+ | Configuration | Removed | `DD_#{integration}_ANALYTICS_ENABLED` and `DD_#{integration}_ANALYTICS_SAMPLE_RATE` environment variables | Use `DD_TRACE_#{integration}_ANALYTICS_ENABLED` and `DD_TRACE_#{integration}_ANALYTICS_SAMPLE_RATE` instead. |
519
+ | Configuration | Removed | `DD_PROPAGATION_INJECT_STYLE` and `DD_PROPAGATION_EXTRACT_STYLE` environment variables | Use `DD_PROPAGATION_STYLE_INJECT` and `DD_PROPAGATION_STYLE_EXTRACT` instead. |
520
+ | Integrations | Changed | `-` in HTTP header tag names are kept, and no longer replaced with `_` | For example: `http.response.headers.content_type` is changed to `http.response.headers.content-type`. |
521
+ | Integrations | Changed | `Contrib::Configurable#default_configuration` moved to `Tracing::Contrib::Configurable#new_configuration` | Use `Tracing::Contrib::Configurable#new_configuration` instead. |
522
+ | Integrations | Changed | `Datadog.configuration.registry` moved to `Datadog.registry` | Use `Datadog.registry` instead. |
523
+ | Integrations | Changed | `service_name` option from each integration uses the default service name, unless it represents an external service | Set `c.service` or `DD_SERVICE`, and remove `service_name` option from integration to inherit default service name. Set `service_name` option on integration to override. |
524
+ | Integrations | Changed | Presto: `out.host` tag now contains only client hostname. Before it contained `"#{hostname}:#{port}"`. | |
525
+ | Integrations | Changed | Rails: service_name does not propagate to sub-components (e.g. `c.use :rails, cache_service: 'my-cache'`) | Use `c.service` instead. |
526
+ | Integrations | Changed | Rails: Sub-components service_name options are now consistently called `:service_name` | Update your configuration to use `:service_name`. |
527
+ | Integrations | Changed | Rails: Trace-logging correlation is enabled by default | Can be disabled using the environment variable `DD_LOGS_INJECTION=false`. |
528
+ | Integrations | Removed | `tracer` integration option from all integrations | Remove this option from your configuration. |
529
+ | Integrations | Removed | ActiveJob: `log_injection` option | Use `c.tracing.log_injection` instead. |
530
+ | Integrations | Removed | ActiveModelSerializers: service_name configuration | Remove this option from your configuration. |
531
+ | Integrations | Removed | ConcurrentRuby: unused option `service_name` | Remove this option from your configuration. |
532
+ | Integrations | Removed | Rails: 3.0 and 3.1 support. | Not supported. |
533
+ | Integrations | Removed | Rails: `log_injection` option. | Use global `c.tracing.log_injection` instead. |
534
+ | Integrations | Removed | Rails: `orm_service_name` option. | Remove this option from your configuration. |
535
+ | Integrations | Removed | Resque: `workers` option. (All Resque workers are now automatically instrumented.) | Remove this option from your configuration. |
536
+ | Tracing API | Changed | `Correlation#to_s` to `Correlation#to_log_format` | Use `Datadog::Tracing.log_correlation` instead. |
537
+ | Tracing API | Changed | `Tracer#trace` implements keyword args | Omit invalid options from `trace` calls. |
538
+ | Tracing API | Changed | Distributed tracing takes and yields `TraceDigest` instead of `Context` | Update your usage of distributed tracing to use `continue_from` and `to_digest`. |
539
+ | Tracing API | Changed | Rules for RuleSampler now yield `TraceOperation` instead of `Span` | Update Rule sampler usage to use `TraceOperation`. |
540
+ | Tracing API | Changed | Trace processors yield `TraceSegment` instead of `Array[Span]` | Update pipeline callbacks to use `TraceSegment instead. |
541
+ | Tracing API | Removed | `child_of:` option from `Tracer#trace` | Not supported. |
542
+ | Tracing API | Removed | `Pin.new(service, config: { option: value }).onto(client)` | Use `Datadog::Tracing.configure_onto(client, service_name: service, option: value)` instead. |
543
+ | Tracing API | Removed | `Pin.get_from(client)` | Use `Datadog::Tracing.configure_for(client)` instead. |
544
+ | Tracing API | Removed | `Pipeline.before_flush` | Use `Datadog::Tracing.before_flush` instead. |
545
+ | Tracing API | Removed | `SpanOperation#context` | Use `Datadog::Tracing.active_trace` instead. |
546
+ | Tracing API | Removed | `SpanOperation#parent`/`SpanOperation#parent=` | Not supported. |
547
+ | Tracing API | Removed | `SpanOperation#sampled` | Use `Datadog::TraceOperation#sampled?` instead. |
548
+ | Tracing API | Removed | `Tracer#active_correlation` | Use `Datadog::Tracing.correlation` instead. |
549
+ | Tracing API | Removed | `Tracer#active_correlation.to_log_format` | Use `Datadog::Tracing.log_correlation` instead. |
550
+ | Tracing API | Removed | `Tracer#active_root_span` | Use `Datadog::Tracing.active_trace` instead. |
551
+ | Tracing API | Removed | `Tracer#build_span` | Use `Datadog::Tracing.trace` instead. |
552
+ | Tracing API | Removed | `Tracer#call_context` | Use `Datadog::Tracing.active_trace` instead. |
553
+ | Tracing API | Removed | `Tracer#configure` | Not supported. |
554
+ | Tracing API | Removed | `Tracer#services` | Not supported. |
555
+ | Tracing API | Removed | `Tracer#set_service_info` | Not supported. |
556
+ | Tracing API | Removed | `Tracer#start_span` | Use `Datadog::Tracing.trace` instead. |
557
+ | Tracing API | Removed | `Writer#write` and `SyncWriter#write` `services` argument | Not supported. |