ddtrace 0.50.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1625) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +22 -0
  3. data/.gitignore +10 -0
  4. data/CHANGELOG.md +430 -11
  5. data/CONTRIBUTING.md +1 -5
  6. data/LICENSE-3rdparty.csv +2 -1
  7. data/README.md +4 -0
  8. data/bin/ddtracerb +5 -5
  9. data/ddtrace.gemspec +20 -5
  10. data/docs/0.x-trace.png +0 -0
  11. data/docs/1.0-trace.png +0 -0
  12. data/docs/AutoInstrumentation.md +36 -0
  13. data/docs/Deprecation.md +8 -0
  14. data/docs/DevelopmentGuide.md +17 -7
  15. data/docs/GettingStarted.md +660 -486
  16. data/docs/ProfilingDevelopment.md +45 -23
  17. data/docs/PublicApi.md +14 -0
  18. data/docs/UpgradeGuide.md +736 -0
  19. data/ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md +86 -0
  20. data/ext/ddtrace_profiling_native_extension/clock_id.h +4 -0
  21. data/ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c +52 -0
  22. data/ext/ddtrace_profiling_native_extension/clock_id_noop.c +14 -0
  23. data/ext/ddtrace_profiling_native_extension/extconf.rb +206 -0
  24. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.c +35 -0
  25. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.h +3 -0
  26. data/ext/ddtrace_profiling_native_extension/profiling.c +24 -0
  27. data/lib/datadog/appsec/assets/blocked.html +4 -0
  28. data/lib/datadog/appsec/assets/waf_rules/README.md +7 -0
  29. data/lib/datadog/appsec/assets/waf_rules/recommended.json +5638 -0
  30. data/lib/datadog/appsec/assets/waf_rules/risky.json +1499 -0
  31. data/lib/datadog/appsec/assets/waf_rules/strict.json +1298 -0
  32. data/lib/datadog/appsec/assets.rb +38 -0
  33. data/lib/datadog/appsec/autoload.rb +16 -0
  34. data/lib/datadog/appsec/configuration/settings.rb +175 -0
  35. data/lib/datadog/appsec/configuration.rb +72 -0
  36. data/lib/datadog/appsec/contrib/auto_instrument.rb +29 -0
  37. data/lib/datadog/appsec/contrib/configuration/settings.rb +20 -0
  38. data/lib/datadog/appsec/contrib/integration.rb +37 -0
  39. data/lib/datadog/appsec/contrib/patcher.rb +12 -0
  40. data/lib/datadog/appsec/contrib/rack/configuration/settings.rb +22 -0
  41. data/lib/datadog/appsec/contrib/rack/ext.rb +15 -0
  42. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +126 -0
  43. data/lib/datadog/appsec/contrib/rack/integration.rb +48 -0
  44. data/lib/datadog/appsec/contrib/rack/patcher.rb +33 -0
  45. data/lib/datadog/appsec/contrib/rack/reactive/request.rb +87 -0
  46. data/lib/datadog/appsec/contrib/rack/reactive/response.rb +64 -0
  47. data/lib/datadog/appsec/contrib/rack/request.rb +52 -0
  48. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +57 -0
  49. data/lib/datadog/appsec/contrib/rack/response.rb +24 -0
  50. data/lib/datadog/appsec/contrib/rails/configuration/settings.rb +22 -0
  51. data/lib/datadog/appsec/contrib/rails/ext.rb +15 -0
  52. data/lib/datadog/appsec/contrib/rails/framework.rb +30 -0
  53. data/lib/datadog/appsec/contrib/rails/integration.rb +48 -0
  54. data/lib/datadog/appsec/contrib/rails/patcher.rb +125 -0
  55. data/lib/datadog/appsec/contrib/rails/request_middleware.rb +20 -0
  56. data/lib/datadog/appsec/contrib/sinatra/configuration/settings.rb +22 -0
  57. data/lib/datadog/appsec/contrib/sinatra/ext.rb +15 -0
  58. data/lib/datadog/appsec/contrib/sinatra/framework.rb +34 -0
  59. data/lib/datadog/appsec/contrib/sinatra/integration.rb +48 -0
  60. data/lib/datadog/appsec/contrib/sinatra/patcher.rb +77 -0
  61. data/lib/datadog/appsec/contrib/sinatra/request_middleware.rb +20 -0
  62. data/lib/datadog/appsec/event.rb +106 -0
  63. data/lib/datadog/appsec/extensions.rb +121 -0
  64. data/lib/datadog/appsec/instrumentation/gateway.rb +44 -0
  65. data/lib/datadog/appsec/processor.rb +121 -0
  66. data/lib/datadog/appsec/rate_limiter.rb +55 -0
  67. data/lib/datadog/appsec/reactive/address_hash.rb +18 -0
  68. data/lib/datadog/appsec/reactive/engine.rb +44 -0
  69. data/lib/datadog/appsec/reactive/operation.rb +52 -0
  70. data/lib/datadog/appsec/reactive/subscriber.rb +18 -0
  71. data/lib/datadog/appsec.rb +23 -0
  72. data/lib/datadog/ci/configuration/components.rb +10 -8
  73. data/lib/datadog/ci/configuration/settings.rb +20 -3
  74. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +6 -3
  75. data/lib/datadog/ci/contrib/cucumber/ext.rb +3 -0
  76. data/lib/datadog/ci/contrib/cucumber/formatter.rb +5 -8
  77. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +3 -1
  78. data/lib/datadog/ci/contrib/cucumber/integration.rb +4 -2
  79. data/lib/datadog/ci/contrib/cucumber/patcher.rb +4 -2
  80. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +6 -3
  81. data/lib/datadog/ci/contrib/rspec/example.rb +5 -8
  82. data/lib/datadog/ci/contrib/rspec/ext.rb +3 -0
  83. data/lib/datadog/ci/contrib/rspec/integration.rb +6 -4
  84. data/lib/datadog/ci/contrib/rspec/patcher.rb +4 -2
  85. data/lib/datadog/ci/ext/app_types.rb +3 -1
  86. data/lib/datadog/ci/ext/environment.rb +312 -126
  87. data/lib/datadog/ci/ext/settings.rb +3 -1
  88. data/lib/datadog/ci/ext/test.rb +10 -1
  89. data/lib/datadog/ci/extensions.rb +6 -4
  90. data/lib/datadog/ci/flush.rb +38 -0
  91. data/lib/datadog/ci/test.rb +33 -13
  92. data/lib/datadog/ci.rb +5 -1
  93. data/lib/datadog/core/buffer/cruby.rb +55 -0
  94. data/lib/datadog/core/buffer/random.rb +134 -0
  95. data/lib/datadog/core/buffer/thread_safe.rb +58 -0
  96. data/lib/datadog/core/chunker.rb +35 -0
  97. data/lib/datadog/core/configuration/agent_settings_resolver.rb +365 -0
  98. data/lib/datadog/core/configuration/base.rb +89 -0
  99. data/lib/datadog/core/configuration/components.rb +393 -0
  100. data/lib/datadog/core/configuration/dependency_resolver.rb +28 -0
  101. data/lib/datadog/core/configuration/option.rb +69 -0
  102. data/lib/datadog/core/configuration/option_definition.rb +126 -0
  103. data/lib/datadog/core/configuration/option_definition_set.rb +22 -0
  104. data/lib/datadog/core/configuration/option_set.rb +10 -0
  105. data/lib/datadog/core/configuration/options.rb +118 -0
  106. data/lib/datadog/core/configuration/settings.rb +618 -0
  107. data/lib/datadog/core/configuration.rb +284 -0
  108. data/lib/datadog/core/diagnostics/environment_logger.rb +283 -0
  109. data/lib/datadog/core/diagnostics/ext.rb +41 -0
  110. data/lib/datadog/core/diagnostics/health.rb +37 -0
  111. data/lib/datadog/core/encoding.rb +76 -0
  112. data/lib/datadog/core/environment/cgroup.rb +53 -0
  113. data/lib/datadog/core/environment/class_count.rb +21 -0
  114. data/lib/datadog/core/environment/container.rb +92 -0
  115. data/lib/datadog/core/environment/ext.rb +46 -0
  116. data/lib/datadog/core/environment/gc.rb +20 -0
  117. data/lib/datadog/core/environment/identity.rb +58 -0
  118. data/lib/datadog/core/environment/socket.rb +24 -0
  119. data/lib/datadog/core/environment/thread_count.rb +20 -0
  120. data/lib/datadog/core/environment/variable_helpers.rb +44 -0
  121. data/lib/datadog/core/environment/vm_cache.rb +47 -0
  122. data/lib/datadog/core/error.rb +101 -0
  123. data/lib/datadog/core/extensions.rb +16 -0
  124. data/lib/datadog/core/git/ext.rb +35 -0
  125. data/lib/datadog/core/logger.rb +46 -0
  126. data/lib/datadog/core/metrics/client.rb +188 -0
  127. data/lib/datadog/core/metrics/ext.rb +20 -0
  128. data/lib/datadog/core/metrics/helpers.rb +25 -0
  129. data/lib/datadog/core/metrics/logging.rb +44 -0
  130. data/lib/datadog/core/metrics/metric.rb +14 -0
  131. data/lib/datadog/core/metrics/options.rb +50 -0
  132. data/lib/datadog/core/pin.rb +75 -0
  133. data/lib/datadog/core/runtime/ext.rb +28 -0
  134. data/lib/datadog/core/runtime/metrics.rb +126 -0
  135. data/lib/datadog/core/utils/compression.rb +32 -0
  136. data/lib/datadog/core/utils/forking.rb +63 -0
  137. data/lib/datadog/core/utils/object_set.rb +43 -0
  138. data/lib/datadog/core/utils/only_once.rb +44 -0
  139. data/lib/datadog/core/utils/safe_dup.rb +27 -0
  140. data/lib/datadog/core/utils/sequence.rb +21 -0
  141. data/lib/datadog/core/utils/string_table.rb +49 -0
  142. data/lib/datadog/core/utils/time.rb +54 -0
  143. data/lib/datadog/core/utils.rb +115 -0
  144. data/lib/datadog/core/vendor/multipart-post/multipart/post/composite_read_io.rb +120 -0
  145. data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +61 -0
  146. data/lib/datadog/core/vendor/multipart-post/multipart/post/parts.rb +139 -0
  147. data/lib/datadog/core/vendor/multipart-post/multipart/post/version.rb +13 -0
  148. data/lib/datadog/core/vendor/multipart-post/multipart/post.rb +12 -0
  149. data/lib/datadog/core/vendor/multipart-post/multipart.rb +16 -0
  150. data/lib/datadog/core/vendor/multipart-post/net/http/post/multipart.rb +36 -0
  151. data/lib/datadog/core/worker.rb +24 -0
  152. data/lib/datadog/core/workers/async.rb +180 -0
  153. data/lib/datadog/core/workers/interval_loop.rb +119 -0
  154. data/lib/datadog/core/workers/polling.rb +59 -0
  155. data/lib/datadog/core/workers/queue.rb +44 -0
  156. data/lib/datadog/core/workers/runtime_metrics.rb +65 -0
  157. data/lib/datadog/core.rb +74 -0
  158. data/lib/datadog/opentracer/binary_propagator.rb +26 -0
  159. data/lib/datadog/opentracer/carrier.rb +9 -0
  160. data/lib/datadog/opentracer/distributed_headers.rb +58 -0
  161. data/lib/datadog/opentracer/global_tracer.rb +17 -0
  162. data/lib/datadog/opentracer/propagator.rb +26 -0
  163. data/lib/datadog/opentracer/rack_propagator.rb +72 -0
  164. data/lib/datadog/opentracer/scope.rb +18 -0
  165. data/lib/datadog/opentracer/scope_manager.rb +9 -0
  166. data/lib/datadog/opentracer/span.rb +101 -0
  167. data/lib/datadog/opentracer/span_context.rb +19 -0
  168. data/lib/datadog/opentracer/span_context_factory.rb +27 -0
  169. data/lib/datadog/opentracer/text_map_propagator.rb +87 -0
  170. data/lib/datadog/opentracer/thread_local_scope.rb +34 -0
  171. data/lib/datadog/opentracer/thread_local_scope_manager.rb +43 -0
  172. data/lib/datadog/opentracer/tracer.rb +214 -0
  173. data/lib/datadog/opentracer.rb +24 -0
  174. data/lib/datadog/profiling/backtrace_location.rb +34 -0
  175. data/lib/datadog/profiling/buffer.rb +43 -0
  176. data/lib/datadog/profiling/collectors/code_provenance.rb +114 -0
  177. data/lib/datadog/profiling/collectors/stack.rb +297 -0
  178. data/lib/datadog/profiling/encoding/profile.rb +48 -0
  179. data/lib/datadog/profiling/event.rb +15 -0
  180. data/lib/datadog/profiling/events/stack.rb +82 -0
  181. data/lib/datadog/profiling/exporter.rb +25 -0
  182. data/lib/datadog/profiling/ext/forking.rb +99 -0
  183. data/lib/datadog/profiling/ext.rb +57 -0
  184. data/lib/datadog/profiling/flush.rb +69 -0
  185. data/lib/datadog/profiling/native_extension.rb +41 -0
  186. data/lib/datadog/profiling/pprof/builder.rb +127 -0
  187. data/lib/datadog/profiling/pprof/converter.rb +104 -0
  188. data/lib/datadog/profiling/pprof/message_set.rb +16 -0
  189. data/lib/datadog/profiling/pprof/payload.rb +20 -0
  190. data/lib/datadog/profiling/pprof/pprof_pb.rb +83 -0
  191. data/lib/datadog/profiling/pprof/stack_sample.rb +141 -0
  192. data/lib/datadog/profiling/pprof/string_table.rb +12 -0
  193. data/lib/datadog/profiling/pprof/template.rb +120 -0
  194. data/lib/datadog/profiling/preload.rb +5 -0
  195. data/lib/datadog/profiling/profiler.rb +34 -0
  196. data/lib/datadog/profiling/recorder.rb +117 -0
  197. data/lib/datadog/profiling/scheduler.rb +151 -0
  198. data/lib/datadog/profiling/tasks/exec.rb +50 -0
  199. data/lib/datadog/profiling/tasks/help.rb +18 -0
  200. data/lib/datadog/profiling/tasks/setup.rb +91 -0
  201. data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +45 -0
  202. data/lib/datadog/profiling/trace_identifiers/helper.rb +47 -0
  203. data/lib/datadog/profiling/transport/client.rb +16 -0
  204. data/lib/datadog/profiling/transport/http/api/endpoint.rb +107 -0
  205. data/lib/datadog/profiling/transport/http/api/instance.rb +38 -0
  206. data/lib/datadog/profiling/transport/http/api/spec.rb +42 -0
  207. data/lib/datadog/profiling/transport/http/api.rb +45 -0
  208. data/lib/datadog/profiling/transport/http/builder.rb +30 -0
  209. data/lib/datadog/profiling/transport/http/client.rb +35 -0
  210. data/lib/datadog/profiling/transport/http/response.rb +23 -0
  211. data/lib/datadog/profiling/transport/http.rb +112 -0
  212. data/lib/datadog/profiling/transport/io/client.rb +29 -0
  213. data/lib/datadog/profiling/transport/io/response.rb +18 -0
  214. data/lib/datadog/profiling/transport/io.rb +32 -0
  215. data/lib/datadog/profiling/transport/parcel.rb +19 -0
  216. data/lib/datadog/profiling/transport/request.rb +17 -0
  217. data/lib/datadog/profiling/transport/response.rb +10 -0
  218. data/lib/datadog/profiling.rb +168 -0
  219. data/lib/datadog/tracing/analytics.rb +25 -0
  220. data/lib/datadog/tracing/buffer.rb +126 -0
  221. data/lib/datadog/tracing/configuration/ext.rb +51 -0
  222. data/lib/datadog/tracing/context.rb +68 -0
  223. data/lib/datadog/tracing/context_provider.rb +66 -0
  224. data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +35 -0
  225. data/lib/datadog/tracing/contrib/action_cable/event.rb +72 -0
  226. data/lib/datadog/tracing/contrib/action_cable/events/broadcast.rb +58 -0
  227. data/lib/datadog/tracing/contrib/action_cable/events/perform_action.rb +63 -0
  228. data/lib/datadog/tracing/contrib/action_cable/events/transmit.rb +59 -0
  229. data/lib/datadog/tracing/contrib/action_cable/events.rb +37 -0
  230. data/lib/datadog/tracing/contrib/action_cable/ext.rb +32 -0
  231. data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +91 -0
  232. data/lib/datadog/tracing/contrib/action_cable/integration.rb +50 -0
  233. data/lib/datadog/tracing/contrib/action_cable/patcher.rb +31 -0
  234. data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +36 -0
  235. data/lib/datadog/tracing/contrib/action_mailer/event.rb +52 -0
  236. data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +60 -0
  237. data/lib/datadog/tracing/contrib/action_mailer/events/process.rb +47 -0
  238. data/lib/datadog/tracing/contrib/action_mailer/events.rb +34 -0
  239. data/lib/datadog/tracing/contrib/action_mailer/ext.rb +33 -0
  240. data/lib/datadog/tracing/contrib/action_mailer/integration.rb +50 -0
  241. data/lib/datadog/tracing/contrib/action_mailer/patcher.rb +29 -0
  242. data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +156 -0
  243. data/lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb +29 -0
  244. data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +36 -0
  245. data/lib/datadog/tracing/contrib/action_pack/ext.rb +22 -0
  246. data/lib/datadog/tracing/contrib/action_pack/integration.rb +50 -0
  247. data/lib/datadog/tracing/contrib/action_pack/patcher.rb +27 -0
  248. data/lib/datadog/tracing/contrib/action_pack/utils.rb +40 -0
  249. data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +36 -0
  250. data/lib/datadog/tracing/contrib/action_view/event.rb +35 -0
  251. data/lib/datadog/tracing/contrib/action_view/events/render_partial.rb +54 -0
  252. data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +57 -0
  253. data/lib/datadog/tracing/contrib/action_view/events.rb +34 -0
  254. data/lib/datadog/tracing/contrib/action_view/ext.rb +24 -0
  255. data/lib/datadog/tracing/contrib/action_view/instrumentation/partial_renderer.rb +78 -0
  256. data/lib/datadog/tracing/contrib/action_view/instrumentation/template_renderer.rb +91 -0
  257. data/lib/datadog/tracing/contrib/action_view/integration.rb +57 -0
  258. data/lib/datadog/tracing/contrib/action_view/patcher.rb +48 -0
  259. data/lib/datadog/tracing/contrib/action_view/utils.rb +36 -0
  260. data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +37 -0
  261. data/lib/datadog/tracing/contrib/active_job/event.rb +58 -0
  262. data/lib/datadog/tracing/contrib/active_job/events/discard.rb +50 -0
  263. data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +49 -0
  264. data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +49 -0
  265. data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +51 -0
  266. data/lib/datadog/tracing/contrib/active_job/events/perform.rb +49 -0
  267. data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +50 -0
  268. data/lib/datadog/tracing/contrib/active_job/events.rb +42 -0
  269. data/lib/datadog/tracing/contrib/active_job/ext.rb +39 -0
  270. data/lib/datadog/tracing/contrib/active_job/integration.rb +50 -0
  271. data/lib/datadog/tracing/contrib/active_job/log_injection.rb +26 -0
  272. data/lib/datadog/tracing/contrib/active_job/patcher.rb +36 -0
  273. data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +33 -0
  274. data/lib/datadog/tracing/contrib/active_model_serializers/event.rb +69 -0
  275. data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +45 -0
  276. data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +47 -0
  277. data/lib/datadog/tracing/contrib/active_model_serializers/events.rb +34 -0
  278. data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +24 -0
  279. data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +45 -0
  280. data/lib/datadog/tracing/contrib/active_model_serializers/patcher.rb +33 -0
  281. data/lib/datadog/tracing/contrib/active_record/configuration/makara_resolver.rb +36 -0
  282. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +138 -0
  283. data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +39 -0
  284. data/lib/datadog/tracing/contrib/active_record/event.rb +30 -0
  285. data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +58 -0
  286. data/lib/datadog/tracing/contrib/active_record/events/sql.rb +78 -0
  287. data/lib/datadog/tracing/contrib/active_record/events.rb +34 -0
  288. data/lib/datadog/tracing/contrib/active_record/ext.rb +29 -0
  289. data/lib/datadog/tracing/contrib/active_record/integration.rb +56 -0
  290. data/lib/datadog/tracing/contrib/active_record/patcher.rb +27 -0
  291. data/lib/datadog/tracing/contrib/active_record/utils.rb +128 -0
  292. data/lib/datadog/tracing/contrib/active_record/vendor/connection_specification.rb +307 -0
  293. data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +270 -0
  294. data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +73 -0
  295. data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +47 -0
  296. data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +35 -0
  297. data/lib/datadog/tracing/contrib/active_support/ext.rb +31 -0
  298. data/lib/datadog/tracing/contrib/active_support/integration.rb +51 -0
  299. data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +71 -0
  300. data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +71 -0
  301. data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +162 -0
  302. data/lib/datadog/tracing/contrib/active_support/patcher.rb +27 -0
  303. data/lib/datadog/tracing/contrib/analytics.rb +29 -0
  304. data/lib/datadog/tracing/contrib/auto_instrument.rb +53 -0
  305. data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +35 -0
  306. data/lib/datadog/tracing/contrib/aws/ext.rb +27 -0
  307. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +95 -0
  308. data/lib/datadog/tracing/contrib/aws/integration.rb +47 -0
  309. data/lib/datadog/tracing/contrib/aws/parsed_context.rb +60 -0
  310. data/lib/datadog/tracing/contrib/aws/patcher.rb +57 -0
  311. data/lib/datadog/tracing/contrib/aws/services.rb +123 -0
  312. data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +23 -0
  313. data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +46 -0
  314. data/lib/datadog/tracing/contrib/concurrent_ruby/ext.rb +16 -0
  315. data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +27 -0
  316. data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +43 -0
  317. data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +33 -0
  318. data/lib/datadog/tracing/contrib/configurable.rb +102 -0
  319. data/lib/datadog/tracing/contrib/configuration/resolver.rb +85 -0
  320. data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +43 -0
  321. data/lib/datadog/tracing/contrib/configuration/settings.rb +43 -0
  322. data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +35 -0
  323. data/lib/datadog/tracing/contrib/dalli/ext.rb +24 -0
  324. data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +58 -0
  325. data/lib/datadog/tracing/contrib/dalli/integration.rb +52 -0
  326. data/lib/datadog/tracing/contrib/dalli/patcher.rb +29 -0
  327. data/lib/datadog/tracing/contrib/dalli/quantize.rb +26 -0
  328. data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +38 -0
  329. data/lib/datadog/tracing/contrib/delayed_job/ext.rb +26 -0
  330. data/lib/datadog/tracing/contrib/delayed_job/integration.rb +43 -0
  331. data/lib/datadog/tracing/contrib/delayed_job/patcher.rb +32 -0
  332. data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +101 -0
  333. data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +36 -0
  334. data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +26 -0
  335. data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +44 -0
  336. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +115 -0
  337. data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +89 -0
  338. data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +37 -0
  339. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +177 -0
  340. data/lib/datadog/tracing/contrib/ethon/ext.rb +24 -0
  341. data/lib/datadog/tracing/contrib/ethon/integration.rb +48 -0
  342. data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +96 -0
  343. data/lib/datadog/tracing/contrib/ethon/patcher.rb +32 -0
  344. data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +38 -0
  345. data/lib/datadog/tracing/contrib/excon/ext.rb +21 -0
  346. data/lib/datadog/tracing/contrib/excon/integration.rb +48 -0
  347. data/lib/datadog/tracing/contrib/excon/middleware.rb +170 -0
  348. data/lib/datadog/tracing/contrib/excon/patcher.rb +31 -0
  349. data/lib/datadog/tracing/contrib/extensions.rb +199 -0
  350. data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +42 -0
  351. data/lib/datadog/tracing/contrib/faraday/connection.rb +22 -0
  352. data/lib/datadog/tracing/contrib/faraday/ext.rb +21 -0
  353. data/lib/datadog/tracing/contrib/faraday/integration.rb +48 -0
  354. data/lib/datadog/tracing/contrib/faraday/middleware.rb +93 -0
  355. data/lib/datadog/tracing/contrib/faraday/patcher.rb +57 -0
  356. data/lib/datadog/tracing/contrib/faraday/rack_builder.rb +22 -0
  357. data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +42 -0
  358. data/lib/datadog/tracing/contrib/grape/endpoint.rb +253 -0
  359. data/lib/datadog/tracing/contrib/grape/ext.rb +28 -0
  360. data/lib/datadog/tracing/contrib/grape/instrumentation.rb +37 -0
  361. data/lib/datadog/tracing/contrib/grape/integration.rb +44 -0
  362. data/lib/datadog/tracing/contrib/grape/patcher.rb +34 -0
  363. data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +36 -0
  364. data/lib/datadog/tracing/contrib/graphql/ext.rb +19 -0
  365. data/lib/datadog/tracing/contrib/graphql/integration.rb +44 -0
  366. data/lib/datadog/tracing/contrib/graphql/patcher.rb +92 -0
  367. data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +37 -0
  368. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +84 -0
  369. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +90 -0
  370. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +104 -0
  371. data/lib/datadog/tracing/contrib/grpc/ext.rb +23 -0
  372. data/lib/datadog/tracing/contrib/grpc/integration.rb +43 -0
  373. data/lib/datadog/tracing/contrib/grpc/intercept_with_datadog.rb +53 -0
  374. data/lib/datadog/tracing/contrib/grpc/patcher.rb +38 -0
  375. data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +44 -0
  376. data/lib/datadog/tracing/contrib/http/configuration/settings.rb +37 -0
  377. data/lib/datadog/tracing/contrib/http/ext.rb +21 -0
  378. data/lib/datadog/tracing/contrib/http/instrumentation.rb +139 -0
  379. data/lib/datadog/tracing/contrib/http/integration.rb +49 -0
  380. data/lib/datadog/tracing/contrib/http/patcher.rb +30 -0
  381. data/lib/datadog/tracing/contrib/http_annotation_helper.rb +17 -0
  382. data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +37 -0
  383. data/lib/datadog/tracing/contrib/httpclient/ext.rb +21 -0
  384. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +117 -0
  385. data/lib/datadog/tracing/contrib/httpclient/integration.rb +48 -0
  386. data/lib/datadog/tracing/contrib/httpclient/patcher.rb +42 -0
  387. data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +37 -0
  388. data/lib/datadog/tracing/contrib/httprb/ext.rb +21 -0
  389. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +128 -0
  390. data/lib/datadog/tracing/contrib/httprb/integration.rb +48 -0
  391. data/lib/datadog/tracing/contrib/httprb/patcher.rb +42 -0
  392. data/lib/datadog/tracing/contrib/integration.rb +78 -0
  393. data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +35 -0
  394. data/lib/datadog/tracing/contrib/kafka/consumer_event.rb +18 -0
  395. data/lib/datadog/tracing/contrib/kafka/consumer_group_event.rb +18 -0
  396. data/lib/datadog/tracing/contrib/kafka/event.rb +52 -0
  397. data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +42 -0
  398. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +49 -0
  399. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +47 -0
  400. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +47 -0
  401. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +37 -0
  402. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +37 -0
  403. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +37 -0
  404. data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +40 -0
  405. data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +43 -0
  406. data/lib/datadog/tracing/contrib/kafka/events.rb +48 -0
  407. data/lib/datadog/tracing/contrib/kafka/ext.rb +52 -0
  408. data/lib/datadog/tracing/contrib/kafka/integration.rb +44 -0
  409. data/lib/datadog/tracing/contrib/kafka/patcher.rb +30 -0
  410. data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +23 -0
  411. data/lib/datadog/tracing/contrib/lograge/ext.rb +15 -0
  412. data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +46 -0
  413. data/lib/datadog/tracing/contrib/lograge/integration.rb +50 -0
  414. data/lib/datadog/tracing/contrib/lograge/patcher.rb +29 -0
  415. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +38 -0
  416. data/lib/datadog/tracing/contrib/mongodb/ext.rb +27 -0
  417. data/lib/datadog/tracing/contrib/mongodb/instrumentation.rb +47 -0
  418. data/lib/datadog/tracing/contrib/mongodb/integration.rb +48 -0
  419. data/lib/datadog/tracing/contrib/mongodb/parsers.rb +49 -0
  420. data/lib/datadog/tracing/contrib/mongodb/patcher.rb +34 -0
  421. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +121 -0
  422. data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +35 -0
  423. data/lib/datadog/tracing/contrib/mysql2/ext.rb +22 -0
  424. data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +62 -0
  425. data/lib/datadog/tracing/contrib/mysql2/integration.rb +43 -0
  426. data/lib/datadog/tracing/contrib/mysql2/patcher.rb +31 -0
  427. data/lib/datadog/tracing/contrib/patchable.rb +109 -0
  428. data/lib/datadog/tracing/contrib/patcher.rb +74 -0
  429. data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +35 -0
  430. data/lib/datadog/tracing/contrib/presto/ext.rb +32 -0
  431. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +125 -0
  432. data/lib/datadog/tracing/contrib/presto/integration.rb +43 -0
  433. data/lib/datadog/tracing/contrib/presto/patcher.rb +37 -0
  434. data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +40 -0
  435. data/lib/datadog/tracing/contrib/qless/ext.rb +26 -0
  436. data/lib/datadog/tracing/contrib/qless/integration.rb +43 -0
  437. data/lib/datadog/tracing/contrib/qless/patcher.rb +39 -0
  438. data/lib/datadog/tracing/contrib/qless/qless_job.rb +75 -0
  439. data/lib/datadog/tracing/contrib/qless/tracer_cleaner.rb +32 -0
  440. data/lib/datadog/tracing/contrib/que/configuration/settings.rb +49 -0
  441. data/lib/datadog/tracing/contrib/que/ext.rb +34 -0
  442. data/lib/datadog/tracing/contrib/que/integration.rb +46 -0
  443. data/lib/datadog/tracing/contrib/que/patcher.rb +29 -0
  444. data/lib/datadog/tracing/contrib/que/tracer.rb +61 -0
  445. data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +35 -0
  446. data/lib/datadog/tracing/contrib/racecar/event.rb +79 -0
  447. data/lib/datadog/tracing/contrib/racecar/events/batch.rb +35 -0
  448. data/lib/datadog/tracing/contrib/racecar/events/consume.rb +35 -0
  449. data/lib/datadog/tracing/contrib/racecar/events/message.rb +35 -0
  450. data/lib/datadog/tracing/contrib/racecar/events.rb +36 -0
  451. data/lib/datadog/tracing/contrib/racecar/ext.rb +31 -0
  452. data/lib/datadog/tracing/contrib/racecar/integration.rb +44 -0
  453. data/lib/datadog/tracing/contrib/racecar/patcher.rb +30 -0
  454. data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +51 -0
  455. data/lib/datadog/tracing/contrib/rack/ext.rb +25 -0
  456. data/lib/datadog/tracing/contrib/rack/integration.rb +50 -0
  457. data/lib/datadog/tracing/contrib/rack/middlewares.rb +255 -0
  458. data/lib/datadog/tracing/contrib/rack/patcher.rb +109 -0
  459. data/lib/datadog/tracing/contrib/rack/request_queue.rb +48 -0
  460. data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +12 -0
  461. data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +71 -0
  462. data/lib/datadog/tracing/contrib/rails/ext.rb +19 -0
  463. data/lib/datadog/tracing/contrib/rails/framework.rb +152 -0
  464. data/lib/datadog/tracing/contrib/rails/integration.rb +49 -0
  465. data/lib/datadog/tracing/contrib/rails/log_injection.rb +47 -0
  466. data/lib/datadog/tracing/contrib/rails/middlewares.rb +47 -0
  467. data/lib/datadog/tracing/contrib/rails/patcher.rb +121 -0
  468. data/lib/datadog/tracing/contrib/rails/railtie.rb +19 -0
  469. data/lib/datadog/tracing/contrib/rails/utils.rb +28 -0
  470. data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +36 -0
  471. data/lib/datadog/tracing/contrib/rake/ext.rb +26 -0
  472. data/lib/datadog/tracing/contrib/rake/instrumentation.rb +98 -0
  473. data/lib/datadog/tracing/contrib/rake/integration.rb +43 -0
  474. data/lib/datadog/tracing/contrib/rake/patcher.rb +35 -0
  475. data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +49 -0
  476. data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +40 -0
  477. data/lib/datadog/tracing/contrib/redis/ext.rb +26 -0
  478. data/lib/datadog/tracing/contrib/redis/instrumentation.rb +78 -0
  479. data/lib/datadog/tracing/contrib/redis/integration.rb +47 -0
  480. data/lib/datadog/tracing/contrib/redis/patcher.rb +36 -0
  481. data/lib/datadog/tracing/contrib/redis/quantize.rb +79 -0
  482. data/lib/datadog/tracing/contrib/redis/tags.rb +54 -0
  483. data/lib/datadog/tracing/contrib/redis/vendor/resolver.rb +162 -0
  484. data/lib/datadog/tracing/contrib/registerable.rb +50 -0
  485. data/lib/datadog/tracing/contrib/registry.rb +52 -0
  486. data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +37 -0
  487. data/lib/datadog/tracing/contrib/resque/ext.rb +21 -0
  488. data/lib/datadog/tracing/contrib/resque/integration.rb +48 -0
  489. data/lib/datadog/tracing/contrib/resque/patcher.rb +30 -0
  490. data/lib/datadog/tracing/contrib/resque/resque_job.rb +103 -0
  491. data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +36 -0
  492. data/lib/datadog/tracing/contrib/rest_client/ext.rb +21 -0
  493. data/lib/datadog/tracing/contrib/rest_client/integration.rb +43 -0
  494. data/lib/datadog/tracing/contrib/rest_client/patcher.rb +30 -0
  495. data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +105 -0
  496. data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +23 -0
  497. data/lib/datadog/tracing/contrib/semantic_logger/ext.rb +15 -0
  498. data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +50 -0
  499. data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +52 -0
  500. data/lib/datadog/tracing/contrib/semantic_logger/patcher.rb +29 -0
  501. data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +33 -0
  502. data/lib/datadog/tracing/contrib/sequel/database.rb +60 -0
  503. data/lib/datadog/tracing/contrib/sequel/dataset.rb +65 -0
  504. data/lib/datadog/tracing/contrib/sequel/ext.rb +22 -0
  505. data/lib/datadog/tracing/contrib/sequel/integration.rb +43 -0
  506. data/lib/datadog/tracing/contrib/sequel/patcher.rb +37 -0
  507. data/lib/datadog/tracing/contrib/sequel/utils.rb +87 -0
  508. data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +38 -0
  509. data/lib/datadog/tracing/contrib/shoryuken/ext.rb +25 -0
  510. data/lib/datadog/tracing/contrib/shoryuken/integration.rb +44 -0
  511. data/lib/datadog/tracing/contrib/shoryuken/patcher.rb +28 -0
  512. data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +61 -0
  513. data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +53 -0
  514. data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +43 -0
  515. data/lib/datadog/tracing/contrib/sidekiq/ext.rb +38 -0
  516. data/lib/datadog/tracing/contrib/sidekiq/integration.rb +53 -0
  517. data/lib/datadog/tracing/contrib/sidekiq/patcher.rb +71 -0
  518. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb +34 -0
  519. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch.rb +34 -0
  520. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_push.rb +33 -0
  521. data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +79 -0
  522. data/lib/datadog/tracing/contrib/sidekiq/tracing.rb +44 -0
  523. data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +43 -0
  524. data/lib/datadog/tracing/contrib/sinatra/env.rb +66 -0
  525. data/lib/datadog/tracing/contrib/sinatra/ext.rb +32 -0
  526. data/lib/datadog/tracing/contrib/sinatra/framework.rb +107 -0
  527. data/lib/datadog/tracing/contrib/sinatra/headers.rb +35 -0
  528. data/lib/datadog/tracing/contrib/sinatra/integration.rb +43 -0
  529. data/lib/datadog/tracing/contrib/sinatra/patcher.rb +77 -0
  530. data/lib/datadog/tracing/contrib/sinatra/tracer.rb +159 -0
  531. data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +123 -0
  532. data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +38 -0
  533. data/lib/datadog/tracing/contrib/sneakers/ext.rb +26 -0
  534. data/lib/datadog/tracing/contrib/sneakers/integration.rb +46 -0
  535. data/lib/datadog/tracing/contrib/sneakers/patcher.rb +30 -0
  536. data/lib/datadog/tracing/contrib/sneakers/tracer.rb +58 -0
  537. data/lib/datadog/tracing/contrib/status_code_matcher.rb +75 -0
  538. data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +35 -0
  539. data/lib/datadog/tracing/contrib/sucker_punch/exception_handler.rb +28 -0
  540. data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +27 -0
  541. data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +105 -0
  542. data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +43 -0
  543. data/lib/datadog/tracing/contrib/sucker_punch/patcher.rb +38 -0
  544. data/lib/datadog/tracing/contrib/utils/database.rb +31 -0
  545. data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +111 -0
  546. data/lib/datadog/tracing/contrib/utils/quantization/http.rb +99 -0
  547. data/lib/datadog/tracing/contrib.rb +76 -0
  548. data/lib/datadog/tracing/correlation.rb +100 -0
  549. data/lib/datadog/tracing/distributed/headers/b3.rb +55 -0
  550. data/lib/datadog/tracing/distributed/headers/b3_single.rb +67 -0
  551. data/lib/datadog/tracing/distributed/headers/datadog.rb +52 -0
  552. data/lib/datadog/tracing/distributed/headers/ext.rb +31 -0
  553. data/lib/datadog/tracing/distributed/helpers.rb +44 -0
  554. data/lib/datadog/tracing/distributed/parser.rb +70 -0
  555. data/lib/datadog/tracing/event.rb +77 -0
  556. data/lib/datadog/tracing/flush.rb +74 -0
  557. data/lib/datadog/tracing/metadata/analytics.rb +26 -0
  558. data/lib/datadog/tracing/metadata/errors.rb +24 -0
  559. data/lib/datadog/tracing/metadata/ext.rb +151 -0
  560. data/lib/datadog/tracing/metadata/tagging.rb +110 -0
  561. data/lib/datadog/tracing/metadata.rb +20 -0
  562. data/lib/datadog/tracing/pipeline/span_filter.rb +42 -0
  563. data/lib/datadog/tracing/pipeline/span_processor.rb +39 -0
  564. data/lib/datadog/tracing/pipeline.rb +65 -0
  565. data/lib/datadog/tracing/propagation/grpc.rb +88 -0
  566. data/lib/datadog/tracing/propagation/http.rb +109 -0
  567. data/lib/datadog/tracing/runtime/metrics.rb +19 -0
  568. data/lib/datadog/tracing/sampling/all_sampler.rb +25 -0
  569. data/lib/datadog/tracing/sampling/ext.rb +27 -0
  570. data/lib/datadog/tracing/sampling/matcher.rb +68 -0
  571. data/lib/datadog/tracing/sampling/priority_sampler.rb +113 -0
  572. data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +97 -0
  573. data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +41 -0
  574. data/lib/datadog/tracing/sampling/rate_limiter.rb +185 -0
  575. data/lib/datadog/tracing/sampling/rate_sampler.rb +55 -0
  576. data/lib/datadog/tracing/sampling/rule.rb +70 -0
  577. data/lib/datadog/tracing/sampling/rule_sampler.rb +133 -0
  578. data/lib/datadog/tracing/sampling/sampler.rb +44 -0
  579. data/lib/datadog/tracing/span.rb +212 -0
  580. data/lib/datadog/tracing/span_operation.rb +521 -0
  581. data/lib/datadog/tracing/sync_writer.rb +69 -0
  582. data/lib/datadog/tracing/trace_digest.rb +60 -0
  583. data/lib/datadog/tracing/trace_operation.rb +432 -0
  584. data/lib/datadog/tracing/trace_segment.rb +207 -0
  585. data/lib/datadog/tracing/tracer.rb +505 -0
  586. data/lib/datadog/tracing/workers/trace_writer.rb +195 -0
  587. data/lib/datadog/tracing/workers.rb +125 -0
  588. data/lib/datadog/tracing/writer.rb +180 -0
  589. data/lib/datadog/tracing.rb +142 -0
  590. data/lib/ddtrace/auto_instrument.rb +7 -1
  591. data/lib/ddtrace/auto_instrument_base.rb +2 -0
  592. data/lib/ddtrace/profiling/preload.rb +3 -2
  593. data/lib/ddtrace/transport/ext.rb +35 -0
  594. data/lib/ddtrace/transport/http/adapters/net.rb +17 -5
  595. data/lib/ddtrace/transport/http/adapters/registry.rb +2 -0
  596. data/lib/ddtrace/transport/http/adapters/test.rb +6 -2
  597. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +25 -12
  598. data/lib/ddtrace/transport/http/api/endpoint.rb +2 -0
  599. data/lib/ddtrace/transport/http/api/fallbacks.rb +2 -0
  600. data/lib/ddtrace/transport/http/api/instance.rb +2 -0
  601. data/lib/ddtrace/transport/http/api/map.rb +2 -0
  602. data/lib/ddtrace/transport/http/api/spec.rb +2 -0
  603. data/lib/ddtrace/transport/http/api.rb +6 -11
  604. data/lib/ddtrace/transport/http/builder.rb +15 -6
  605. data/lib/ddtrace/transport/http/client.rb +4 -1
  606. data/lib/ddtrace/transport/http/env.rb +2 -0
  607. data/lib/ddtrace/transport/http/response.rb +2 -0
  608. data/lib/ddtrace/transport/http/statistics.rb +2 -0
  609. data/lib/ddtrace/transport/http/traces.rb +4 -0
  610. data/lib/ddtrace/transport/http.rb +38 -36
  611. data/lib/ddtrace/transport/io/client.rb +3 -1
  612. data/lib/ddtrace/transport/io/response.rb +2 -0
  613. data/lib/ddtrace/transport/io/traces.rb +5 -1
  614. data/lib/ddtrace/transport/io.rb +4 -2
  615. data/lib/ddtrace/transport/parcel.rb +5 -0
  616. data/lib/ddtrace/transport/request.rb +2 -0
  617. data/lib/ddtrace/transport/response.rb +2 -0
  618. data/lib/ddtrace/transport/serializable_trace.rb +118 -0
  619. data/lib/ddtrace/transport/statistics.rb +7 -4
  620. data/lib/ddtrace/transport/trace_formatter.rb +187 -0
  621. data/lib/ddtrace/transport/traces.rb +18 -7
  622. data/lib/ddtrace/version.rb +15 -12
  623. data/lib/ddtrace.rb +9 -79
  624. metadata +591 -1012
  625. data/.circleci/config.yml +0 -870
  626. data/.circleci/images/primary/Dockerfile-2.1.10 +0 -83
  627. data/.circleci/images/primary/Dockerfile-2.2.10 +0 -83
  628. data/.circleci/images/primary/Dockerfile-2.3.8 +0 -85
  629. data/.circleci/images/primary/Dockerfile-2.4.6 +0 -83
  630. data/.circleci/images/primary/Dockerfile-2.5.6 +0 -83
  631. data/.circleci/images/primary/Dockerfile-2.6.4 +0 -83
  632. data/.circleci/images/primary/Dockerfile-2.7.0 +0 -83
  633. data/.circleci/images/primary/Dockerfile-3.0.0 +0 -73
  634. data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +0 -88
  635. data/.circleci/images/primary/Dockerfile-jruby-9.2.0.0 +0 -73
  636. data/.circleci/images/primary/Dockerfile-truffleruby-21.1.0 +0 -73
  637. data/.dockerignore +0 -0
  638. data/.env +0 -26
  639. data/.github/CODEOWNERS +0 -1
  640. data/.github/workflows/add-milestone-to-pull-requests.yml +0 -42
  641. data/.github/workflows/create-next-milestone.yml +0 -20
  642. data/.gitlab-ci.yml +0 -27
  643. data/.rspec +0 -1
  644. data/.rubocop.yml +0 -351
  645. data/.rubocop_todo.yml +0 -438
  646. data/.simplecov +0 -47
  647. data/.yardopts +0 -5
  648. data/Appraisals +0 -1323
  649. data/Gemfile +0 -69
  650. data/Rakefile +0 -939
  651. data/benchmarks/data/profiler-submission-marshal.gz +0 -0
  652. data/benchmarks/postgres_database.yml +0 -9
  653. data/benchmarks/profiler_sample_loop.rb +0 -69
  654. data/benchmarks/profiler_submission.rb +0 -93
  655. data/benchmarks/sidekiq_test.rb +0 -154
  656. data/docker-compose.yml +0 -414
  657. data/gemfiles/jruby_9.2.0.0_contrib.gemfile +0 -79
  658. data/gemfiles/jruby_9.2.0.0_contrib.gemfile.lock +0 -1518
  659. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile +0 -35
  660. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile.lock +0 -157
  661. data/gemfiles/jruby_9.2.0.0_core_old.gemfile +0 -34
  662. data/gemfiles/jruby_9.2.0.0_core_old.gemfile.lock +0 -153
  663. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile +0 -35
  664. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile.lock +0 -174
  665. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile +0 -35
  666. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile.lock +0 -206
  667. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile +0 -35
  668. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile.lock +0 -206
  669. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile +0 -40
  670. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile.lock +0 -271
  671. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile +0 -40
  672. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile.lock +0 -271
  673. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile +0 -41
  674. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile.lock +0 -273
  675. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile +0 -41
  676. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile.lock +0 -273
  677. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile +0 -42
  678. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile.lock +0 -279
  679. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile +0 -40
  680. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile.lock +0 -290
  681. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile +0 -40
  682. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile.lock +0 -290
  683. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile +0 -41
  684. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile.lock +0 -292
  685. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile +0 -41
  686. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile.lock +0 -297
  687. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile +0 -40
  688. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile.lock +0 -287
  689. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile +0 -40
  690. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile.lock +0 -287
  691. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile +0 -41
  692. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile.lock +0 -289
  693. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile +0 -41
  694. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile.lock +0 -289
  695. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile +0 -42
  696. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile.lock +0 -295
  697. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile +0 -36
  698. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile.lock +0 -180
  699. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile +0 -36
  700. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile.lock +0 -180
  701. data/gemfiles/jruby_9.2.11.1_contrib.gemfile +0 -79
  702. data/gemfiles/jruby_9.2.11.1_contrib.gemfile.lock +0 -1518
  703. data/gemfiles/jruby_9.2.11.1_contrib_old.gemfile +0 -35
  704. data/gemfiles/jruby_9.2.11.1_contrib_old.gemfile.lock +0 -157
  705. data/gemfiles/jruby_9.2.11.1_core_old.gemfile +0 -34
  706. data/gemfiles/jruby_9.2.11.1_core_old.gemfile.lock +0 -153
  707. data/gemfiles/jruby_9.2.11.1_cucumber3.gemfile +0 -35
  708. data/gemfiles/jruby_9.2.11.1_cucumber3.gemfile.lock +0 -174
  709. data/gemfiles/jruby_9.2.11.1_cucumber4.gemfile +0 -35
  710. data/gemfiles/jruby_9.2.11.1_cucumber4.gemfile.lock +0 -206
  711. data/gemfiles/jruby_9.2.11.1_cucumber5.gemfile +0 -35
  712. data/gemfiles/jruby_9.2.11.1_cucumber5.gemfile.lock +0 -206
  713. data/gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile +0 -40
  714. data/gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile.lock +0 -271
  715. data/gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile +0 -40
  716. data/gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile.lock +0 -271
  717. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile +0 -41
  718. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile.lock +0 -273
  719. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile +0 -41
  720. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile.lock +0 -273
  721. data/gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile +0 -42
  722. data/gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile.lock +0 -279
  723. data/gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile +0 -40
  724. data/gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile.lock +0 -290
  725. data/gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile +0 -40
  726. data/gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile.lock +0 -290
  727. data/gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile +0 -41
  728. data/gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile.lock +0 -292
  729. data/gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile +0 -41
  730. data/gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile.lock +0 -297
  731. data/gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile +0 -40
  732. data/gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile.lock +0 -287
  733. data/gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile +0 -40
  734. data/gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile.lock +0 -287
  735. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile +0 -41
  736. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile.lock +0 -289
  737. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile +0 -41
  738. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile.lock +0 -289
  739. data/gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile +0 -42
  740. data/gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile.lock +0 -295
  741. data/gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile +0 -36
  742. data/gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile.lock +0 -180
  743. data/gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile +0 -36
  744. data/gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile.lock +0 -180
  745. data/gemfiles/ruby_2.1.10_contrib_old.gemfile +0 -66
  746. data/gemfiles/ruby_2.1.10_contrib_old.gemfile.lock +0 -305
  747. data/gemfiles/ruby_2.1.10_core_old.gemfile +0 -33
  748. data/gemfiles/ruby_2.1.10_core_old.gemfile.lock +0 -118
  749. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile +0 -39
  750. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile.lock +0 -196
  751. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile +0 -40
  752. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile.lock +0 -205
  753. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile +0 -42
  754. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile.lock +0 -215
  755. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile +0 -39
  756. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile.lock +0 -204
  757. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile +0 -41
  758. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile.lock +0 -223
  759. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile +0 -40
  760. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile.lock +0 -213
  761. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile +0 -38
  762. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile.lock +0 -218
  763. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile +0 -38
  764. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile.lock +0 -218
  765. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile +0 -40
  766. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile.lock +0 -237
  767. data/gemfiles/ruby_2.2.10_contrib.gemfile +0 -73
  768. data/gemfiles/ruby_2.2.10_contrib.gemfile.lock +0 -1450
  769. data/gemfiles/ruby_2.2.10_core_old.gemfile +0 -33
  770. data/gemfiles/ruby_2.2.10_core_old.gemfile.lock +0 -118
  771. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile +0 -39
  772. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile.lock +0 -196
  773. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile +0 -40
  774. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile.lock +0 -205
  775. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile +0 -41
  776. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile.lock +0 -212
  777. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile +0 -39
  778. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile.lock +0 -204
  779. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile +0 -41
  780. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile.lock +0 -223
  781. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile +0 -40
  782. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile.lock +0 -213
  783. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile +0 -38
  784. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile.lock +0 -218
  785. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile +0 -38
  786. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile.lock +0 -218
  787. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile +0 -40
  788. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile.lock +0 -237
  789. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile +0 -40
  790. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile.lock +0 -229
  791. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile +0 -38
  792. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile.lock +0 -234
  793. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile +0 -38
  794. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile.lock +0 -234
  795. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile +0 -39
  796. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile.lock +0 -236
  797. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile +0 -39
  798. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile.lock +0 -236
  799. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile +0 -40
  800. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile.lock +0 -245
  801. data/gemfiles/ruby_2.3.8_contrib.gemfile +0 -73
  802. data/gemfiles/ruby_2.3.8_contrib.gemfile.lock +0 -1459
  803. data/gemfiles/ruby_2.3.8_contrib_old.gemfile +0 -34
  804. data/gemfiles/ruby_2.3.8_contrib_old.gemfile.lock +0 -127
  805. data/gemfiles/ruby_2.3.8_core_old.gemfile +0 -33
  806. data/gemfiles/ruby_2.3.8_core_old.gemfile.lock +0 -123
  807. data/gemfiles/ruby_2.3.8_cucumber3.gemfile +0 -34
  808. data/gemfiles/ruby_2.3.8_cucumber3.gemfile.lock +0 -144
  809. data/gemfiles/ruby_2.3.8_cucumber4.gemfile +0 -34
  810. data/gemfiles/ruby_2.3.8_cucumber4.gemfile.lock +0 -174
  811. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile +0 -39
  812. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile.lock +0 -201
  813. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile +0 -40
  814. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile.lock +0 -210
  815. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile +0 -41
  816. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile.lock +0 -217
  817. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile +0 -39
  818. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile.lock +0 -209
  819. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile +0 -41
  820. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile.lock +0 -228
  821. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile +0 -40
  822. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile.lock +0 -218
  823. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile +0 -38
  824. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile.lock +0 -223
  825. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile +0 -38
  826. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile.lock +0 -223
  827. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile +0 -40
  828. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile.lock +0 -242
  829. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile +0 -40
  830. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile.lock +0 -234
  831. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile +0 -37
  832. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile.lock +0 -234
  833. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile +0 -37
  834. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile.lock +0 -234
  835. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile +0 -38
  836. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile.lock +0 -236
  837. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile +0 -38
  838. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile.lock +0 -236
  839. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile +0 -39
  840. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile.lock +0 -245
  841. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile +0 -35
  842. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile.lock +0 -150
  843. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile +0 -35
  844. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile.lock +0 -150
  845. data/gemfiles/ruby_2.4.6_contrib.gemfile +0 -78
  846. data/gemfiles/ruby_2.4.6_contrib.gemfile.lock +0 -1513
  847. data/gemfiles/ruby_2.4.6_contrib_old.gemfile +0 -38
  848. data/gemfiles/ruby_2.4.6_contrib_old.gemfile.lock +0 -155
  849. data/gemfiles/ruby_2.4.6_core_old.gemfile +0 -37
  850. data/gemfiles/ruby_2.4.6_core_old.gemfile.lock +0 -151
  851. data/gemfiles/ruby_2.4.6_cucumber3.gemfile +0 -38
  852. data/gemfiles/ruby_2.4.6_cucumber3.gemfile.lock +0 -172
  853. data/gemfiles/ruby_2.4.6_cucumber4.gemfile +0 -38
  854. data/gemfiles/ruby_2.4.6_cucumber4.gemfile.lock +0 -202
  855. data/gemfiles/ruby_2.4.6_rails5_mysql2.gemfile +0 -41
  856. data/gemfiles/ruby_2.4.6_rails5_mysql2.gemfile.lock +0 -262
  857. data/gemfiles/ruby_2.4.6_rails5_postgres.gemfile +0 -41
  858. data/gemfiles/ruby_2.4.6_rails5_postgres.gemfile.lock +0 -262
  859. data/gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile +0 -42
  860. data/gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile.lock +0 -264
  861. data/gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile +0 -42
  862. data/gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile.lock +0 -264
  863. data/gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile +0 -43
  864. data/gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile.lock +0 -273
  865. data/gemfiles/ruby_2.4.6_resque2_redis3.gemfile +0 -39
  866. data/gemfiles/ruby_2.4.6_resque2_redis3.gemfile.lock +0 -178
  867. data/gemfiles/ruby_2.4.6_resque2_redis4.gemfile +0 -39
  868. data/gemfiles/ruby_2.4.6_resque2_redis4.gemfile.lock +0 -178
  869. data/gemfiles/ruby_2.5.6_contrib.gemfile +0 -83
  870. data/gemfiles/ruby_2.5.6_contrib.gemfile.lock +0 -1526
  871. data/gemfiles/ruby_2.5.6_contrib_old.gemfile +0 -39
  872. data/gemfiles/ruby_2.5.6_contrib_old.gemfile.lock +0 -165
  873. data/gemfiles/ruby_2.5.6_core_old.gemfile +0 -38
  874. data/gemfiles/ruby_2.5.6_core_old.gemfile.lock +0 -161
  875. data/gemfiles/ruby_2.5.6_cucumber3.gemfile +0 -39
  876. data/gemfiles/ruby_2.5.6_cucumber3.gemfile.lock +0 -182
  877. data/gemfiles/ruby_2.5.6_cucumber4.gemfile +0 -39
  878. data/gemfiles/ruby_2.5.6_cucumber4.gemfile.lock +0 -214
  879. data/gemfiles/ruby_2.5.6_cucumber5.gemfile +0 -39
  880. data/gemfiles/ruby_2.5.6_cucumber5.gemfile.lock +0 -214
  881. data/gemfiles/ruby_2.5.6_rails5_mysql2.gemfile +0 -44
  882. data/gemfiles/ruby_2.5.6_rails5_mysql2.gemfile.lock +0 -276
  883. data/gemfiles/ruby_2.5.6_rails5_postgres.gemfile +0 -44
  884. data/gemfiles/ruby_2.5.6_rails5_postgres.gemfile.lock +0 -276
  885. data/gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile +0 -45
  886. data/gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile.lock +0 -278
  887. data/gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile +0 -45
  888. data/gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile.lock +0 -278
  889. data/gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile +0 -46
  890. data/gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile.lock +0 -284
  891. data/gemfiles/ruby_2.5.6_rails61_mysql2.gemfile +0 -44
  892. data/gemfiles/ruby_2.5.6_rails61_mysql2.gemfile.lock +0 -295
  893. data/gemfiles/ruby_2.5.6_rails61_postgres.gemfile +0 -44
  894. data/gemfiles/ruby_2.5.6_rails61_postgres.gemfile.lock +0 -295
  895. data/gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile +0 -45
  896. data/gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile.lock +0 -297
  897. data/gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile +0 -45
  898. data/gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile.lock +0 -302
  899. data/gemfiles/ruby_2.5.6_rails6_mysql2.gemfile +0 -44
  900. data/gemfiles/ruby_2.5.6_rails6_mysql2.gemfile.lock +0 -292
  901. data/gemfiles/ruby_2.5.6_rails6_postgres.gemfile +0 -44
  902. data/gemfiles/ruby_2.5.6_rails6_postgres.gemfile.lock +0 -292
  903. data/gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile +0 -45
  904. data/gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile.lock +0 -294
  905. data/gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile +0 -45
  906. data/gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile.lock +0 -294
  907. data/gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile +0 -46
  908. data/gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile.lock +0 -300
  909. data/gemfiles/ruby_2.5.6_resque2_redis3.gemfile +0 -40
  910. data/gemfiles/ruby_2.5.6_resque2_redis3.gemfile.lock +0 -188
  911. data/gemfiles/ruby_2.5.6_resque2_redis4.gemfile +0 -40
  912. data/gemfiles/ruby_2.5.6_resque2_redis4.gemfile.lock +0 -188
  913. data/gemfiles/ruby_2.6.4_contrib.gemfile +0 -79
  914. data/gemfiles/ruby_2.6.4_contrib.gemfile.lock +0 -1524
  915. data/gemfiles/ruby_2.6.4_contrib_old.gemfile +0 -39
  916. data/gemfiles/ruby_2.6.4_contrib_old.gemfile.lock +0 -167
  917. data/gemfiles/ruby_2.6.4_core_old.gemfile +0 -38
  918. data/gemfiles/ruby_2.6.4_core_old.gemfile.lock +0 -163
  919. data/gemfiles/ruby_2.6.4_cucumber3.gemfile +0 -39
  920. data/gemfiles/ruby_2.6.4_cucumber3.gemfile.lock +0 -184
  921. data/gemfiles/ruby_2.6.4_cucumber4.gemfile +0 -39
  922. data/gemfiles/ruby_2.6.4_cucumber4.gemfile.lock +0 -216
  923. data/gemfiles/ruby_2.6.4_cucumber5.gemfile +0 -39
  924. data/gemfiles/ruby_2.6.4_cucumber5.gemfile.lock +0 -216
  925. data/gemfiles/ruby_2.6.4_rails5_mysql2.gemfile +0 -42
  926. data/gemfiles/ruby_2.6.4_rails5_mysql2.gemfile.lock +0 -276
  927. data/gemfiles/ruby_2.6.4_rails5_postgres.gemfile +0 -42
  928. data/gemfiles/ruby_2.6.4_rails5_postgres.gemfile.lock +0 -276
  929. data/gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile +0 -43
  930. data/gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile.lock +0 -278
  931. data/gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile +0 -43
  932. data/gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile.lock +0 -278
  933. data/gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile +0 -44
  934. data/gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile.lock +0 -284
  935. data/gemfiles/ruby_2.6.4_rails61_mysql2.gemfile +0 -42
  936. data/gemfiles/ruby_2.6.4_rails61_mysql2.gemfile.lock +0 -295
  937. data/gemfiles/ruby_2.6.4_rails61_postgres.gemfile +0 -42
  938. data/gemfiles/ruby_2.6.4_rails61_postgres.gemfile.lock +0 -295
  939. data/gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile +0 -43
  940. data/gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile.lock +0 -297
  941. data/gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile +0 -43
  942. data/gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile.lock +0 -302
  943. data/gemfiles/ruby_2.6.4_rails6_mysql2.gemfile +0 -42
  944. data/gemfiles/ruby_2.6.4_rails6_mysql2.gemfile.lock +0 -292
  945. data/gemfiles/ruby_2.6.4_rails6_postgres.gemfile +0 -42
  946. data/gemfiles/ruby_2.6.4_rails6_postgres.gemfile.lock +0 -292
  947. data/gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile +0 -43
  948. data/gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile.lock +0 -294
  949. data/gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile +0 -43
  950. data/gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile.lock +0 -294
  951. data/gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile +0 -44
  952. data/gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile.lock +0 -300
  953. data/gemfiles/ruby_2.6.4_resque2_redis3.gemfile +0 -40
  954. data/gemfiles/ruby_2.6.4_resque2_redis3.gemfile.lock +0 -190
  955. data/gemfiles/ruby_2.6.4_resque2_redis4.gemfile +0 -40
  956. data/gemfiles/ruby_2.6.4_resque2_redis4.gemfile.lock +0 -190
  957. data/gemfiles/ruby_2.7.0_contrib.gemfile +0 -78
  958. data/gemfiles/ruby_2.7.0_contrib.gemfile.lock +0 -1523
  959. data/gemfiles/ruby_2.7.0_contrib_old.gemfile +0 -39
  960. data/gemfiles/ruby_2.7.0_contrib_old.gemfile.lock +0 -167
  961. data/gemfiles/ruby_2.7.0_core_old.gemfile +0 -38
  962. data/gemfiles/ruby_2.7.0_core_old.gemfile.lock +0 -163
  963. data/gemfiles/ruby_2.7.0_cucumber3.gemfile +0 -39
  964. data/gemfiles/ruby_2.7.0_cucumber3.gemfile.lock +0 -184
  965. data/gemfiles/ruby_2.7.0_cucumber4.gemfile +0 -39
  966. data/gemfiles/ruby_2.7.0_cucumber4.gemfile.lock +0 -216
  967. data/gemfiles/ruby_2.7.0_cucumber5.gemfile +0 -39
  968. data/gemfiles/ruby_2.7.0_cucumber5.gemfile.lock +0 -216
  969. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile +0 -42
  970. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile.lock +0 -276
  971. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile +0 -42
  972. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile.lock +0 -276
  973. data/gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile +0 -44
  974. data/gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile.lock +0 -295
  975. data/gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile +0 -44
  976. data/gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile.lock +0 -295
  977. data/gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile +0 -44
  978. data/gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile.lock +0 -284
  979. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile +0 -42
  980. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile.lock +0 -295
  981. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile +0 -42
  982. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile.lock +0 -295
  983. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile +0 -43
  984. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile.lock +0 -297
  985. data/gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile +0 -43
  986. data/gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile.lock +0 -302
  987. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile +0 -42
  988. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile.lock +0 -292
  989. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile +0 -42
  990. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile.lock +0 -292
  991. data/gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile +0 -44
  992. data/gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile.lock +0 -311
  993. data/gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile +0 -44
  994. data/gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile.lock +0 -311
  995. data/gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile +0 -44
  996. data/gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile.lock +0 -300
  997. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile +0 -40
  998. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile.lock +0 -190
  999. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile +0 -40
  1000. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile.lock +0 -190
  1001. data/gemfiles/ruby_3.0.0_contrib.gemfile +0 -78
  1002. data/gemfiles/ruby_3.0.0_contrib.gemfile.lock +0 -1540
  1003. data/gemfiles/ruby_3.0.0_core_old.gemfile +0 -39
  1004. data/gemfiles/ruby_3.0.0_core_old.gemfile.lock +0 -165
  1005. data/gemfiles/ruby_3.0.0_cucumber3.gemfile +0 -40
  1006. data/gemfiles/ruby_3.0.0_cucumber3.gemfile.lock +0 -186
  1007. data/gemfiles/ruby_3.0.0_cucumber4.gemfile +0 -40
  1008. data/gemfiles/ruby_3.0.0_cucumber4.gemfile.lock +0 -218
  1009. data/gemfiles/ruby_3.0.0_cucumber5.gemfile +0 -40
  1010. data/gemfiles/ruby_3.0.0_cucumber5.gemfile.lock +0 -218
  1011. data/gemfiles/ruby_3.0.0_rails61_mysql2.gemfile +0 -43
  1012. data/gemfiles/ruby_3.0.0_rails61_mysql2.gemfile.lock +0 -295
  1013. data/gemfiles/ruby_3.0.0_rails61_postgres.gemfile +0 -43
  1014. data/gemfiles/ruby_3.0.0_rails61_postgres.gemfile.lock +0 -295
  1015. data/gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile +0 -44
  1016. data/gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile.lock +0 -297
  1017. data/gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile +0 -44
  1018. data/gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile.lock +0 -302
  1019. data/gemfiles/ruby_3.0.0_resque2_redis3.gemfile +0 -41
  1020. data/gemfiles/ruby_3.0.0_resque2_redis3.gemfile.lock +0 -192
  1021. data/gemfiles/ruby_3.0.0_resque2_redis4.gemfile +0 -41
  1022. data/gemfiles/ruby_3.0.0_resque2_redis4.gemfile.lock +0 -192
  1023. data/integration/README.md +0 -67
  1024. data/integration/apps/rack/.dockerignore +0 -1
  1025. data/integration/apps/rack/.envrc.sample +0 -1
  1026. data/integration/apps/rack/.gitignore +0 -4
  1027. data/integration/apps/rack/.rspec +0 -1
  1028. data/integration/apps/rack/Dockerfile +0 -28
  1029. data/integration/apps/rack/Dockerfile-ci +0 -11
  1030. data/integration/apps/rack/Gemfile +0 -24
  1031. data/integration/apps/rack/README.md +0 -93
  1032. data/integration/apps/rack/app/acme.rb +0 -80
  1033. data/integration/apps/rack/app/datadog.rb +0 -17
  1034. data/integration/apps/rack/bin/run +0 -22
  1035. data/integration/apps/rack/bin/setup +0 -17
  1036. data/integration/apps/rack/bin/test +0 -24
  1037. data/integration/apps/rack/config/puma.rb +0 -14
  1038. data/integration/apps/rack/config/unicorn.rb +0 -23
  1039. data/integration/apps/rack/config.ru +0 -6
  1040. data/integration/apps/rack/docker-compose.ci.yml +0 -62
  1041. data/integration/apps/rack/docker-compose.yml +0 -78
  1042. data/integration/apps/rack/script/build-images +0 -38
  1043. data/integration/apps/rack/script/ci +0 -51
  1044. data/integration/apps/rack/spec/integration/basic_spec.rb +0 -10
  1045. data/integration/apps/rack/spec/spec_helper.rb +0 -16
  1046. data/integration/apps/rack/spec/support/integration_helper.rb +0 -22
  1047. data/integration/apps/rails-five/.dockerignore +0 -1
  1048. data/integration/apps/rails-five/.env +0 -3
  1049. data/integration/apps/rails-five/.envrc.sample +0 -1
  1050. data/integration/apps/rails-five/.gitignore +0 -30
  1051. data/integration/apps/rails-five/Dockerfile +0 -25
  1052. data/integration/apps/rails-five/Dockerfile-ci +0 -11
  1053. data/integration/apps/rails-five/Gemfile +0 -104
  1054. data/integration/apps/rails-five/README.md +0 -94
  1055. data/integration/apps/rails-five/Rakefile +0 -6
  1056. data/integration/apps/rails-five/app/channels/application_cable/channel.rb +0 -4
  1057. data/integration/apps/rails-five/app/channels/application_cable/connection.rb +0 -4
  1058. data/integration/apps/rails-five/app/controllers/application_controller.rb +0 -2
  1059. data/integration/apps/rails-five/app/controllers/basic_controller.rb +0 -36
  1060. data/integration/apps/rails-five/app/controllers/concerns/.keep +0 -0
  1061. data/integration/apps/rails-five/app/controllers/health_controller.rb +0 -9
  1062. data/integration/apps/rails-five/app/controllers/jobs_controller.rb +0 -12
  1063. data/integration/apps/rails-five/app/jobs/application_job.rb +0 -2
  1064. data/integration/apps/rails-five/app/jobs/test_job.rb +0 -12
  1065. data/integration/apps/rails-five/app/mailers/application_mailer.rb +0 -4
  1066. data/integration/apps/rails-five/app/models/application_record.rb +0 -3
  1067. data/integration/apps/rails-five/app/models/concerns/.keep +0 -0
  1068. data/integration/apps/rails-five/app/models/test.rb +0 -2
  1069. data/integration/apps/rails-five/app/views/layouts/mailer.html.erb +0 -13
  1070. data/integration/apps/rails-five/app/views/layouts/mailer.text.erb +0 -1
  1071. data/integration/apps/rails-five/bin/bundle +0 -3
  1072. data/integration/apps/rails-five/bin/rails +0 -9
  1073. data/integration/apps/rails-five/bin/rake +0 -9
  1074. data/integration/apps/rails-five/bin/run +0 -24
  1075. data/integration/apps/rails-five/bin/setup +0 -27
  1076. data/integration/apps/rails-five/bin/spring +0 -17
  1077. data/integration/apps/rails-five/bin/test +0 -21
  1078. data/integration/apps/rails-five/bin/update +0 -28
  1079. data/integration/apps/rails-five/config/application.rb +0 -97
  1080. data/integration/apps/rails-five/config/boot.rb +0 -4
  1081. data/integration/apps/rails-five/config/cable.yml +0 -10
  1082. data/integration/apps/rails-five/config/credentials.yml.enc +0 -1
  1083. data/integration/apps/rails-five/config/database.yml +0 -28
  1084. data/integration/apps/rails-five/config/environment.rb +0 -5
  1085. data/integration/apps/rails-five/config/environments/development.rb +0 -51
  1086. data/integration/apps/rails-five/config/environments/production.rb +0 -82
  1087. data/integration/apps/rails-five/config/environments/test.rb +0 -43
  1088. data/integration/apps/rails-five/config/initializers/datadog.rb +0 -18
  1089. data/integration/apps/rails-five/config/initializers/filter_parameter_logging.rb +0 -4
  1090. data/integration/apps/rails-five/config/initializers/resque.rb +0 -4
  1091. data/integration/apps/rails-five/config/initializers/rollbar.rb +0 -5
  1092. data/integration/apps/rails-five/config/initializers/wrap_parameters.rb +0 -14
  1093. data/integration/apps/rails-five/config/locales/en.yml +0 -33
  1094. data/integration/apps/rails-five/config/puma.rb +0 -24
  1095. data/integration/apps/rails-five/config/routes.rb +0 -11
  1096. data/integration/apps/rails-five/config/spring.rb +0 -6
  1097. data/integration/apps/rails-five/config/unicorn.rb +0 -29
  1098. data/integration/apps/rails-five/config.ru +0 -5
  1099. data/integration/apps/rails-five/db/migrate/20190927215052_create_tests.rb +0 -11
  1100. data/integration/apps/rails-five/db/schema.rb +0 -23
  1101. data/integration/apps/rails-five/db/seeds.rb +0 -7
  1102. data/integration/apps/rails-five/docker-compose.ci.yml +0 -98
  1103. data/integration/apps/rails-five/docker-compose.yml +0 -100
  1104. data/integration/apps/rails-five/lib/tasks/.keep +0 -0
  1105. data/integration/apps/rails-five/log/.keep +0 -0
  1106. data/integration/apps/rails-five/public/robots.txt +0 -1
  1107. data/integration/apps/rails-five/script/build-images +0 -35
  1108. data/integration/apps/rails-five/script/ci +0 -51
  1109. data/integration/apps/rails-five/spec/integration/basic_spec.rb +0 -10
  1110. data/integration/apps/rails-five/spec/spec_helper.rb +0 -16
  1111. data/integration/apps/rails-five/spec/support/integration_helper.rb +0 -22
  1112. data/integration/apps/rails-five/storage/.keep +0 -0
  1113. data/integration/apps/rails-five/tmp/.keep +0 -0
  1114. data/integration/apps/rails-five/vendor/.keep +0 -0
  1115. data/integration/apps/rspec/.dockerignore +0 -1
  1116. data/integration/apps/rspec/.envrc.sample +0 -1
  1117. data/integration/apps/rspec/.gitignore +0 -2
  1118. data/integration/apps/rspec/.rspec +0 -1
  1119. data/integration/apps/rspec/Dockerfile +0 -25
  1120. data/integration/apps/rspec/Dockerfile-ci +0 -11
  1121. data/integration/apps/rspec/Gemfile +0 -14
  1122. data/integration/apps/rspec/README.md +0 -70
  1123. data/integration/apps/rspec/agent.yaml +0 -3
  1124. data/integration/apps/rspec/app/datadog.rb +0 -13
  1125. data/integration/apps/rspec/app/fibonacci.rb +0 -30
  1126. data/integration/apps/rspec/bin/run +0 -20
  1127. data/integration/apps/rspec/bin/setup +0 -17
  1128. data/integration/apps/rspec/bin/test +0 -21
  1129. data/integration/apps/rspec/docker-compose.ci.yml +0 -51
  1130. data/integration/apps/rspec/docker-compose.yml +0 -63
  1131. data/integration/apps/rspec/script/build-images +0 -37
  1132. data/integration/apps/rspec/script/ci +0 -53
  1133. data/integration/apps/rspec/spec/fibonacci_spec.rb +0 -16
  1134. data/integration/apps/rspec/spec/rspec_spec.rb +0 -58
  1135. data/integration/apps/rspec/spec/spec_helper.rb +0 -24
  1136. data/integration/apps/ruby/.dockerignore +0 -1
  1137. data/integration/apps/ruby/.envrc.sample +0 -1
  1138. data/integration/apps/ruby/.gitignore +0 -2
  1139. data/integration/apps/ruby/Dockerfile +0 -25
  1140. data/integration/apps/ruby/Dockerfile-ci +0 -11
  1141. data/integration/apps/ruby/Gemfile +0 -11
  1142. data/integration/apps/ruby/README.md +0 -70
  1143. data/integration/apps/ruby/agent.yaml +0 -3
  1144. data/integration/apps/ruby/app/datadog.rb +0 -13
  1145. data/integration/apps/ruby/app/fibonacci.rb +0 -58
  1146. data/integration/apps/ruby/bin/run +0 -20
  1147. data/integration/apps/ruby/bin/setup +0 -17
  1148. data/integration/apps/ruby/bin/test +0 -21
  1149. data/integration/apps/ruby/docker-compose.ci.yml +0 -51
  1150. data/integration/apps/ruby/docker-compose.yml +0 -63
  1151. data/integration/apps/ruby/script/build-images +0 -38
  1152. data/integration/apps/ruby/script/ci +0 -51
  1153. data/integration/images/agent/Dockerfile +0 -2
  1154. data/integration/images/agent/agent.yaml +0 -3
  1155. data/integration/images/include/datadog/analyzer.rb +0 -71
  1156. data/integration/images/include/datadog/demo_env.rb +0 -101
  1157. data/integration/images/include/http-health-check +0 -33
  1158. data/integration/images/ruby/2.1/Dockerfile +0 -54
  1159. data/integration/images/ruby/2.2/Dockerfile +0 -54
  1160. data/integration/images/ruby/2.3/Dockerfile +0 -70
  1161. data/integration/images/ruby/2.4/Dockerfile +0 -54
  1162. data/integration/images/ruby/2.5/Dockerfile +0 -54
  1163. data/integration/images/ruby/2.6/Dockerfile +0 -54
  1164. data/integration/images/ruby/2.7/Dockerfile +0 -54
  1165. data/integration/images/ruby/3.0/Dockerfile +0 -54
  1166. data/integration/images/wrk/Dockerfile +0 -33
  1167. data/integration/images/wrk/scripts/entrypoint.sh +0 -17
  1168. data/integration/images/wrk/scripts/scenarios/basic/default.lua +0 -1
  1169. data/integration/images/wrk/scripts/scenarios/basic/fibonacci.lua +0 -1
  1170. data/integration/script/build-images +0 -43
  1171. data/lib/datadog/ci/context_flush.rb +0 -28
  1172. data/lib/ddtrace/analytics.rb +0 -38
  1173. data/lib/ddtrace/buffer.rb +0 -326
  1174. data/lib/ddtrace/chunker.rb +0 -34
  1175. data/lib/ddtrace/configuration/agent_settings_resolver.rb +0 -230
  1176. data/lib/ddtrace/configuration/base.rb +0 -81
  1177. data/lib/ddtrace/configuration/components.rb +0 -249
  1178. data/lib/ddtrace/configuration/dependency_resolver.rb +0 -24
  1179. data/lib/ddtrace/configuration/option.rb +0 -64
  1180. data/lib/ddtrace/configuration/option_definition.rb +0 -121
  1181. data/lib/ddtrace/configuration/option_definition_set.rb +0 -18
  1182. data/lib/ddtrace/configuration/option_set.rb +0 -6
  1183. data/lib/ddtrace/configuration/options.rb +0 -111
  1184. data/lib/ddtrace/configuration/pin_setup.rb +0 -31
  1185. data/lib/ddtrace/configuration/settings.rb +0 -388
  1186. data/lib/ddtrace/configuration.rb +0 -176
  1187. data/lib/ddtrace/context.rb +0 -325
  1188. data/lib/ddtrace/context_flush.rb +0 -81
  1189. data/lib/ddtrace/context_provider.rb +0 -61
  1190. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +0 -30
  1191. data/lib/ddtrace/contrib/action_cable/event.rb +0 -66
  1192. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +0 -49
  1193. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +0 -55
  1194. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +0 -50
  1195. data/lib/ddtrace/contrib/action_cable/events.rb +0 -33
  1196. data/lib/ddtrace/contrib/action_cable/ext.rb +0 -26
  1197. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +0 -31
  1198. data/lib/ddtrace/contrib/action_cable/integration.rb +0 -45
  1199. data/lib/ddtrace/contrib/action_cable/patcher.rb +0 -27
  1200. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +0 -146
  1201. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +0 -25
  1202. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +0 -32
  1203. data/lib/ddtrace/contrib/action_pack/ext.rb +0 -19
  1204. data/lib/ddtrace/contrib/action_pack/integration.rb +0 -45
  1205. data/lib/ddtrace/contrib/action_pack/patcher.rb +0 -23
  1206. data/lib/ddtrace/contrib/action_pack/utils.rb +0 -36
  1207. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +0 -31
  1208. data/lib/ddtrace/contrib/action_view/event.rb +0 -35
  1209. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +0 -46
  1210. data/lib/ddtrace/contrib/action_view/events/render_template.rb +0 -49
  1211. data/lib/ddtrace/contrib/action_view/events.rb +0 -30
  1212. data/lib/ddtrace/contrib/action_view/ext.rb +0 -20
  1213. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +0 -74
  1214. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +0 -167
  1215. data/lib/ddtrace/contrib/action_view/integration.rb +0 -52
  1216. data/lib/ddtrace/contrib/action_view/patcher.rb +0 -47
  1217. data/lib/ddtrace/contrib/action_view/utils.rb +0 -32
  1218. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +0 -30
  1219. data/lib/ddtrace/contrib/active_model_serializers/event.rb +0 -68
  1220. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +0 -32
  1221. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +0 -35
  1222. data/lib/ddtrace/contrib/active_model_serializers/events.rb +0 -30
  1223. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +0 -20
  1224. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +0 -40
  1225. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +0 -29
  1226. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +0 -30
  1227. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +0 -134
  1228. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +0 -35
  1229. data/lib/ddtrace/contrib/active_record/event.rb +0 -30
  1230. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +0 -60
  1231. data/lib/ddtrace/contrib/active_record/events/sql.rb +0 -68
  1232. data/lib/ddtrace/contrib/active_record/events.rb +0 -30
  1233. data/lib/ddtrace/contrib/active_record/ext.rb +0 -24
  1234. data/lib/ddtrace/contrib/active_record/integration.rb +0 -53
  1235. data/lib/ddtrace/contrib/active_record/patcher.rb +0 -23
  1236. data/lib/ddtrace/contrib/active_record/utils.rb +0 -123
  1237. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +0 -258
  1238. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +0 -69
  1239. data/lib/ddtrace/contrib/active_support/cache/redis.rb +0 -43
  1240. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +0 -30
  1241. data/lib/ddtrace/contrib/active_support/ext.rb +0 -27
  1242. data/lib/ddtrace/contrib/active_support/integration.rb +0 -46
  1243. data/lib/ddtrace/contrib/active_support/notifications/event.rb +0 -75
  1244. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +0 -67
  1245. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +0 -163
  1246. data/lib/ddtrace/contrib/active_support/patcher.rb +0 -23
  1247. data/lib/ddtrace/contrib/analytics.rb +0 -24
  1248. data/lib/ddtrace/contrib/auto_instrument.rb +0 -48
  1249. data/lib/ddtrace/contrib/aws/configuration/settings.rb +0 -30
  1250. data/lib/ddtrace/contrib/aws/ext.rb +0 -23
  1251. data/lib/ddtrace/contrib/aws/instrumentation.rb +0 -90
  1252. data/lib/ddtrace/contrib/aws/integration.rb +0 -42
  1253. data/lib/ddtrace/contrib/aws/parsed_context.rb +0 -56
  1254. data/lib/ddtrace/contrib/aws/patcher.rb +0 -53
  1255. data/lib/ddtrace/contrib/aws/services.rb +0 -118
  1256. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +0 -20
  1257. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +0 -41
  1258. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +0 -12
  1259. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +0 -23
  1260. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +0 -38
  1261. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +0 -28
  1262. data/lib/ddtrace/contrib/configurable.rb +0 -102
  1263. data/lib/ddtrace/contrib/configuration/resolver.rb +0 -81
  1264. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +0 -39
  1265. data/lib/ddtrace/contrib/configuration/settings.rb +0 -55
  1266. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +0 -30
  1267. data/lib/ddtrace/contrib/dalli/ext.rb +0 -20
  1268. data/lib/ddtrace/contrib/dalli/instrumentation.rb +0 -54
  1269. data/lib/ddtrace/contrib/dalli/integration.rb +0 -38
  1270. data/lib/ddtrace/contrib/dalli/patcher.rb +0 -25
  1271. data/lib/ddtrace/contrib/dalli/quantize.rb +0 -22
  1272. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +0 -32
  1273. data/lib/ddtrace/contrib/delayed_job/ext.rb +0 -23
  1274. data/lib/ddtrace/contrib/delayed_job/integration.rb +0 -38
  1275. data/lib/ddtrace/contrib/delayed_job/patcher.rb +0 -28
  1276. data/lib/ddtrace/contrib/delayed_job/plugin.rb +0 -84
  1277. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +0 -31
  1278. data/lib/ddtrace/contrib/elasticsearch/ext.rb +0 -22
  1279. data/lib/ddtrace/contrib/elasticsearch/integration.rb +0 -39
  1280. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +0 -122
  1281. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +0 -81
  1282. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +0 -32
  1283. data/lib/ddtrace/contrib/ethon/easy_patch.rb +0 -151
  1284. data/lib/ddtrace/contrib/ethon/ext.rb +0 -19
  1285. data/lib/ddtrace/contrib/ethon/integration.rb +0 -43
  1286. data/lib/ddtrace/contrib/ethon/multi_patch.rb +0 -84
  1287. data/lib/ddtrace/contrib/ethon/patcher.rb +0 -25
  1288. data/lib/ddtrace/contrib/excon/configuration/settings.rb +0 -33
  1289. data/lib/ddtrace/contrib/excon/ext.rb +0 -17
  1290. data/lib/ddtrace/contrib/excon/integration.rb +0 -43
  1291. data/lib/ddtrace/contrib/excon/middleware.rb +0 -163
  1292. data/lib/ddtrace/contrib/excon/patcher.rb +0 -27
  1293. data/lib/ddtrace/contrib/extensions.rb +0 -143
  1294. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +0 -38
  1295. data/lib/ddtrace/contrib/faraday/connection.rb +0 -18
  1296. data/lib/ddtrace/contrib/faraday/ext.rb +0 -17
  1297. data/lib/ddtrace/contrib/faraday/integration.rb +0 -43
  1298. data/lib/ddtrace/contrib/faraday/middleware.rb +0 -85
  1299. data/lib/ddtrace/contrib/faraday/patcher.rb +0 -53
  1300. data/lib/ddtrace/contrib/faraday/rack_builder.rb +0 -18
  1301. data/lib/ddtrace/contrib/grape/configuration/settings.rb +0 -38
  1302. data/lib/ddtrace/contrib/grape/endpoint.rb +0 -236
  1303. data/lib/ddtrace/contrib/grape/ext.rb +0 -23
  1304. data/lib/ddtrace/contrib/grape/instrumentation.rb +0 -33
  1305. data/lib/ddtrace/contrib/grape/integration.rb +0 -39
  1306. data/lib/ddtrace/contrib/grape/patcher.rb +0 -31
  1307. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +0 -32
  1308. data/lib/ddtrace/contrib/graphql/ext.rb +0 -16
  1309. data/lib/ddtrace/contrib/graphql/integration.rb +0 -39
  1310. data/lib/ddtrace/contrib/graphql/patcher.rb +0 -60
  1311. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +0 -30
  1312. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +0 -58
  1313. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +0 -81
  1314. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +0 -74
  1315. data/lib/ddtrace/contrib/grpc/ext.rb +0 -18
  1316. data/lib/ddtrace/contrib/grpc/integration.rb +0 -38
  1317. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +0 -49
  1318. data/lib/ddtrace/contrib/grpc/patcher.rb +0 -32
  1319. data/lib/ddtrace/contrib/http/circuit_breaker.rb +0 -37
  1320. data/lib/ddtrace/contrib/http/configuration/settings.rb +0 -32
  1321. data/lib/ddtrace/contrib/http/ext.rb +0 -17
  1322. data/lib/ddtrace/contrib/http/instrumentation.rb +0 -179
  1323. data/lib/ddtrace/contrib/http/integration.rb +0 -45
  1324. data/lib/ddtrace/contrib/http/patcher.rb +0 -26
  1325. data/lib/ddtrace/contrib/http_annotation_helper.rb +0 -10
  1326. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +0 -32
  1327. data/lib/ddtrace/contrib/httpclient/ext.rb +0 -17
  1328. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +0 -147
  1329. data/lib/ddtrace/contrib/httpclient/integration.rb +0 -43
  1330. data/lib/ddtrace/contrib/httpclient/patcher.rb +0 -38
  1331. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +0 -32
  1332. data/lib/ddtrace/contrib/httprb/ext.rb +0 -17
  1333. data/lib/ddtrace/contrib/httprb/instrumentation.rb +0 -157
  1334. data/lib/ddtrace/contrib/httprb/integration.rb +0 -43
  1335. data/lib/ddtrace/contrib/httprb/patcher.rb +0 -38
  1336. data/lib/ddtrace/contrib/integration.rb +0 -16
  1337. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +0 -30
  1338. data/lib/ddtrace/contrib/kafka/consumer_event.rb +0 -14
  1339. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +0 -14
  1340. data/lib/ddtrace/contrib/kafka/event.rb +0 -51
  1341. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +0 -34
  1342. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +0 -41
  1343. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +0 -39
  1344. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +0 -39
  1345. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +0 -29
  1346. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +0 -29
  1347. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +0 -29
  1348. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +0 -32
  1349. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +0 -35
  1350. data/lib/ddtrace/contrib/kafka/events.rb +0 -44
  1351. data/lib/ddtrace/contrib/kafka/ext.rb +0 -41
  1352. data/lib/ddtrace/contrib/kafka/integration.rb +0 -39
  1353. data/lib/ddtrace/contrib/kafka/patcher.rb +0 -26
  1354. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +0 -33
  1355. data/lib/ddtrace/contrib/mongodb/ext.rb +0 -23
  1356. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +0 -69
  1357. data/lib/ddtrace/contrib/mongodb/integration.rb +0 -38
  1358. data/lib/ddtrace/contrib/mongodb/parsers.rb +0 -68
  1359. data/lib/ddtrace/contrib/mongodb/patcher.rb +0 -31
  1360. data/lib/ddtrace/contrib/mongodb/subscribers.rb +0 -111
  1361. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +0 -30
  1362. data/lib/ddtrace/contrib/mysql2/ext.rb +0 -18
  1363. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +0 -64
  1364. data/lib/ddtrace/contrib/mysql2/integration.rb +0 -38
  1365. data/lib/ddtrace/contrib/mysql2/patcher.rb +0 -27
  1366. data/lib/ddtrace/contrib/patchable.rb +0 -70
  1367. data/lib/ddtrace/contrib/patcher.rb +0 -65
  1368. data/lib/ddtrace/contrib/presto/configuration/settings.rb +0 -30
  1369. data/lib/ddtrace/contrib/presto/ext.rb +0 -28
  1370. data/lib/ddtrace/contrib/presto/instrumentation.rb +0 -110
  1371. data/lib/ddtrace/contrib/presto/integration.rb +0 -38
  1372. data/lib/ddtrace/contrib/presto/patcher.rb +0 -33
  1373. data/lib/ddtrace/contrib/qless/configuration/settings.rb +0 -35
  1374. data/lib/ddtrace/contrib/qless/ext.rb +0 -20
  1375. data/lib/ddtrace/contrib/qless/integration.rb +0 -38
  1376. data/lib/ddtrace/contrib/qless/patcher.rb +0 -33
  1377. data/lib/ddtrace/contrib/qless/qless_job.rb +0 -73
  1378. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +0 -33
  1379. data/lib/ddtrace/contrib/que/configuration/settings.rb +0 -43
  1380. data/lib/ddtrace/contrib/que/ext.rb +0 -30
  1381. data/lib/ddtrace/contrib/que/integration.rb +0 -42
  1382. data/lib/ddtrace/contrib/que/patcher.rb +0 -24
  1383. data/lib/ddtrace/contrib/que/tracer.rb +0 -57
  1384. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +0 -30
  1385. data/lib/ddtrace/contrib/racecar/event.rb +0 -76
  1386. data/lib/ddtrace/contrib/racecar/events/batch.rb +0 -27
  1387. data/lib/ddtrace/contrib/racecar/events/consume.rb +0 -27
  1388. data/lib/ddtrace/contrib/racecar/events/message.rb +0 -27
  1389. data/lib/ddtrace/contrib/racecar/events.rb +0 -32
  1390. data/lib/ddtrace/contrib/racecar/ext.rb +0 -25
  1391. data/lib/ddtrace/contrib/racecar/integration.rb +0 -39
  1392. data/lib/ddtrace/contrib/racecar/patcher.rb +0 -26
  1393. data/lib/ddtrace/contrib/rack/configuration/settings.rb +0 -46
  1394. data/lib/ddtrace/contrib/rack/ext.rb +0 -21
  1395. data/lib/ddtrace/contrib/rack/integration.rb +0 -45
  1396. data/lib/ddtrace/contrib/rack/middlewares.rb +0 -287
  1397. data/lib/ddtrace/contrib/rack/patcher.rb +0 -105
  1398. data/lib/ddtrace/contrib/rack/request_queue.rb +0 -44
  1399. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +0 -10
  1400. data/lib/ddtrace/contrib/rails/configuration/settings.rb +0 -93
  1401. data/lib/ddtrace/contrib/rails/ext.rb +0 -17
  1402. data/lib/ddtrace/contrib/rails/framework.rb +0 -124
  1403. data/lib/ddtrace/contrib/rails/integration.rb +0 -44
  1404. data/lib/ddtrace/contrib/rails/log_injection.rb +0 -81
  1405. data/lib/ddtrace/contrib/rails/middlewares.rb +0 -43
  1406. data/lib/ddtrace/contrib/rails/patcher.rb +0 -107
  1407. data/lib/ddtrace/contrib/rails/railtie.rb +0 -17
  1408. data/lib/ddtrace/contrib/rails/utils.rb +0 -24
  1409. data/lib/ddtrace/contrib/rake/configuration/settings.rb +0 -31
  1410. data/lib/ddtrace/contrib/rake/ext.rb +0 -21
  1411. data/lib/ddtrace/contrib/rake/instrumentation.rb +0 -90
  1412. data/lib/ddtrace/contrib/rake/integration.rb +0 -38
  1413. data/lib/ddtrace/contrib/rake/patcher.rb +0 -30
  1414. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +0 -45
  1415. data/lib/ddtrace/contrib/redis/configuration/settings.rb +0 -35
  1416. data/lib/ddtrace/contrib/redis/ext.rb +0 -22
  1417. data/lib/ddtrace/contrib/redis/integration.rb +0 -42
  1418. data/lib/ddtrace/contrib/redis/patcher.rb +0 -114
  1419. data/lib/ddtrace/contrib/redis/quantize.rb +0 -75
  1420. data/lib/ddtrace/contrib/redis/tags.rb +0 -46
  1421. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +0 -158
  1422. data/lib/ddtrace/contrib/registerable.rb +0 -33
  1423. data/lib/ddtrace/contrib/registry.rb +0 -42
  1424. data/lib/ddtrace/contrib/resque/configuration/settings.rb +0 -48
  1425. data/lib/ddtrace/contrib/resque/ext.rb +0 -17
  1426. data/lib/ddtrace/contrib/resque/integration.rb +0 -47
  1427. data/lib/ddtrace/contrib/resque/patcher.rb +0 -29
  1428. data/lib/ddtrace/contrib/resque/resque_job.rb +0 -103
  1429. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +0 -31
  1430. data/lib/ddtrace/contrib/rest_client/ext.rb +0 -17
  1431. data/lib/ddtrace/contrib/rest_client/integration.rb +0 -38
  1432. data/lib/ddtrace/contrib/rest_client/patcher.rb +0 -23
  1433. data/lib/ddtrace/contrib/rest_client/request_patch.rb +0 -91
  1434. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +0 -28
  1435. data/lib/ddtrace/contrib/sequel/database.rb +0 -63
  1436. data/lib/ddtrace/contrib/sequel/dataset.rb +0 -63
  1437. data/lib/ddtrace/contrib/sequel/ext.rb +0 -19
  1438. data/lib/ddtrace/contrib/sequel/integration.rb +0 -38
  1439. data/lib/ddtrace/contrib/sequel/patcher.rb +0 -33
  1440. data/lib/ddtrace/contrib/sequel/utils.rb +0 -74
  1441. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +0 -31
  1442. data/lib/ddtrace/contrib/shoryuken/ext.rb +0 -21
  1443. data/lib/ddtrace/contrib/shoryuken/integration.rb +0 -39
  1444. data/lib/ddtrace/contrib/shoryuken/patcher.rb +0 -24
  1445. data/lib/ddtrace/contrib/shoryuken/tracer.rb +0 -55
  1446. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +0 -43
  1447. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +0 -37
  1448. data/lib/ddtrace/contrib/sidekiq/ext.rb +0 -27
  1449. data/lib/ddtrace/contrib/sidekiq/integration.rb +0 -38
  1450. data/lib/ddtrace/contrib/sidekiq/patcher.rb +0 -41
  1451. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +0 -65
  1452. data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -44
  1453. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +0 -39
  1454. data/lib/ddtrace/contrib/sinatra/env.rb +0 -57
  1455. data/lib/ddtrace/contrib/sinatra/ext.rb +0 -27
  1456. data/lib/ddtrace/contrib/sinatra/headers.rb +0 -29
  1457. data/lib/ddtrace/contrib/sinatra/integration.rb +0 -38
  1458. data/lib/ddtrace/contrib/sinatra/patcher.rb +0 -28
  1459. data/lib/ddtrace/contrib/sinatra/tracer.rb +0 -127
  1460. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +0 -105
  1461. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +0 -33
  1462. data/lib/ddtrace/contrib/sneakers/ext.rb +0 -22
  1463. data/lib/ddtrace/contrib/sneakers/integration.rb +0 -41
  1464. data/lib/ddtrace/contrib/sneakers/patcher.rb +0 -24
  1465. data/lib/ddtrace/contrib/sneakers/tracer.rb +0 -53
  1466. data/lib/ddtrace/contrib/status_code_matcher.rb +0 -69
  1467. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +0 -30
  1468. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +0 -24
  1469. data/lib/ddtrace/contrib/sucker_punch/ext.rb +0 -21
  1470. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +0 -88
  1471. data/lib/ddtrace/contrib/sucker_punch/integration.rb +0 -38
  1472. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +0 -42
  1473. data/lib/ddtrace/correlation.rb +0 -39
  1474. data/lib/ddtrace/diagnostics/environment_logger.rb +0 -279
  1475. data/lib/ddtrace/diagnostics/health.rb +0 -33
  1476. data/lib/ddtrace/distributed_tracing/headers/b3.rb +0 -44
  1477. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +0 -56
  1478. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +0 -42
  1479. data/lib/ddtrace/distributed_tracing/headers/headers.rb +0 -71
  1480. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +0 -43
  1481. data/lib/ddtrace/encoding.rb +0 -69
  1482. data/lib/ddtrace/environment.rb +0 -41
  1483. data/lib/ddtrace/error.rb +0 -96
  1484. data/lib/ddtrace/event.rb +0 -52
  1485. data/lib/ddtrace/ext/analytics.rb +0 -12
  1486. data/lib/ddtrace/ext/app_types.rb +0 -11
  1487. data/lib/ddtrace/ext/correlation.rb +0 -11
  1488. data/lib/ddtrace/ext/diagnostics.rb +0 -36
  1489. data/lib/ddtrace/ext/distributed.rb +0 -39
  1490. data/lib/ddtrace/ext/environment.rb +0 -16
  1491. data/lib/ddtrace/ext/errors.rb +0 -10
  1492. data/lib/ddtrace/ext/forced_tracing.rb +0 -25
  1493. data/lib/ddtrace/ext/git.rb +0 -11
  1494. data/lib/ddtrace/ext/http.rb +0 -46
  1495. data/lib/ddtrace/ext/integration.rb +0 -8
  1496. data/lib/ddtrace/ext/manual_tracing.rb +0 -9
  1497. data/lib/ddtrace/ext/metrics.rb +0 -15
  1498. data/lib/ddtrace/ext/net.rb +0 -10
  1499. data/lib/ddtrace/ext/priority.rb +0 -16
  1500. data/lib/ddtrace/ext/profiling.rb +0 -53
  1501. data/lib/ddtrace/ext/runtime.rb +0 -30
  1502. data/lib/ddtrace/ext/sampling.rb +0 -16
  1503. data/lib/ddtrace/ext/sql.rb +0 -8
  1504. data/lib/ddtrace/ext/test.rb +0 -8
  1505. data/lib/ddtrace/ext/transport.rb +0 -20
  1506. data/lib/ddtrace/forced_tracing.rb +0 -38
  1507. data/lib/ddtrace/logger.rb +0 -40
  1508. data/lib/ddtrace/metrics.rb +0 -255
  1509. data/lib/ddtrace/opentelemetry/extensions.rb +0 -13
  1510. data/lib/ddtrace/opentelemetry/span.rb +0 -33
  1511. data/lib/ddtrace/opentracer/binary_propagator.rb +0 -24
  1512. data/lib/ddtrace/opentracer/carrier.rb +0 -6
  1513. data/lib/ddtrace/opentracer/distributed_headers.rb +0 -55
  1514. data/lib/ddtrace/opentracer/global_tracer.rb +0 -15
  1515. data/lib/ddtrace/opentracer/propagator.rb +0 -22
  1516. data/lib/ddtrace/opentracer/rack_propagator.rb +0 -60
  1517. data/lib/ddtrace/opentracer/scope.rb +0 -15
  1518. data/lib/ddtrace/opentracer/scope_manager.rb +0 -6
  1519. data/lib/ddtrace/opentracer/span.rb +0 -94
  1520. data/lib/ddtrace/opentracer/span_context.rb +0 -14
  1521. data/lib/ddtrace/opentracer/span_context_factory.rb +0 -23
  1522. data/lib/ddtrace/opentracer/text_map_propagator.rb +0 -75
  1523. data/lib/ddtrace/opentracer/thread_local_scope.rb +0 -31
  1524. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +0 -40
  1525. data/lib/ddtrace/opentracer/tracer.rb +0 -208
  1526. data/lib/ddtrace/opentracer.rb +0 -21
  1527. data/lib/ddtrace/patcher.rb +0 -68
  1528. data/lib/ddtrace/pin.rb +0 -85
  1529. data/lib/ddtrace/pipeline/span_filter.rb +0 -38
  1530. data/lib/ddtrace/pipeline/span_processor.rb +0 -20
  1531. data/lib/ddtrace/pipeline.rb +0 -46
  1532. data/lib/ddtrace/profiling/backtrace_location.rb +0 -32
  1533. data/lib/ddtrace/profiling/buffer.rb +0 -41
  1534. data/lib/ddtrace/profiling/collectors/stack.rb +0 -262
  1535. data/lib/ddtrace/profiling/encoding/profile.rb +0 -37
  1536. data/lib/ddtrace/profiling/event.rb +0 -13
  1537. data/lib/ddtrace/profiling/events/stack.rb +0 -102
  1538. data/lib/ddtrace/profiling/exporter.rb +0 -23
  1539. data/lib/ddtrace/profiling/ext/cpu.rb +0 -52
  1540. data/lib/ddtrace/profiling/ext/cthread.rb +0 -155
  1541. data/lib/ddtrace/profiling/ext/forking.rb +0 -97
  1542. data/lib/ddtrace/profiling/flush.rb +0 -43
  1543. data/lib/ddtrace/profiling/pprof/builder.rb +0 -119
  1544. data/lib/ddtrace/profiling/pprof/converter.rb +0 -89
  1545. data/lib/ddtrace/profiling/pprof/message_set.rb +0 -12
  1546. data/lib/ddtrace/profiling/pprof/payload.rb +0 -18
  1547. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +0 -81
  1548. data/lib/ddtrace/profiling/pprof/stack_sample.rb +0 -106
  1549. data/lib/ddtrace/profiling/pprof/string_table.rb +0 -10
  1550. data/lib/ddtrace/profiling/pprof/template.rb +0 -118
  1551. data/lib/ddtrace/profiling/profiler.rb +0 -30
  1552. data/lib/ddtrace/profiling/recorder.rb +0 -95
  1553. data/lib/ddtrace/profiling/scheduler.rb +0 -116
  1554. data/lib/ddtrace/profiling/tasks/setup.rb +0 -77
  1555. data/lib/ddtrace/profiling/transport/client.rb +0 -12
  1556. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +0 -100
  1557. data/lib/ddtrace/profiling/transport/http/api/instance.rb +0 -36
  1558. data/lib/ddtrace/profiling/transport/http/api/spec.rb +0 -40
  1559. data/lib/ddtrace/profiling/transport/http/api.rb +0 -43
  1560. data/lib/ddtrace/profiling/transport/http/builder.rb +0 -28
  1561. data/lib/ddtrace/profiling/transport/http/client.rb +0 -33
  1562. data/lib/ddtrace/profiling/transport/http/response.rb +0 -21
  1563. data/lib/ddtrace/profiling/transport/http.rb +0 -118
  1564. data/lib/ddtrace/profiling/transport/io/client.rb +0 -27
  1565. data/lib/ddtrace/profiling/transport/io/response.rb +0 -16
  1566. data/lib/ddtrace/profiling/transport/io.rb +0 -30
  1567. data/lib/ddtrace/profiling/transport/parcel.rb +0 -17
  1568. data/lib/ddtrace/profiling/transport/request.rb +0 -15
  1569. data/lib/ddtrace/profiling/transport/response.rb +0 -8
  1570. data/lib/ddtrace/profiling.rb +0 -107
  1571. data/lib/ddtrace/propagation/grpc_propagator.rb +0 -74
  1572. data/lib/ddtrace/propagation/http_propagator.rb +0 -90
  1573. data/lib/ddtrace/quantization/hash.rb +0 -103
  1574. data/lib/ddtrace/quantization/http.rb +0 -87
  1575. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  1576. data/lib/ddtrace/runtime/class_count.rb +0 -17
  1577. data/lib/ddtrace/runtime/container.rb +0 -87
  1578. data/lib/ddtrace/runtime/gc.rb +0 -16
  1579. data/lib/ddtrace/runtime/identity.rb +0 -48
  1580. data/lib/ddtrace/runtime/metrics.rb +0 -112
  1581. data/lib/ddtrace/runtime/object_space.rb +0 -19
  1582. data/lib/ddtrace/runtime/socket.rb +0 -14
  1583. data/lib/ddtrace/runtime/thread_count.rb +0 -16
  1584. data/lib/ddtrace/sampler.rb +0 -292
  1585. data/lib/ddtrace/sampling/matcher.rb +0 -57
  1586. data/lib/ddtrace/sampling/rate_limiter.rb +0 -176
  1587. data/lib/ddtrace/sampling/rule.rb +0 -61
  1588. data/lib/ddtrace/sampling/rule_sampler.rb +0 -120
  1589. data/lib/ddtrace/sampling.rb +0 -2
  1590. data/lib/ddtrace/span.rb +0 -432
  1591. data/lib/ddtrace/sync_writer.rb +0 -68
  1592. data/lib/ddtrace/tasks/exec.rb +0 -48
  1593. data/lib/ddtrace/tasks/help.rb +0 -14
  1594. data/lib/ddtrace/tracer.rb +0 -457
  1595. data/lib/ddtrace/utils/compression.rb +0 -27
  1596. data/lib/ddtrace/utils/database.rb +0 -25
  1597. data/lib/ddtrace/utils/forking.rb +0 -52
  1598. data/lib/ddtrace/utils/object_set.rb +0 -39
  1599. data/lib/ddtrace/utils/only_once.rb +0 -40
  1600. data/lib/ddtrace/utils/sequence.rb +0 -17
  1601. data/lib/ddtrace/utils/string_table.rb +0 -45
  1602. data/lib/ddtrace/utils/time.rb +0 -43
  1603. data/lib/ddtrace/utils.rb +0 -68
  1604. data/lib/ddtrace/vendor/active_record/connection_specification.rb +0 -301
  1605. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +0 -116
  1606. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +0 -57
  1607. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +0 -135
  1608. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +0 -9
  1609. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +0 -8
  1610. data/lib/ddtrace/vendor/multipart-post/multipart.rb +0 -12
  1611. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +0 -32
  1612. data/lib/ddtrace/worker.rb +0 -20
  1613. data/lib/ddtrace/workers/async.rb +0 -174
  1614. data/lib/ddtrace/workers/loop.rb +0 -131
  1615. data/lib/ddtrace/workers/polling.rb +0 -55
  1616. data/lib/ddtrace/workers/queue.rb +0 -40
  1617. data/lib/ddtrace/workers/runtime_metrics.rb +0 -64
  1618. data/lib/ddtrace/workers/trace_writer.rb +0 -199
  1619. data/lib/ddtrace/workers.rb +0 -122
  1620. data/lib/ddtrace/writer.rb +0 -199
  1621. data/tasks/release_gem.rake +0 -28
  1622. /data/lib/{ddtrace → datadog/core}/vendor/multipart-post/LICENSE +0 -0
  1623. /data/lib/{ddtrace → datadog}/profiling/pprof/pprof.proto +0 -0
  1624. /data/lib/{ddtrace/vendor/active_record → datadog/tracing/contrib/active_record/vendor}/MIT-LICENSE +0 -0
  1625. /data/lib/{ddtrace → datadog/tracing}/contrib/redis/vendor/LICENSE +0 -0
@@ -0,0 +1,618 @@
1
+ # typed: false
2
+
3
+ require 'logger'
4
+
5
+ require 'datadog/core/configuration/base'
6
+ require 'datadog/core/environment/ext'
7
+ require 'datadog/core/runtime/ext'
8
+ require 'datadog/profiling/ext'
9
+ require 'datadog/tracing/configuration/ext'
10
+
11
+ module Datadog
12
+ module Core
13
+ module Configuration
14
+ # Global configuration settings for the trace library.
15
+ # @public_api
16
+ # rubocop:disable Metrics/BlockLength
17
+ # rubocop:disable Metrics/ClassLength
18
+ # rubocop:disable Layout/LineLength
19
+ class Settings
20
+ include Base
21
+
22
+ # @!visibility private
23
+ def initialize(*_)
24
+ super
25
+
26
+ # WORKAROUND: The values for services, version, and env can get set either directly OR as a side effect of
27
+ # accessing tags (reading or writing). This is of course really confusing and error-prone, e.g. in an app
28
+ # WITHOUT this workaround where you define `DD_TAGS=env:envenvtag,service:envservicetag,version:envversiontag`
29
+ # and do:
30
+ #
31
+ # puts Datadog.configuration.instance_exec { "#{service} #{env} #{version}" }
32
+ # Datadog.configuration.tags
33
+ # puts Datadog.configuration.instance_exec { "#{service} #{env} #{version}" }
34
+ #
35
+ # the output will be:
36
+ #
37
+ # [empty]
38
+ # envservicetag envenvtag envversiontag
39
+ #
40
+ # That is -- the proper values for service/env/version are only set AFTER something accidentally or not triggers
41
+ # the resolution of the tags.
42
+ # This is really confusing, error prone, etc, so calling tags here is a really hacky but effective way to
43
+ # avoid this. I could not think of a better way of fixing this issue without massive refactoring of tags parsing
44
+ # (so that the individual service/env/version get correctly set even from their tags values, not as a side
45
+ # effect). Sorry :(
46
+ tags
47
+ end
48
+
49
+ # {https://docs.datadoghq.com/agent/ Datadog Agent} configuration.
50
+ # @public_api
51
+ settings :agent do
52
+ # Agent hostname or IP.
53
+ # @default `DD_AGENT_HOST` environment variable, otherwise `127.0.0.1`
54
+ # @return [String,nil]
55
+ option :host
56
+
57
+ # Agent APM TCP port.
58
+ # @see https://docs.datadoghq.com/getting_started/tracing/#datadog-apm
59
+ # @default `DD_TRACE_AGENT_PORT` environment variable, otherwise `8126`
60
+ # @return [String,nil]
61
+ option :port
62
+
63
+ # TODO: add declarative statsd configuration. Currently only usable via an environment variable.
64
+ # Statsd configuration for agent access.
65
+ # @public_api
66
+ # settings :statsd do
67
+ # # Agent Statsd UDP port.
68
+ # # @configure_with {Datadog::Statsd}
69
+ # # @default `DD_AGENT_HOST` environment variable, otherwise `8125`
70
+ # # @return [String,nil]
71
+ # option :port
72
+ # end
73
+ end
74
+
75
+ # Datadog API key.
76
+ #
77
+ # For internal use only.
78
+ #
79
+ # @default `DD_API_KEY` environment variable, otherwise `nil`
80
+ # @return [String,nil]
81
+ option :api_key do |o|
82
+ o.default { ENV.fetch(Core::Environment::Ext::ENV_API_KEY, nil) }
83
+ o.lazy
84
+ end
85
+
86
+ # Datadog diagnostic settings.
87
+ #
88
+ # Enabling these surfaces debug information that can be helpful to
89
+ # diagnose issues related to Datadog internals.
90
+ # @public_api
91
+ settings :diagnostics do
92
+ # Outputs all spans created by the host application to `Datadog.logger`.
93
+ #
94
+ # **This option is very verbose!** It's only recommended for non-production
95
+ # environments.
96
+ #
97
+ # This option is helpful when trying to understand what information the
98
+ # Datadog features are sending to the Agent or backend.
99
+ # @default `DD_TRACE_DEBUG` environment variable, otherwise `false`
100
+ # @return [Boolean]
101
+ option :debug do |o|
102
+ o.default { env_to_bool(Datadog::Core::Diagnostics::Ext::DD_TRACE_DEBUG, false) }
103
+ o.lazy
104
+ o.on_set do |enabled|
105
+ # Enable rich debug print statements.
106
+ # We do not need to unnecessarily load 'pp' unless in debugging mode.
107
+ require 'pp' if enabled
108
+ end
109
+ end
110
+
111
+ # Internal {Datadog::Statsd} metrics collection.
112
+ #
113
+ # The list of metrics collected can be found in {Datadog::Core::Diagnostics::Ext::Health::Metrics}.
114
+ # @public_api
115
+ settings :health_metrics do
116
+ # Enable health metrics collection.
117
+ #
118
+ # @default `DD_HEALTH_METRICS_ENABLED` environment variable, otherwise `false`
119
+ # @return [Boolean]
120
+ option :enabled do |o|
121
+ o.default { env_to_bool(Datadog::Core::Diagnostics::Ext::Health::Metrics::ENV_ENABLED, false) }
122
+ o.lazy
123
+ end
124
+
125
+ # {Datadog::Statsd} instance to collect health metrics.
126
+ #
127
+ # If `nil`, health metrics creates a new {Datadog::Statsd} client with default agent configuration.
128
+ #
129
+ # @default `nil`
130
+ # @return [Datadog::Statsd,nil] a custom {Datadog::Statsd} instance
131
+ # @return [nil] an instance with default agent configuration will be lazily created
132
+ option :statsd
133
+ end
134
+
135
+ # Tracer startup debug log statement configuration.
136
+ # @public_api
137
+ settings :startup_logs do
138
+ # Enable startup logs collection.
139
+ #
140
+ # If `nil`, defaults to logging startup logs when `ddtrace` detects that the application
141
+ # is *not* running in a development environment.
142
+ #
143
+ # @default `DD_TRACE_STARTUP_LOGS` environment variable, otherwise `nil`
144
+ # @return [Boolean,nil]
145
+ option :enabled do |o|
146
+ # Defaults to nil as we want to know when the default value is being used
147
+ o.default { env_to_bool(Datadog::Core::Diagnostics::Ext::DD_TRACE_STARTUP_LOGS, nil) }
148
+ o.lazy
149
+ end
150
+ end
151
+ end
152
+
153
+ # The `env` tag in Datadog. Use it to separate out your staging, development, and production environments.
154
+ # @see https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging
155
+ # @default `DD_ENV` environment variable, otherwise `nil`
156
+ # @return [String,nil]
157
+ option :env do |o|
158
+ # NOTE: env also gets set as a side effect of tags. See the WORKAROUND note in #initialize for details.
159
+ o.default { ENV.fetch(Core::Environment::Ext::ENV_ENVIRONMENT, nil) }
160
+ o.lazy
161
+ end
162
+
163
+ # Internal `Datadog.logger` configuration.
164
+ #
165
+ # This logger instance is only used internally by the gem.
166
+ # @public_api
167
+ settings :logger do
168
+ # The `Datadog.logger` object.
169
+ #
170
+ # Can be overwritten with a custom logger object that respects the
171
+ # [built-in Ruby Logger](https://ruby-doc.org/stdlib-3.0.1/libdoc/logger/rdoc/Logger.html)
172
+ # interface.
173
+ #
174
+ # @return Logger::Severity
175
+ option :instance do |o|
176
+ o.on_set { |value| set_option(:level, value.level) unless value.nil? }
177
+ end
178
+
179
+ # Log level for `Datadog.logger`.
180
+ # @see Logger::Severity
181
+ # @return Logger::Severity
182
+ option :level, default: ::Logger::INFO
183
+ end
184
+
185
+ # Datadog Profiler-specific configurations.
186
+ #
187
+ # @see https://docs.datadoghq.com/tracing/profiler/
188
+ # @public_api
189
+ settings :profiling do
190
+ # Enable profiling.
191
+ #
192
+ # @default `DD_PROFILING_ENABLED` environment variable, otherwise `false`
193
+ # @return [Boolean]
194
+ option :enabled do |o|
195
+ o.default { env_to_bool(Profiling::Ext::ENV_ENABLED, false) }
196
+ o.lazy
197
+ end
198
+
199
+ # @public_api
200
+ settings :exporter do
201
+ option :transport
202
+ end
203
+
204
+ # @public_api
205
+ settings :advanced do
206
+ # This should never be reduced, as it can cause the resulting profiles to become biased.
207
+ # The current default should be enough for most services, allowing 16 threads to be sampled around 30 times
208
+ # per second for a 60 second period.
209
+ option :max_events, default: 32768
210
+
211
+ # Controls the maximum number of frames for each thread sampled. Can be tuned to avoid omitted frames in the
212
+ # produced profiles. Increasing this may increase the overhead of profiling.
213
+ option :max_frames do |o|
214
+ o.default { env_to_int(Profiling::Ext::ENV_MAX_FRAMES, 400) }
215
+ o.lazy
216
+ end
217
+
218
+ # @public_api
219
+ settings :endpoint do
220
+ settings :collection do
221
+ # When using profiling together with tracing, this controls if endpoint names
222
+ # are gathered and reported together with profiles.
223
+ #
224
+ # @default `DD_PROFILING_ENDPOINT_COLLECTION_ENABLED` environment variable, otherwise `true`
225
+ # @return [Boolean]
226
+ option :enabled do |o|
227
+ o.default { env_to_bool(Profiling::Ext::ENV_ENDPOINT_COLLECTION_ENABLED, true) }
228
+ o.lazy
229
+ end
230
+ end
231
+ end
232
+
233
+ # Disable gathering of names and versions of gems in use by the service, used to power grouping and
234
+ # categorization of stack traces.
235
+ option :code_provenance_enabled, default: true
236
+ end
237
+
238
+ # @public_api
239
+ settings :upload do
240
+ option :timeout_seconds do |o|
241
+ o.setter { |value| value.nil? ? 30.0 : value.to_f }
242
+ o.default { env_to_float(Profiling::Ext::ENV_UPLOAD_TIMEOUT, 30.0) }
243
+ o.lazy
244
+ end
245
+ end
246
+ end
247
+
248
+ # [Runtime Metrics](https://docs.datadoghq.com/tracing/runtime_metrics/)
249
+ # are StatsD metrics collected by the tracer to gain additional insights into an application's performance.
250
+ # @public_api
251
+ settings :runtime_metrics do
252
+ # Enable runtime metrics.
253
+ # @default `DD_RUNTIME_METRICS_ENABLED` environment variable, otherwise `false`
254
+ # @return [Boolean]
255
+ option :enabled do |o|
256
+ o.default { env_to_bool(Core::Runtime::Ext::Metrics::ENV_ENABLED, false) }
257
+ o.lazy
258
+ end
259
+
260
+ option :opts, default: ->(_i) { {} }, lazy: true
261
+ option :statsd
262
+ end
263
+
264
+ # The `service` tag in Datadog. Use it to group related traces into a service.
265
+ # @see https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging
266
+ # @default `DD_SERVICE` environment variable, otherwise the program name (e.g. `'ruby'`, `'rails'`, `'pry'`)
267
+ # @return [String]
268
+ option :service do |o|
269
+ # NOTE: service also gets set as a side effect of tags. See the WORKAROUND note in #initialize for details.
270
+ o.default { ENV.fetch(Core::Environment::Ext::ENV_SERVICE, Core::Environment::Ext::FALLBACK_SERVICE_NAME) }
271
+ o.lazy
272
+
273
+ # There's a few cases where we don't want to use the fallback service name, so this helper allows us to get a
274
+ # nil instead so that one can do
275
+ # nice_service_name = Datadog.configuration.service_without_fallback || nice_service_name_default
276
+ o.helper(:service_without_fallback) do
277
+ service_name = service
278
+ service_name unless service_name.equal?(Core::Environment::Ext::FALLBACK_SERVICE_NAME)
279
+ end
280
+ end
281
+
282
+ # The Datadog site host to send data to.
283
+ # By default, data is sent to the Datadog US site: `app.datadoghq.com`.
284
+ #
285
+ # If your organization is on another site, you must update this value to the new site.
286
+ #
287
+ # For internal use only.
288
+ #
289
+ # @see https://docs.datadoghq.com/agent/troubleshooting/site/
290
+ # @default `DD_SITE` environment variable, otherwise `nil` which sends data to `app.datadoghq.com`
291
+ # @return [String,nil]
292
+ option :site do |o|
293
+ o.default { ENV.fetch(Core::Environment::Ext::ENV_SITE, nil) }
294
+ o.lazy
295
+ end
296
+
297
+ # Default tags
298
+ #
299
+ # These tags are used by all Datadog products, when applicable.
300
+ # e.g. trace spans, profiles, etc.
301
+ # @default `DD_TAGS` environment variable (in the format `'tag1:value1,tag2:value2'`), otherwise `{}`
302
+ # @return [Hash<String,String>]
303
+ option :tags do |o|
304
+ o.default do
305
+ tags = {}
306
+
307
+ # Parse tags from environment
308
+ env_to_list(Core::Environment::Ext::ENV_TAGS).each do |tag|
309
+ pair = tag.split(':')
310
+ tags[pair.first] = pair.last if pair.length == 2
311
+ end
312
+
313
+ # Override tags if defined
314
+ tags[Core::Environment::Ext::TAG_ENV] = env unless env.nil?
315
+ tags[Core::Environment::Ext::TAG_VERSION] = version unless version.nil?
316
+
317
+ tags
318
+ end
319
+
320
+ o.setter do |new_value, old_value|
321
+ # Coerce keys to strings
322
+ string_tags = new_value.collect { |k, v| [k.to_s, v] }.to_h
323
+
324
+ # Cross-populate tag values with other settings
325
+ if env.nil? && string_tags.key?(Core::Environment::Ext::TAG_ENV)
326
+ self.env = string_tags[Core::Environment::Ext::TAG_ENV]
327
+ end
328
+
329
+ if version.nil? && string_tags.key?(Core::Environment::Ext::TAG_VERSION)
330
+ self.version = string_tags[Core::Environment::Ext::TAG_VERSION]
331
+ end
332
+
333
+ if service_without_fallback.nil? && string_tags.key?(Core::Environment::Ext::TAG_SERVICE)
334
+ self.service = string_tags[Core::Environment::Ext::TAG_SERVICE]
335
+ end
336
+
337
+ # Merge with previous tags
338
+ (old_value || {}).merge(string_tags)
339
+ end
340
+
341
+ o.lazy
342
+ end
343
+
344
+ # The time provider used by Datadog. It must respect the interface of [Time](https://ruby-doc.org/core-3.0.1/Time.html).
345
+ #
346
+ # When testing, it can be helpful to use a different time provider.
347
+ #
348
+ # For [Timecop](https://rubygems.org/gems/timecop), for example, `->{ Time.now_without_mock_time }`
349
+ # allows Datadog features to use the real wall time when time is frozen.
350
+ #
351
+ # @default `->{ Time.now }`
352
+ # @return [Proc<Time>]
353
+ option :time_now_provider do |o|
354
+ o.default { ::Time.now }
355
+
356
+ o.on_set do |time_provider|
357
+ Core::Utils::Time.now_provider = time_provider
358
+ end
359
+
360
+ o.resetter do |_value|
361
+ # TODO: Resetter needs access to the default value
362
+ # TODO: to help reduce duplication.
363
+ -> { ::Time.now }.tap do |default|
364
+ Core::Utils::Time.now_provider = default
365
+ end
366
+ end
367
+ end
368
+
369
+ # Tracer specific configurations.
370
+ # @public_api
371
+ settings :tracing do
372
+ # Legacy [App Analytics](https://docs.datadoghq.com/tracing/legacy_app_analytics/) configuration.
373
+ #
374
+ # @configure_with {Datadog::Tracing}
375
+ # @deprecated Use [Trace Retention and Ingestion](https://docs.datadoghq.com/tracing/trace_retention_and_ingestion/)
376
+ # controls.
377
+ # @public_api
378
+ settings :analytics do
379
+ # @default `DD_TRACE_ANALYTICS_ENABLED` environment variable, otherwise `nil`
380
+ # @return [Boolean,nil]
381
+ option :enabled do |o|
382
+ o.default { env_to_bool(Tracing::Configuration::Ext::Analytics::ENV_TRACE_ANALYTICS_ENABLED, nil) }
383
+ o.lazy
384
+ end
385
+ end
386
+
387
+ # [Distributed Tracing](https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#distributed-tracing) propagation
388
+ # style configuration.
389
+ #
390
+ # The supported formats are:
391
+ # * `Datadog`: Datadog propagation format, described by [Distributed Tracing](https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#distributed-tracing).
392
+ # * `B3`: B3 Propagation using multiple headers, described by [openzipkin/b3-propagation](https://github.com/openzipkin/b3-propagation#multiple-headers).
393
+ # * `B3 single header`: B3 Propagation using a single header, described by [openzipkin/b3-propagation](https://github.com/openzipkin/b3-propagation#single-header).
394
+ #
395
+ # @public_api
396
+ settings :distributed_tracing do
397
+ # An ordered list of what data propagation styles the tracer will use to extract distributed tracing propagation
398
+ # data from incoming requests and messages.
399
+ #
400
+ # The tracer will try to find distributed headers in the order they are present in the list provided to this option.
401
+ # The first format to have valid data present will be used.
402
+ #
403
+ # @default `DD_PROPAGATION_STYLE_EXTRACT` environment variable (comma-separated list),
404
+ # otherwise `['Datadog','B3','B3 single header']`.
405
+ # @return [Array<String>]
406
+ option :propagation_extract_style do |o|
407
+ o.default do
408
+ # Look for all headers by default
409
+ env_to_list(
410
+ Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_EXTRACT,
411
+ [
412
+ Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG,
413
+ Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3,
414
+ Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3_SINGLE_HEADER
415
+ ]
416
+ )
417
+ end
418
+
419
+ o.lazy
420
+ end
421
+
422
+ # The data propagation styles the tracer will use to inject distributed tracing propagation
423
+ # data into outgoing requests and messages.
424
+ #
425
+ # The tracer will inject data from all styles specified in this option.
426
+ #
427
+ # @default `DD_PROPAGATION_STYLE_INJECT` environment variable (comma-separated list), otherwise `['Datadog']`.
428
+ # @return [Array<String>]
429
+ option :propagation_inject_style do |o|
430
+ o.default do
431
+ env_to_list(
432
+ Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_INJECT,
433
+ [Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG] # Only inject Datadog headers by default
434
+ )
435
+ end
436
+
437
+ o.lazy
438
+ end
439
+ end
440
+
441
+ # Enable trace collection and span generation.
442
+ #
443
+ # You can use this option to disable tracing without having to
444
+ # remove the library as a whole.
445
+ #
446
+ # @default `DD_TRACE_ENABLED` environment variable, otherwise `true`
447
+ # @return [Boolean]
448
+ option :enabled do |o|
449
+ o.default { env_to_bool(Datadog::Core::Diagnostics::Ext::DD_TRACE_ENABLED, true) }
450
+ o.lazy
451
+ end
452
+
453
+ # A custom tracer instance.
454
+ #
455
+ # It must respect the contract of {Datadog::Tracing::Tracer}.
456
+ # It's recommended to delegate methods to {Datadog::Tracing::Tracer} to ease the implementation
457
+ # of a custom tracer.
458
+ #
459
+ # This option will not return the live tracer instance: it only holds a custom tracing instance, if any.
460
+ #
461
+ # For internal use only.
462
+ #
463
+ # @default `nil`
464
+ # @return [Object,nil]
465
+ option :instance
466
+
467
+ # Automatic correlation between tracing and logging.
468
+ # @see https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#trace-correlation
469
+ # @return [Boolean]
470
+ option :log_injection do |o|
471
+ o.default { env_to_bool(Tracing::Configuration::Ext::Correlation::ENV_LOGS_INJECTION_ENABLED, true) }
472
+ o.lazy
473
+ end
474
+
475
+ # Configures an alternative trace transport behavior, where
476
+ # traces can be sent to the agent and backend before all spans
477
+ # have finished.
478
+ #
479
+ # This is useful for long-running jobs or very large traces.
480
+ #
481
+ # The trace flame graph will display the partial trace as it is received and constantly
482
+ # update with new spans as they are flushed.
483
+ # @public_api
484
+ settings :partial_flush do
485
+ # Enable partial trace flushing.
486
+ #
487
+ # @default `false`
488
+ # @return [Boolean]
489
+ option :enabled, default: false
490
+
491
+ # Minimum number of finished spans required in a single unfinished trace before
492
+ # the tracer will consider that trace for partial flushing.
493
+ #
494
+ # This option helps preserve a minimum amount of batching in the
495
+ # flushing process, reducing network overhead.
496
+ #
497
+ # This threshold only applies to unfinished traces. Traces that have finished
498
+ # are always flushed immediately.
499
+ #
500
+ # @default 500
501
+ # @return [Boolean]
502
+ option :min_spans_threshold, default: 500
503
+ end
504
+
505
+ # Enables {https://docs.datadoghq.com/tracing/trace_retention_and_ingestion/#datadog-intelligent-retention-filter
506
+ # Datadog intelligent retention filter}.
507
+ # @default `true`
508
+ # @return [Boolean,nil]
509
+ option :priority_sampling
510
+
511
+ option :report_hostname do |o|
512
+ o.default { env_to_bool(Tracing::Configuration::Ext::NET::ENV_REPORT_HOSTNAME, false) }
513
+ o.lazy
514
+ end
515
+
516
+ # A custom sampler instance.
517
+ # The object must respect the {Datadog::Tracing::Sampling::Sampler} interface.
518
+ # @default `nil`
519
+ # @return [Object,nil]
520
+ option :sampler
521
+
522
+ # Client-side sampling configuration.
523
+ # @public_api
524
+ settings :sampling do
525
+ # Default sampling rate for the tracer.
526
+ #
527
+ # If `nil`, the trace uses an automatic sampling strategy that tries to ensure
528
+ # the collection of traces that are considered important (e.g. traces with an error, traces
529
+ # for resources not seen recently).
530
+ #
531
+ # @default `DD_TRACE_SAMPLE_RATE` environment variable, otherwise `nil`.
532
+ # @return [Float,nil]
533
+ option :default_rate do |o|
534
+ o.default { env_to_float(Tracing::Configuration::Ext::Sampling::ENV_SAMPLE_RATE, nil) }
535
+ o.lazy
536
+ end
537
+
538
+ # Rate limit for number of spans per second.
539
+ #
540
+ # Spans created above the limit will contribute to service metrics, but won't
541
+ # have their payload stored.
542
+ #
543
+ # @default `DD_TRACE_RATE_LIMIT` environment variable, otherwise 100.
544
+ # @return [Numeric,nil]
545
+ option :rate_limit do |o|
546
+ o.default { env_to_float(Tracing::Configuration::Ext::Sampling::ENV_RATE_LIMIT, 100) }
547
+ o.lazy
548
+ end
549
+ end
550
+
551
+ # [Continuous Integration Visibility](https://docs.datadoghq.com/continuous_integration/) configuration.
552
+ # @public_api
553
+ settings :test_mode do
554
+ # Enable test mode. This allows the tracer to collect spans from test runs.
555
+ #
556
+ # It also prevents the tracer from collecting spans in a production environment. Only use in a test environment.
557
+ #
558
+ # @default `DD_TRACE_TEST_MODE_ENABLED` environment variable, otherwise `false`
559
+ # @return [Boolean]
560
+ option :enabled do |o|
561
+ o.default { env_to_bool(Tracing::Configuration::Ext::Test::ENV_MODE_ENABLED, false) }
562
+ o.lazy
563
+ end
564
+
565
+ option :trace_flush do |o|
566
+ o.default { nil }
567
+ o.lazy
568
+ end
569
+
570
+ option :writer_options do |o|
571
+ o.default { {} }
572
+ o.lazy
573
+ end
574
+ end
575
+
576
+ # @see file:docs/GettingStarted.md#configuring-the-transport-layer Configuring the transport layer
577
+ #
578
+ # A {Proc} that configures a custom tracer transport.
579
+ # @yield Receives a {Datadog::Transport::HTTP} that can be modified with custom adapters and settings.
580
+ # @yieldparam [Datadog::Transport::HTTP] t transport to be configured.
581
+ # @default `nil`
582
+ # @return [Proc,nil]
583
+ option :transport_options, default: nil
584
+
585
+ # A custom writer instance.
586
+ # The object must respect the {Datadog::Tracing::Writer} interface.
587
+ #
588
+ # This option is recommended for internal use only.
589
+ #
590
+ # @default `nil`
591
+ # @return [Object,nil]
592
+ option :writer
593
+
594
+ # A custom {Hash} with keyword options to be passed to {Datadog::Tracing::Writer#initialize}.
595
+ #
596
+ # This option is recommended for internal use only.
597
+ #
598
+ # @default `{}`
599
+ # @return [Hash,nil]
600
+ option :writer_options, default: ->(_i) { {} }, lazy: true
601
+ end
602
+
603
+ # The `version` tag in Datadog. Use it to enable [Deployment Tracking](https://docs.datadoghq.com/tracing/deployment_tracking/).
604
+ # @see https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging
605
+ # @default `DD_VERSION` environment variable, otherwise `nils`
606
+ # @return [String,nil]
607
+ option :version do |o|
608
+ # NOTE: version also gets set as a side effect of tags. See the WORKAROUND note in #initialize for details.
609
+ o.default { ENV.fetch(Core::Environment::Ext::ENV_VERSION, nil) }
610
+ o.lazy
611
+ end
612
+ end
613
+ # rubocop:enable Metrics/BlockLength
614
+ # rubocop:enable Metrics/ClassLength
615
+ # rubocop:enable Layout/LineLength
616
+ end
617
+ end
618
+ end