ddtrace 0.52.0 → 1.8.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 (1169) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +701 -12
  3. data/LICENSE-3rdparty.csv +6 -1
  4. data/README.md +10 -1
  5. data/bin/ddtracerb +5 -5
  6. data/ext/ddtrace_profiling_loader/ddtrace_profiling_loader.c +134 -0
  7. data/ext/ddtrace_profiling_loader/extconf.rb +74 -0
  8. data/ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md +156 -0
  9. data/ext/ddtrace_profiling_native_extension/clock_id.h +25 -0
  10. data/ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c +75 -0
  11. data/ext/ddtrace_profiling_native_extension/clock_id_noop.c +23 -0
  12. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.c +899 -0
  13. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.h +9 -0
  14. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +776 -0
  15. data/ext/ddtrace_profiling_native_extension/collectors_dynamic_sampling_rate.c +142 -0
  16. data/ext/ddtrace_profiling_native_extension/collectors_dynamic_sampling_rate.h +14 -0
  17. data/ext/ddtrace_profiling_native_extension/collectors_idle_sampling_helper.c +241 -0
  18. data/ext/ddtrace_profiling_native_extension/collectors_idle_sampling_helper.h +3 -0
  19. data/ext/ddtrace_profiling_native_extension/collectors_stack.c +390 -0
  20. data/ext/ddtrace_profiling_native_extension/collectors_stack.h +18 -0
  21. data/ext/ddtrace_profiling_native_extension/extconf.rb +234 -14
  22. data/ext/ddtrace_profiling_native_extension/helpers.h +17 -0
  23. data/ext/ddtrace_profiling_native_extension/http_transport.c +353 -0
  24. data/ext/ddtrace_profiling_native_extension/libdatadog_helpers.h +14 -0
  25. data/ext/ddtrace_profiling_native_extension/native_extension_helpers.rb +297 -0
  26. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.c +836 -0
  27. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.h +45 -0
  28. data/ext/ddtrace_profiling_native_extension/profiling.c +237 -3
  29. data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +110 -0
  30. data/ext/ddtrace_profiling_native_extension/ruby_helpers.h +89 -0
  31. data/ext/ddtrace_profiling_native_extension/setup_signal_handler.c +115 -0
  32. data/ext/ddtrace_profiling_native_extension/setup_signal_handler.h +11 -0
  33. data/ext/ddtrace_profiling_native_extension/stack_recorder.c +487 -0
  34. data/ext/ddtrace_profiling_native_extension/stack_recorder.h +39 -0
  35. data/ext/ddtrace_profiling_native_extension/time_helpers.c +17 -0
  36. data/ext/ddtrace_profiling_native_extension/time_helpers.h +10 -0
  37. data/lib/datadog/appsec/assets/blocked.html +99 -0
  38. data/lib/datadog/appsec/assets/blocked.json +1 -0
  39. data/lib/datadog/appsec/assets/blocked.text +5 -0
  40. data/lib/datadog/appsec/assets/waf_rules/README.md +7 -0
  41. data/lib/datadog/appsec/assets/waf_rules/recommended.json +6521 -0
  42. data/lib/datadog/appsec/assets/waf_rules/risky.json +1499 -0
  43. data/lib/datadog/appsec/assets/waf_rules/strict.json +1533 -0
  44. data/lib/datadog/appsec/assets.rb +38 -0
  45. data/lib/datadog/appsec/autoload.rb +18 -0
  46. data/lib/datadog/appsec/configuration/settings.rb +198 -0
  47. data/lib/datadog/appsec/configuration.rb +84 -0
  48. data/lib/datadog/appsec/contrib/auto_instrument.rb +27 -0
  49. data/lib/datadog/appsec/contrib/configuration/settings.rb +20 -0
  50. data/lib/datadog/appsec/contrib/integration.rb +37 -0
  51. data/lib/datadog/appsec/contrib/patcher.rb +12 -0
  52. data/lib/datadog/appsec/contrib/rack/configuration/settings.rb +22 -0
  53. data/lib/datadog/appsec/contrib/rack/ext.rb +15 -0
  54. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +174 -0
  55. data/lib/datadog/appsec/contrib/rack/integration.rb +49 -0
  56. data/lib/datadog/appsec/contrib/rack/patcher.rb +32 -0
  57. data/lib/datadog/appsec/contrib/rack/reactive/request.rb +83 -0
  58. data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +64 -0
  59. data/lib/datadog/appsec/contrib/rack/reactive/response.rb +64 -0
  60. data/lib/datadog/appsec/contrib/rack/request.rb +78 -0
  61. data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +41 -0
  62. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +139 -0
  63. data/lib/datadog/appsec/contrib/rack/response.rb +24 -0
  64. data/lib/datadog/appsec/contrib/rails/configuration/settings.rb +22 -0
  65. data/lib/datadog/appsec/contrib/rails/ext.rb +15 -0
  66. data/lib/datadog/appsec/contrib/rails/framework.rb +30 -0
  67. data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +82 -0
  68. data/lib/datadog/appsec/contrib/rails/integration.rb +48 -0
  69. data/lib/datadog/appsec/contrib/rails/patcher.rb +159 -0
  70. data/lib/datadog/appsec/contrib/rails/reactive/action.rb +68 -0
  71. data/lib/datadog/appsec/contrib/rails/request.rb +36 -0
  72. data/lib/datadog/appsec/contrib/rails/request_middleware.rb +20 -0
  73. data/lib/datadog/appsec/contrib/sinatra/configuration/settings.rb +22 -0
  74. data/lib/datadog/appsec/contrib/sinatra/ext.rb +16 -0
  75. data/lib/datadog/appsec/contrib/sinatra/framework.rb +34 -0
  76. data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +126 -0
  77. data/lib/datadog/appsec/contrib/sinatra/integration.rb +48 -0
  78. data/lib/datadog/appsec/contrib/sinatra/patcher.rb +151 -0
  79. data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +63 -0
  80. data/lib/datadog/appsec/contrib/sinatra/request_middleware.rb +20 -0
  81. data/lib/datadog/appsec/event.rb +117 -0
  82. data/lib/datadog/appsec/extensions.rb +128 -0
  83. data/lib/datadog/appsec/instrumentation/gateway.rb +58 -0
  84. data/lib/datadog/appsec/processor.rb +198 -0
  85. data/lib/datadog/appsec/rate_limiter.rb +60 -0
  86. data/lib/datadog/appsec/reactive/address_hash.rb +18 -0
  87. data/lib/datadog/appsec/reactive/engine.rb +44 -0
  88. data/lib/datadog/appsec/reactive/operation.rb +51 -0
  89. data/lib/datadog/appsec/reactive/subscriber.rb +18 -0
  90. data/lib/datadog/appsec/response.rb +54 -0
  91. data/lib/datadog/appsec.rb +23 -0
  92. data/lib/datadog/ci/configuration/components.rb +9 -8
  93. data/lib/datadog/ci/configuration/settings.rb +20 -4
  94. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +5 -3
  95. data/lib/datadog/ci/contrib/cucumber/ext.rb +2 -0
  96. data/lib/datadog/ci/contrib/cucumber/formatter.rb +9 -13
  97. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +3 -2
  98. data/lib/datadog/ci/contrib/cucumber/integration.rb +6 -5
  99. data/lib/datadog/ci/contrib/cucumber/patcher.rb +4 -3
  100. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +5 -3
  101. data/lib/datadog/ci/contrib/rspec/example.rb +9 -13
  102. data/lib/datadog/ci/contrib/rspec/ext.rb +2 -0
  103. data/lib/datadog/ci/contrib/rspec/integration.rb +8 -7
  104. data/lib/datadog/ci/contrib/rspec/patcher.rb +4 -3
  105. data/lib/datadog/ci/ext/app_types.rb +2 -1
  106. data/lib/datadog/ci/ext/environment.rb +189 -115
  107. data/lib/datadog/ci/ext/settings.rb +2 -1
  108. data/lib/datadog/ci/ext/test.rb +2 -0
  109. data/lib/datadog/ci/extensions.rb +7 -6
  110. data/lib/datadog/ci/flush.rb +38 -0
  111. data/lib/datadog/ci/test.rb +22 -16
  112. data/lib/datadog/ci.rb +7 -4
  113. data/lib/datadog/core/buffer/cruby.rb +55 -0
  114. data/lib/datadog/core/buffer/random.rb +134 -0
  115. data/lib/datadog/core/buffer/thread_safe.rb +58 -0
  116. data/lib/datadog/core/chunker.rb +35 -0
  117. data/lib/datadog/core/configuration/agent_settings_resolver.rb +362 -0
  118. data/lib/datadog/core/configuration/base.rb +98 -0
  119. data/lib/datadog/core/configuration/components.rb +462 -0
  120. data/lib/datadog/core/configuration/dependency_resolver.rb +28 -0
  121. data/lib/datadog/core/configuration/ext.rb +18 -0
  122. data/lib/datadog/core/configuration/option.rb +69 -0
  123. data/lib/datadog/core/configuration/option_definition.rb +126 -0
  124. data/lib/datadog/core/configuration/option_definition_set.rb +22 -0
  125. data/lib/datadog/core/configuration/option_set.rb +10 -0
  126. data/lib/datadog/core/configuration/options.rb +118 -0
  127. data/lib/datadog/core/configuration/settings.rb +444 -0
  128. data/lib/datadog/core/configuration.rb +289 -0
  129. data/lib/datadog/core/diagnostics/environment_logger.rb +287 -0
  130. data/lib/datadog/core/diagnostics/health.rb +19 -0
  131. data/lib/datadog/core/encoding.rb +76 -0
  132. data/lib/datadog/core/environment/cgroup.rb +5 -2
  133. data/lib/datadog/core/environment/class_count.rb +1 -0
  134. data/lib/datadog/core/environment/container.rb +4 -2
  135. data/lib/datadog/core/environment/ext.rb +29 -10
  136. data/lib/datadog/core/environment/gc.rb +1 -0
  137. data/lib/datadog/core/environment/identity.rb +12 -5
  138. data/lib/datadog/core/environment/platform.rb +40 -0
  139. data/lib/datadog/core/environment/socket.rb +9 -2
  140. data/lib/datadog/core/environment/thread_count.rb +1 -0
  141. data/lib/datadog/core/environment/variable_helpers.rb +85 -11
  142. data/lib/datadog/core/environment/vm_cache.rb +47 -0
  143. data/lib/datadog/core/error.rb +101 -0
  144. data/lib/datadog/core/extensions.rb +16 -0
  145. data/lib/datadog/core/git/ext.rb +35 -0
  146. data/lib/datadog/core/header_collection.rb +41 -0
  147. data/lib/datadog/core/logger.rb +46 -0
  148. data/lib/datadog/core/logging/ext.rb +11 -0
  149. data/lib/datadog/core/metrics/client.rb +198 -0
  150. data/lib/datadog/core/metrics/ext.rb +20 -0
  151. data/lib/datadog/core/metrics/helpers.rb +25 -0
  152. data/lib/datadog/core/metrics/logging.rb +44 -0
  153. data/lib/datadog/core/metrics/metric.rb +14 -0
  154. data/lib/datadog/core/metrics/options.rb +50 -0
  155. data/lib/datadog/core/pin.rb +75 -0
  156. data/lib/datadog/core/runtime/ext.rb +28 -0
  157. data/lib/datadog/core/runtime/metrics.rb +126 -0
  158. data/lib/datadog/core/telemetry/client.rb +79 -0
  159. data/lib/datadog/core/telemetry/collector.rb +232 -0
  160. data/lib/datadog/core/telemetry/emitter.rb +48 -0
  161. data/lib/datadog/core/telemetry/event.rb +71 -0
  162. data/lib/datadog/core/telemetry/ext.rb +11 -0
  163. data/lib/datadog/core/telemetry/heartbeat.rb +37 -0
  164. data/lib/datadog/core/telemetry/http/adapters/net.rb +113 -0
  165. data/lib/datadog/core/telemetry/http/env.rb +20 -0
  166. data/lib/datadog/core/telemetry/http/ext.rb +20 -0
  167. data/lib/datadog/core/telemetry/http/response.rb +68 -0
  168. data/lib/datadog/core/telemetry/http/transport.rb +53 -0
  169. data/lib/datadog/core/telemetry/v1/app_event.rb +52 -0
  170. data/lib/datadog/core/telemetry/v1/application.rb +86 -0
  171. data/lib/datadog/core/telemetry/v1/configuration.rb +25 -0
  172. data/lib/datadog/core/telemetry/v1/dependency.rb +36 -0
  173. data/lib/datadog/core/telemetry/v1/host.rb +51 -0
  174. data/lib/datadog/core/telemetry/v1/integration.rb +58 -0
  175. data/lib/datadog/core/telemetry/v1/product.rb +28 -0
  176. data/lib/datadog/core/telemetry/v1/telemetry_request.rb +100 -0
  177. data/lib/datadog/core/utils/compression.rb +36 -0
  178. data/lib/datadog/core/utils/forking.rb +63 -0
  179. data/lib/datadog/core/utils/object_set.rb +43 -0
  180. data/lib/datadog/core/utils/only_once.rb +44 -0
  181. data/lib/datadog/core/utils/safe_dup.rb +27 -0
  182. data/lib/datadog/core/utils/sequence.rb +26 -0
  183. data/lib/datadog/core/utils/string_table.rb +49 -0
  184. data/lib/datadog/core/utils/time.rb +54 -0
  185. data/lib/datadog/core/utils.rb +94 -0
  186. data/lib/datadog/core/vendor/multipart-post/multipart/post/composite_read_io.rb +120 -0
  187. data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +61 -0
  188. data/lib/datadog/core/vendor/multipart-post/multipart/post/parts.rb +139 -0
  189. data/lib/datadog/core/vendor/multipart-post/multipart/post/version.rb +13 -0
  190. data/lib/datadog/core/vendor/multipart-post/multipart/post.rb +12 -0
  191. data/lib/datadog/core/vendor/multipart-post/multipart.rb +16 -0
  192. data/lib/datadog/core/vendor/multipart-post/net/http/post/multipart.rb +36 -0
  193. data/lib/datadog/core/worker.rb +24 -0
  194. data/lib/datadog/core/workers/async.rb +180 -0
  195. data/lib/datadog/core/workers/interval_loop.rb +119 -0
  196. data/lib/datadog/core/workers/polling.rb +59 -0
  197. data/lib/datadog/core/workers/queue.rb +44 -0
  198. data/lib/datadog/core/workers/runtime_metrics.rb +62 -0
  199. data/lib/datadog/core.rb +46 -0
  200. data/lib/datadog/kit/enable_core_dumps.rb +50 -0
  201. data/lib/datadog/kit/identity.rb +63 -0
  202. data/lib/datadog/kit.rb +11 -0
  203. data/lib/datadog/opentracer/binary_propagator.rb +26 -0
  204. data/lib/datadog/opentracer/carrier.rb +9 -0
  205. data/lib/datadog/opentracer/distributed_headers.rb +56 -0
  206. data/lib/datadog/opentracer/global_tracer.rb +17 -0
  207. data/lib/datadog/opentracer/propagator.rb +26 -0
  208. data/lib/datadog/opentracer/rack_propagator.rb +73 -0
  209. data/lib/datadog/opentracer/scope.rb +18 -0
  210. data/lib/datadog/opentracer/scope_manager.rb +9 -0
  211. data/lib/datadog/opentracer/span.rb +101 -0
  212. data/lib/datadog/opentracer/span_context.rb +19 -0
  213. data/lib/datadog/opentracer/span_context_factory.rb +27 -0
  214. data/lib/datadog/opentracer/text_map_propagator.rb +88 -0
  215. data/lib/datadog/opentracer/thread_local_scope.rb +34 -0
  216. data/lib/datadog/opentracer/thread_local_scope_manager.rb +66 -0
  217. data/lib/datadog/opentracer/tracer.rb +214 -0
  218. data/lib/datadog/opentracer.rb +24 -0
  219. data/lib/datadog/profiling/backtrace_location.rb +34 -0
  220. data/lib/datadog/profiling/buffer.rb +43 -0
  221. data/lib/datadog/profiling/collectors/code_provenance.rb +115 -0
  222. data/lib/datadog/profiling/collectors/cpu_and_wall_time.rb +43 -0
  223. data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +91 -0
  224. data/lib/datadog/profiling/collectors/dynamic_sampling_rate.rb +14 -0
  225. data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +68 -0
  226. data/lib/datadog/profiling/collectors/old_stack.rb +305 -0
  227. data/lib/datadog/profiling/collectors/stack.rb +13 -0
  228. data/lib/datadog/profiling/encoding/profile.rb +43 -0
  229. data/lib/datadog/profiling/event.rb +15 -0
  230. data/lib/datadog/profiling/events/stack.rb +82 -0
  231. data/lib/datadog/profiling/exporter.rb +85 -0
  232. data/lib/datadog/profiling/ext/forking.rb +98 -0
  233. data/lib/datadog/profiling/ext.rb +45 -0
  234. data/lib/datadog/profiling/flush.rb +38 -0
  235. data/lib/datadog/profiling/http_transport.rb +132 -0
  236. data/lib/datadog/profiling/load_native_extension.rb +22 -0
  237. data/lib/datadog/profiling/native_extension.rb +41 -0
  238. data/lib/datadog/profiling/old_recorder.rb +109 -0
  239. data/lib/datadog/profiling/pprof/builder.rb +127 -0
  240. data/lib/datadog/profiling/pprof/converter.rb +104 -0
  241. data/lib/datadog/profiling/pprof/message_set.rb +16 -0
  242. data/lib/datadog/profiling/pprof/payload.rb +20 -0
  243. data/lib/datadog/profiling/pprof/pprof_pb.rb +83 -0
  244. data/lib/datadog/profiling/pprof/stack_sample.rb +141 -0
  245. data/lib/datadog/profiling/pprof/string_table.rb +12 -0
  246. data/lib/datadog/profiling/pprof/template.rb +120 -0
  247. data/lib/datadog/profiling/preload.rb +5 -0
  248. data/lib/datadog/profiling/profiler.rb +41 -0
  249. data/lib/datadog/profiling/scheduler.rb +130 -0
  250. data/lib/datadog/profiling/stack_recorder.rb +79 -0
  251. data/lib/datadog/profiling/tag_builder.rb +53 -0
  252. data/lib/datadog/profiling/tasks/exec.rb +50 -0
  253. data/lib/datadog/profiling/tasks/help.rb +18 -0
  254. data/lib/datadog/profiling/tasks/setup.rb +86 -0
  255. data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +45 -0
  256. data/lib/datadog/profiling/trace_identifiers/helper.rb +47 -0
  257. data/lib/datadog/profiling.rb +173 -0
  258. data/lib/datadog/tracing/analytics.rb +25 -0
  259. data/lib/datadog/tracing/buffer.rb +132 -0
  260. data/lib/datadog/tracing/client_ip.rb +164 -0
  261. data/lib/datadog/tracing/configuration/ext.rb +95 -0
  262. data/lib/datadog/tracing/configuration/settings.rb +433 -0
  263. data/lib/datadog/tracing/context.rb +68 -0
  264. data/lib/datadog/tracing/context_provider.rb +82 -0
  265. data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +35 -0
  266. data/lib/datadog/tracing/contrib/action_cable/event.rb +71 -0
  267. data/lib/datadog/tracing/contrib/action_cable/events/broadcast.rb +58 -0
  268. data/lib/datadog/tracing/contrib/action_cable/events/perform_action.rb +63 -0
  269. data/lib/datadog/tracing/contrib/action_cable/events/transmit.rb +59 -0
  270. data/lib/datadog/tracing/contrib/action_cable/events.rb +37 -0
  271. data/lib/datadog/tracing/contrib/action_cable/ext.rb +32 -0
  272. data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +90 -0
  273. data/lib/datadog/tracing/contrib/action_cable/integration.rb +50 -0
  274. data/lib/datadog/tracing/contrib/action_cable/patcher.rb +31 -0
  275. data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +36 -0
  276. data/lib/datadog/tracing/contrib/action_mailer/event.rb +52 -0
  277. data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +60 -0
  278. data/lib/datadog/tracing/contrib/action_mailer/events/process.rb +47 -0
  279. data/lib/datadog/tracing/contrib/action_mailer/events.rb +34 -0
  280. data/lib/datadog/tracing/contrib/action_mailer/ext.rb +33 -0
  281. data/lib/datadog/tracing/contrib/action_mailer/integration.rb +50 -0
  282. data/lib/datadog/tracing/contrib/action_mailer/patcher.rb +29 -0
  283. data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +160 -0
  284. data/lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb +29 -0
  285. data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +36 -0
  286. data/lib/datadog/tracing/contrib/action_pack/ext.rb +22 -0
  287. data/lib/datadog/tracing/contrib/action_pack/integration.rb +50 -0
  288. data/lib/datadog/tracing/contrib/action_pack/patcher.rb +27 -0
  289. data/lib/datadog/tracing/contrib/action_pack/utils.rb +40 -0
  290. data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +36 -0
  291. data/lib/datadog/tracing/contrib/action_view/event.rb +35 -0
  292. data/lib/datadog/tracing/contrib/action_view/events/render_partial.rb +54 -0
  293. data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +57 -0
  294. data/lib/datadog/tracing/contrib/action_view/events.rb +34 -0
  295. data/lib/datadog/tracing/contrib/action_view/ext.rb +24 -0
  296. data/lib/datadog/tracing/contrib/action_view/instrumentation/partial_renderer.rb +78 -0
  297. data/lib/datadog/tracing/contrib/action_view/instrumentation/template_renderer.rb +91 -0
  298. data/lib/datadog/tracing/contrib/action_view/integration.rb +57 -0
  299. data/lib/datadog/tracing/contrib/action_view/patcher.rb +47 -0
  300. data/lib/datadog/tracing/contrib/action_view/utils.rb +36 -0
  301. data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +37 -0
  302. data/lib/datadog/tracing/contrib/active_job/event.rb +58 -0
  303. data/lib/datadog/tracing/contrib/active_job/events/discard.rb +50 -0
  304. data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +49 -0
  305. data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +49 -0
  306. data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +51 -0
  307. data/lib/datadog/tracing/contrib/active_job/events/perform.rb +49 -0
  308. data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +50 -0
  309. data/lib/datadog/tracing/contrib/active_job/events.rb +42 -0
  310. data/lib/datadog/tracing/contrib/active_job/ext.rb +39 -0
  311. data/lib/datadog/tracing/contrib/active_job/integration.rb +50 -0
  312. data/lib/datadog/tracing/contrib/active_job/log_injection.rb +24 -0
  313. data/lib/datadog/tracing/contrib/active_job/patcher.rb +36 -0
  314. data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +33 -0
  315. data/lib/datadog/tracing/contrib/active_model_serializers/event.rb +68 -0
  316. data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +45 -0
  317. data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +47 -0
  318. data/lib/datadog/tracing/contrib/active_model_serializers/events.rb +34 -0
  319. data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +24 -0
  320. data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +45 -0
  321. data/lib/datadog/tracing/contrib/active_model_serializers/patcher.rb +32 -0
  322. data/lib/datadog/tracing/contrib/active_record/configuration/makara_resolver.rb +36 -0
  323. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +138 -0
  324. data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +39 -0
  325. data/lib/datadog/tracing/contrib/active_record/event.rb +30 -0
  326. data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +58 -0
  327. data/lib/datadog/tracing/contrib/active_record/events/sql.rb +78 -0
  328. data/lib/datadog/tracing/contrib/active_record/events.rb +34 -0
  329. data/lib/datadog/tracing/contrib/active_record/ext.rb +29 -0
  330. data/lib/datadog/tracing/contrib/active_record/integration.rb +56 -0
  331. data/lib/datadog/tracing/contrib/active_record/patcher.rb +27 -0
  332. data/lib/datadog/tracing/contrib/active_record/utils.rb +128 -0
  333. data/lib/datadog/tracing/contrib/active_record/vendor/connection_specification.rb +307 -0
  334. data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +280 -0
  335. data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +73 -0
  336. data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +47 -0
  337. data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +35 -0
  338. data/lib/datadog/tracing/contrib/active_support/ext.rb +31 -0
  339. data/lib/datadog/tracing/contrib/active_support/integration.rb +51 -0
  340. data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +71 -0
  341. data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +71 -0
  342. data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +164 -0
  343. data/lib/datadog/tracing/contrib/active_support/patcher.rb +27 -0
  344. data/lib/datadog/tracing/contrib/analytics.rb +29 -0
  345. data/lib/datadog/tracing/contrib/auto_instrument.rb +53 -0
  346. data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +38 -0
  347. data/lib/datadog/tracing/contrib/aws/ext.rb +28 -0
  348. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +96 -0
  349. data/lib/datadog/tracing/contrib/aws/integration.rb +47 -0
  350. data/lib/datadog/tracing/contrib/aws/parsed_context.rb +60 -0
  351. data/lib/datadog/tracing/contrib/aws/patcher.rb +57 -0
  352. data/lib/datadog/tracing/contrib/aws/services.rb +121 -0
  353. data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +23 -0
  354. data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +53 -0
  355. data/lib/datadog/tracing/contrib/concurrent_ruby/ext.rb +16 -0
  356. data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +27 -0
  357. data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +43 -0
  358. data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +33 -0
  359. data/lib/datadog/tracing/contrib/configurable.rb +102 -0
  360. data/lib/datadog/tracing/contrib/configuration/resolver.rb +85 -0
  361. data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +43 -0
  362. data/lib/datadog/tracing/contrib/configuration/settings.rb +43 -0
  363. data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +38 -0
  364. data/lib/datadog/tracing/contrib/dalli/ext.rb +26 -0
  365. data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +61 -0
  366. data/lib/datadog/tracing/contrib/dalli/integration.rb +52 -0
  367. data/lib/datadog/tracing/contrib/dalli/patcher.rb +28 -0
  368. data/lib/datadog/tracing/contrib/dalli/quantize.rb +26 -0
  369. data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +38 -0
  370. data/lib/datadog/tracing/contrib/delayed_job/ext.rb +28 -0
  371. data/lib/datadog/tracing/contrib/delayed_job/integration.rb +43 -0
  372. data/lib/datadog/tracing/contrib/delayed_job/patcher.rb +37 -0
  373. data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +104 -0
  374. data/lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb +32 -0
  375. data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +40 -0
  376. data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +29 -0
  377. data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +50 -0
  378. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +153 -0
  379. data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +89 -0
  380. data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +42 -0
  381. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +176 -0
  382. data/lib/datadog/tracing/contrib/ethon/ext.rb +25 -0
  383. data/lib/datadog/tracing/contrib/ethon/integration.rb +48 -0
  384. data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +97 -0
  385. data/lib/datadog/tracing/contrib/ethon/patcher.rb +31 -0
  386. data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +42 -0
  387. data/lib/datadog/tracing/contrib/excon/ext.rb +22 -0
  388. data/lib/datadog/tracing/contrib/excon/integration.rb +48 -0
  389. data/lib/datadog/tracing/contrib/excon/middleware.rb +171 -0
  390. data/lib/datadog/tracing/contrib/excon/patcher.rb +31 -0
  391. data/lib/datadog/tracing/contrib/ext.rb +25 -0
  392. data/lib/datadog/tracing/contrib/extensions.rb +199 -0
  393. data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +46 -0
  394. data/lib/datadog/tracing/contrib/faraday/connection.rb +22 -0
  395. data/lib/datadog/tracing/contrib/faraday/ext.rb +22 -0
  396. data/lib/datadog/tracing/contrib/faraday/integration.rb +48 -0
  397. data/lib/datadog/tracing/contrib/faraday/middleware.rb +93 -0
  398. data/lib/datadog/tracing/contrib/faraday/patcher.rb +56 -0
  399. data/lib/datadog/tracing/contrib/faraday/rack_builder.rb +22 -0
  400. data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +42 -0
  401. data/lib/datadog/tracing/contrib/grape/endpoint.rb +250 -0
  402. data/lib/datadog/tracing/contrib/grape/ext.rb +28 -0
  403. data/lib/datadog/tracing/contrib/grape/instrumentation.rb +37 -0
  404. data/lib/datadog/tracing/contrib/grape/integration.rb +44 -0
  405. data/lib/datadog/tracing/contrib/grape/patcher.rb +33 -0
  406. data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +36 -0
  407. data/lib/datadog/tracing/contrib/graphql/ext.rb +19 -0
  408. data/lib/datadog/tracing/contrib/graphql/integration.rb +44 -0
  409. data/lib/datadog/tracing/contrib/graphql/patcher.rb +90 -0
  410. data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +43 -0
  411. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +99 -0
  412. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +90 -0
  413. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +107 -0
  414. data/lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb +27 -0
  415. data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +43 -0
  416. data/lib/datadog/tracing/contrib/grpc/ext.rb +27 -0
  417. data/lib/datadog/tracing/contrib/grpc/integration.rb +43 -0
  418. data/lib/datadog/tracing/contrib/grpc/intercept_with_datadog.rb +53 -0
  419. data/lib/datadog/tracing/contrib/grpc/patcher.rb +35 -0
  420. data/lib/datadog/tracing/contrib/hanami/action_tracer.rb +47 -0
  421. data/lib/datadog/tracing/contrib/hanami/configuration/settings.rb +22 -0
  422. data/lib/datadog/tracing/contrib/hanami/ext.rb +24 -0
  423. data/lib/datadog/tracing/contrib/hanami/integration.rb +44 -0
  424. data/lib/datadog/tracing/contrib/hanami/patcher.rb +33 -0
  425. data/lib/datadog/tracing/contrib/hanami/plugin.rb +23 -0
  426. data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +41 -0
  427. data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +44 -0
  428. data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +43 -0
  429. data/lib/datadog/tracing/contrib/http/configuration/settings.rb +42 -0
  430. data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +32 -0
  431. data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +38 -0
  432. data/lib/datadog/tracing/contrib/http/ext.rb +22 -0
  433. data/lib/datadog/tracing/contrib/http/instrumentation.rb +140 -0
  434. data/lib/datadog/tracing/contrib/http/integration.rb +49 -0
  435. data/lib/datadog/tracing/contrib/http/patcher.rb +30 -0
  436. data/lib/datadog/tracing/contrib/http_annotation_helper.rb +17 -0
  437. data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +42 -0
  438. data/lib/datadog/tracing/contrib/httpclient/ext.rb +22 -0
  439. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +118 -0
  440. data/lib/datadog/tracing/contrib/httpclient/integration.rb +48 -0
  441. data/lib/datadog/tracing/contrib/httpclient/patcher.rb +42 -0
  442. data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +42 -0
  443. data/lib/datadog/tracing/contrib/httprb/ext.rb +22 -0
  444. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +129 -0
  445. data/lib/datadog/tracing/contrib/httprb/integration.rb +48 -0
  446. data/lib/datadog/tracing/contrib/httprb/patcher.rb +42 -0
  447. data/lib/datadog/tracing/contrib/integration.rb +78 -0
  448. data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +35 -0
  449. data/lib/datadog/tracing/contrib/kafka/consumer_event.rb +19 -0
  450. data/lib/datadog/tracing/contrib/kafka/consumer_group_event.rb +18 -0
  451. data/lib/datadog/tracing/contrib/kafka/event.rb +52 -0
  452. data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +42 -0
  453. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +49 -0
  454. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +47 -0
  455. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +47 -0
  456. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +37 -0
  457. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +37 -0
  458. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +37 -0
  459. data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +41 -0
  460. data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +44 -0
  461. data/lib/datadog/tracing/contrib/kafka/events.rb +48 -0
  462. data/lib/datadog/tracing/contrib/kafka/ext.rb +52 -0
  463. data/lib/datadog/tracing/contrib/kafka/integration.rb +44 -0
  464. data/lib/datadog/tracing/contrib/kafka/patcher.rb +29 -0
  465. data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +23 -0
  466. data/lib/datadog/tracing/contrib/lograge/ext.rb +15 -0
  467. data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +46 -0
  468. data/lib/datadog/tracing/contrib/lograge/integration.rb +50 -0
  469. data/lib/datadog/tracing/contrib/lograge/patcher.rb +29 -0
  470. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +42 -0
  471. data/lib/datadog/tracing/contrib/mongodb/ext.rb +35 -0
  472. data/lib/datadog/tracing/contrib/mongodb/instrumentation.rb +47 -0
  473. data/lib/datadog/tracing/contrib/mongodb/integration.rb +48 -0
  474. data/lib/datadog/tracing/contrib/mongodb/parsers.rb +49 -0
  475. data/lib/datadog/tracing/contrib/mongodb/patcher.rb +34 -0
  476. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +127 -0
  477. data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +50 -0
  478. data/lib/datadog/tracing/contrib/mysql2/ext.rb +24 -0
  479. data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +77 -0
  480. data/lib/datadog/tracing/contrib/mysql2/integration.rb +43 -0
  481. data/lib/datadog/tracing/contrib/mysql2/patcher.rb +31 -0
  482. data/lib/datadog/tracing/contrib/patchable.rb +109 -0
  483. data/lib/datadog/tracing/contrib/patcher.rb +86 -0
  484. data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +50 -0
  485. data/lib/datadog/tracing/contrib/pg/ext.rb +33 -0
  486. data/lib/datadog/tracing/contrib/pg/instrumentation.rb +155 -0
  487. data/lib/datadog/tracing/contrib/pg/integration.rb +43 -0
  488. data/lib/datadog/tracing/contrib/pg/patcher.rb +31 -0
  489. data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +38 -0
  490. data/lib/datadog/tracing/contrib/presto/ext.rb +33 -0
  491. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +124 -0
  492. data/lib/datadog/tracing/contrib/presto/integration.rb +43 -0
  493. data/lib/datadog/tracing/contrib/presto/patcher.rb +37 -0
  494. data/lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb +43 -0
  495. data/lib/datadog/tracing/contrib/propagation/sql_comment/ext.rb +33 -0
  496. data/lib/datadog/tracing/contrib/propagation/sql_comment/mode.rb +28 -0
  497. data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +47 -0
  498. data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +40 -0
  499. data/lib/datadog/tracing/contrib/qless/ext.rb +26 -0
  500. data/lib/datadog/tracing/contrib/qless/integration.rb +43 -0
  501. data/lib/datadog/tracing/contrib/qless/patcher.rb +37 -0
  502. data/lib/datadog/tracing/contrib/qless/qless_job.rb +74 -0
  503. data/lib/datadog/tracing/contrib/qless/tracer_cleaner.rb +30 -0
  504. data/lib/datadog/tracing/contrib/que/configuration/settings.rb +49 -0
  505. data/lib/datadog/tracing/contrib/que/ext.rb +34 -0
  506. data/lib/datadog/tracing/contrib/que/integration.rb +46 -0
  507. data/lib/datadog/tracing/contrib/que/patcher.rb +28 -0
  508. data/lib/datadog/tracing/contrib/que/tracer.rb +63 -0
  509. data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +35 -0
  510. data/lib/datadog/tracing/contrib/racecar/event.rb +78 -0
  511. data/lib/datadog/tracing/contrib/racecar/events/batch.rb +38 -0
  512. data/lib/datadog/tracing/contrib/racecar/events/consume.rb +35 -0
  513. data/lib/datadog/tracing/contrib/racecar/events/message.rb +38 -0
  514. data/lib/datadog/tracing/contrib/racecar/events.rb +36 -0
  515. data/lib/datadog/tracing/contrib/racecar/ext.rb +31 -0
  516. data/lib/datadog/tracing/contrib/racecar/integration.rb +44 -0
  517. data/lib/datadog/tracing/contrib/racecar/patcher.rb +29 -0
  518. data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +51 -0
  519. data/lib/datadog/tracing/contrib/rack/ext.rb +25 -0
  520. data/lib/datadog/tracing/contrib/rack/header_collection.rb +35 -0
  521. data/lib/datadog/tracing/contrib/rack/integration.rb +50 -0
  522. data/lib/datadog/tracing/contrib/rack/middlewares.rb +323 -0
  523. data/lib/datadog/tracing/contrib/rack/patcher.rb +119 -0
  524. data/lib/datadog/tracing/contrib/rack/request_queue.rb +48 -0
  525. data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +12 -0
  526. data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +74 -0
  527. data/lib/datadog/tracing/contrib/rails/ext.rb +19 -0
  528. data/lib/datadog/tracing/contrib/rails/framework.rb +148 -0
  529. data/lib/datadog/tracing/contrib/rails/integration.rb +49 -0
  530. data/lib/datadog/tracing/contrib/rails/log_injection.rb +32 -0
  531. data/lib/datadog/tracing/contrib/rails/middlewares.rb +46 -0
  532. data/lib/datadog/tracing/contrib/rails/patcher.rb +120 -0
  533. data/lib/datadog/tracing/contrib/rails/railtie.rb +19 -0
  534. data/lib/datadog/tracing/contrib/rails/utils.rb +28 -0
  535. data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +51 -0
  536. data/lib/datadog/tracing/contrib/rake/ext.rb +26 -0
  537. data/lib/datadog/tracing/contrib/rake/instrumentation.rb +103 -0
  538. data/lib/datadog/tracing/contrib/rake/integration.rb +43 -0
  539. data/lib/datadog/tracing/contrib/rake/patcher.rb +33 -0
  540. data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +49 -0
  541. data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +43 -0
  542. data/lib/datadog/tracing/contrib/redis/ext.rb +29 -0
  543. data/lib/datadog/tracing/contrib/redis/instrumentation.rb +88 -0
  544. data/lib/datadog/tracing/contrib/redis/integration.rb +80 -0
  545. data/lib/datadog/tracing/contrib/redis/patcher.rb +79 -0
  546. data/lib/datadog/tracing/contrib/redis/quantize.rb +82 -0
  547. data/lib/datadog/tracing/contrib/redis/tags.rb +56 -0
  548. data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +72 -0
  549. data/lib/datadog/tracing/contrib/redis/vendor/resolver.rb +162 -0
  550. data/lib/datadog/tracing/contrib/registerable.rb +50 -0
  551. data/lib/datadog/tracing/contrib/registry.rb +52 -0
  552. data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +37 -0
  553. data/lib/datadog/tracing/contrib/resque/ext.rb +21 -0
  554. data/lib/datadog/tracing/contrib/resque/integration.rb +48 -0
  555. data/lib/datadog/tracing/contrib/resque/patcher.rb +29 -0
  556. data/lib/datadog/tracing/contrib/resque/resque_job.rb +104 -0
  557. data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +42 -0
  558. data/lib/datadog/tracing/contrib/rest_client/ext.rb +22 -0
  559. data/lib/datadog/tracing/contrib/rest_client/integration.rb +43 -0
  560. data/lib/datadog/tracing/contrib/rest_client/patcher.rb +29 -0
  561. data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +106 -0
  562. data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +23 -0
  563. data/lib/datadog/tracing/contrib/semantic_logger/ext.rb +15 -0
  564. data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +50 -0
  565. data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +52 -0
  566. data/lib/datadog/tracing/contrib/semantic_logger/patcher.rb +29 -0
  567. data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +33 -0
  568. data/lib/datadog/tracing/contrib/sequel/database.rb +59 -0
  569. data/lib/datadog/tracing/contrib/sequel/dataset.rb +64 -0
  570. data/lib/datadog/tracing/contrib/sequel/ext.rb +22 -0
  571. data/lib/datadog/tracing/contrib/sequel/integration.rb +43 -0
  572. data/lib/datadog/tracing/contrib/sequel/patcher.rb +37 -0
  573. data/lib/datadog/tracing/contrib/sequel/utils.rb +87 -0
  574. data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +38 -0
  575. data/lib/datadog/tracing/contrib/shoryuken/ext.rb +25 -0
  576. data/lib/datadog/tracing/contrib/shoryuken/integration.rb +44 -0
  577. data/lib/datadog/tracing/contrib/shoryuken/patcher.rb +28 -0
  578. data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +63 -0
  579. data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +57 -0
  580. data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +44 -0
  581. data/lib/datadog/tracing/contrib/sidekiq/ext.rb +44 -0
  582. data/lib/datadog/tracing/contrib/sidekiq/integration.rb +53 -0
  583. data/lib/datadog/tracing/contrib/sidekiq/patcher.rb +78 -0
  584. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb +52 -0
  585. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch.rb +34 -0
  586. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info.rb +32 -0
  587. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller.rb +53 -0
  588. data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +102 -0
  589. data/lib/datadog/tracing/contrib/sidekiq/tracing.rb +44 -0
  590. data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +43 -0
  591. data/lib/datadog/tracing/contrib/sinatra/env.rb +55 -0
  592. data/lib/datadog/tracing/contrib/sinatra/ext.rb +36 -0
  593. data/lib/datadog/tracing/contrib/sinatra/framework.rb +116 -0
  594. data/lib/datadog/tracing/contrib/sinatra/headers.rb +35 -0
  595. data/lib/datadog/tracing/contrib/sinatra/integration.rb +43 -0
  596. data/lib/datadog/tracing/contrib/sinatra/patcher.rb +76 -0
  597. data/lib/datadog/tracing/contrib/sinatra/tracer.rb +86 -0
  598. data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +127 -0
  599. data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +38 -0
  600. data/lib/datadog/tracing/contrib/sneakers/ext.rb +26 -0
  601. data/lib/datadog/tracing/contrib/sneakers/integration.rb +46 -0
  602. data/lib/datadog/tracing/contrib/sneakers/patcher.rb +29 -0
  603. data/lib/datadog/tracing/contrib/sneakers/tracer.rb +59 -0
  604. data/lib/datadog/tracing/contrib/status_code_matcher.rb +75 -0
  605. data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +35 -0
  606. data/lib/datadog/tracing/contrib/sucker_punch/exception_handler.rb +28 -0
  607. data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +27 -0
  608. data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +104 -0
  609. data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +43 -0
  610. data/lib/datadog/tracing/contrib/sucker_punch/patcher.rb +36 -0
  611. data/lib/datadog/tracing/contrib/utils/database.rb +31 -0
  612. data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +111 -0
  613. data/lib/datadog/tracing/contrib/utils/quantization/http.rb +181 -0
  614. data/lib/datadog/tracing/contrib.rb +78 -0
  615. data/lib/datadog/tracing/correlation.rb +100 -0
  616. data/lib/datadog/tracing/diagnostics/ext.rb +36 -0
  617. data/lib/datadog/tracing/diagnostics/health.rb +40 -0
  618. data/lib/datadog/tracing/distributed/b3_multi.rb +66 -0
  619. data/lib/datadog/tracing/distributed/b3_single.rb +66 -0
  620. data/lib/datadog/tracing/distributed/datadog.rb +153 -0
  621. data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +85 -0
  622. data/lib/datadog/tracing/distributed/fetcher.rb +30 -0
  623. data/lib/datadog/tracing/distributed/headers/ext.rb +35 -0
  624. data/lib/datadog/tracing/distributed/helpers.rb +80 -0
  625. data/lib/datadog/tracing/distributed/none.rb +19 -0
  626. data/lib/datadog/tracing/distributed/propagation.rb +127 -0
  627. data/lib/datadog/tracing/distributed/trace_context.rb +369 -0
  628. data/lib/datadog/tracing/event.rb +78 -0
  629. data/lib/datadog/tracing/flush.rb +96 -0
  630. data/lib/datadog/tracing/metadata/analytics.rb +26 -0
  631. data/lib/datadog/tracing/metadata/errors.rb +24 -0
  632. data/lib/datadog/tracing/metadata/ext.rb +178 -0
  633. data/lib/datadog/tracing/metadata/tagging.rb +125 -0
  634. data/lib/datadog/tracing/metadata.rb +20 -0
  635. data/lib/datadog/tracing/pipeline/span_filter.rb +46 -0
  636. data/lib/datadog/tracing/pipeline/span_processor.rb +39 -0
  637. data/lib/datadog/tracing/pipeline.rb +65 -0
  638. data/lib/datadog/tracing/propagation/http.rb +14 -0
  639. data/lib/datadog/tracing/runtime/metrics.rb +19 -0
  640. data/lib/datadog/tracing/sampling/all_sampler.rb +25 -0
  641. data/lib/datadog/tracing/sampling/ext.rb +58 -0
  642. data/lib/datadog/tracing/sampling/matcher.rb +68 -0
  643. data/lib/datadog/tracing/sampling/priority_sampler.rb +165 -0
  644. data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +96 -0
  645. data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +65 -0
  646. data/lib/datadog/tracing/sampling/rate_limiter.rb +188 -0
  647. data/lib/datadog/tracing/sampling/rate_sampler.rb +72 -0
  648. data/lib/datadog/tracing/sampling/rule.rb +76 -0
  649. data/lib/datadog/tracing/sampling/rule_sampler.rb +132 -0
  650. data/lib/datadog/tracing/sampling/sampler.rb +44 -0
  651. data/lib/datadog/tracing/sampling/span/ext.rb +25 -0
  652. data/lib/datadog/tracing/sampling/span/matcher.rb +89 -0
  653. data/lib/datadog/tracing/sampling/span/rule.rb +82 -0
  654. data/lib/datadog/tracing/sampling/span/rule_parser.rb +104 -0
  655. data/lib/datadog/tracing/sampling/span/sampler.rb +75 -0
  656. data/lib/datadog/tracing/span.rb +216 -0
  657. data/lib/datadog/tracing/span_operation.rb +520 -0
  658. data/lib/datadog/tracing/sync_writer.rb +69 -0
  659. data/lib/datadog/tracing/trace_digest.rb +136 -0
  660. data/lib/datadog/tracing/trace_operation.rb +468 -0
  661. data/lib/datadog/tracing/trace_segment.rb +212 -0
  662. data/lib/datadog/tracing/tracer.rb +533 -0
  663. data/lib/datadog/tracing/utils.rb +50 -0
  664. data/lib/datadog/tracing/workers/trace_writer.rb +195 -0
  665. data/lib/datadog/tracing/workers.rb +125 -0
  666. data/lib/datadog/tracing/writer.rb +187 -0
  667. data/lib/datadog/tracing.rb +142 -0
  668. data/lib/ddtrace/auto_instrument.rb +14 -3
  669. data/lib/ddtrace/auto_instrument_base.rb +1 -0
  670. data/lib/ddtrace/profiling/preload.rb +2 -2
  671. data/lib/ddtrace/transport/ext.rb +41 -0
  672. data/lib/ddtrace/transport/http/adapters/net.rb +18 -6
  673. data/lib/ddtrace/transport/http/adapters/registry.rb +1 -0
  674. data/lib/ddtrace/transport/http/adapters/test.rb +6 -3
  675. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +25 -13
  676. data/lib/ddtrace/transport/http/api/endpoint.rb +1 -0
  677. data/lib/ddtrace/transport/http/api/fallbacks.rb +1 -0
  678. data/lib/ddtrace/transport/http/api/instance.rb +1 -0
  679. data/lib/ddtrace/transport/http/api/map.rb +2 -1
  680. data/lib/ddtrace/transport/http/api/spec.rb +1 -0
  681. data/lib/ddtrace/transport/http/api.rb +8 -14
  682. data/lib/ddtrace/transport/http/builder.rb +18 -10
  683. data/lib/ddtrace/transport/http/client.rb +5 -3
  684. data/lib/ddtrace/transport/http/env.rb +1 -0
  685. data/lib/ddtrace/transport/http/response.rb +36 -5
  686. data/lib/ddtrace/transport/http/statistics.rb +2 -1
  687. data/lib/ddtrace/transport/http/traces.rb +6 -3
  688. data/lib/ddtrace/transport/http.rb +40 -38
  689. data/lib/ddtrace/transport/io/client.rb +6 -3
  690. data/lib/ddtrace/transport/io/response.rb +2 -1
  691. data/lib/ddtrace/transport/io/traces.rb +5 -4
  692. data/lib/ddtrace/transport/io.rb +5 -4
  693. data/lib/ddtrace/transport/parcel.rb +2 -0
  694. data/lib/ddtrace/transport/request.rb +1 -0
  695. data/lib/ddtrace/transport/response.rb +1 -0
  696. data/lib/ddtrace/transport/serializable_trace.rb +118 -0
  697. data/lib/ddtrace/transport/statistics.rb +6 -4
  698. data/lib/ddtrace/transport/trace_formatter.rb +191 -0
  699. data/lib/ddtrace/transport/traces.rb +20 -8
  700. data/lib/ddtrace/version.rb +14 -12
  701. data/lib/ddtrace.rb +9 -48
  702. metadata +681 -475
  703. data/.editorconfig +0 -22
  704. data/.gitignore +0 -67
  705. data/.yardopts +0 -5
  706. data/CONTRIBUTING.md +0 -81
  707. data/ddtrace.gemspec +0 -53
  708. data/docs/DevelopmentGuide.md +0 -264
  709. data/docs/GettingStarted.md +0 -2535
  710. data/docs/ProfilingDevelopment.md +0 -107
  711. data/lib/datadog/ci/context_flush.rb +0 -29
  712. data/lib/datadog/contrib.rb +0 -69
  713. data/lib/ddtrace/analytics.rb +0 -39
  714. data/lib/ddtrace/buffer.rb +0 -328
  715. data/lib/ddtrace/chunker.rb +0 -35
  716. data/lib/ddtrace/configuration/agent_settings_resolver.rb +0 -231
  717. data/lib/ddtrace/configuration/base.rb +0 -82
  718. data/lib/ddtrace/configuration/components.rb +0 -292
  719. data/lib/ddtrace/configuration/dependency_resolver.rb +0 -25
  720. data/lib/ddtrace/configuration/option.rb +0 -65
  721. data/lib/ddtrace/configuration/option_definition.rb +0 -122
  722. data/lib/ddtrace/configuration/option_definition_set.rb +0 -19
  723. data/lib/ddtrace/configuration/option_set.rb +0 -7
  724. data/lib/ddtrace/configuration/options.rb +0 -112
  725. data/lib/ddtrace/configuration/pin_setup.rb +0 -32
  726. data/lib/ddtrace/configuration/settings.rb +0 -403
  727. data/lib/ddtrace/configuration.rb +0 -195
  728. data/lib/ddtrace/context.rb +0 -326
  729. data/lib/ddtrace/context_flush.rb +0 -82
  730. data/lib/ddtrace/context_provider.rb +0 -62
  731. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +0 -31
  732. data/lib/ddtrace/contrib/action_cable/event.rb +0 -67
  733. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +0 -50
  734. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +0 -56
  735. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +0 -51
  736. data/lib/ddtrace/contrib/action_cable/events.rb +0 -34
  737. data/lib/ddtrace/contrib/action_cable/ext.rb +0 -27
  738. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +0 -32
  739. data/lib/ddtrace/contrib/action_cable/integration.rb +0 -46
  740. data/lib/ddtrace/contrib/action_cable/patcher.rb +0 -28
  741. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +0 -157
  742. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +0 -26
  743. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +0 -33
  744. data/lib/ddtrace/contrib/action_pack/ext.rb +0 -20
  745. data/lib/ddtrace/contrib/action_pack/integration.rb +0 -46
  746. data/lib/ddtrace/contrib/action_pack/patcher.rb +0 -24
  747. data/lib/ddtrace/contrib/action_pack/utils.rb +0 -37
  748. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +0 -32
  749. data/lib/ddtrace/contrib/action_view/event.rb +0 -36
  750. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +0 -47
  751. data/lib/ddtrace/contrib/action_view/events/render_template.rb +0 -50
  752. data/lib/ddtrace/contrib/action_view/events.rb +0 -31
  753. data/lib/ddtrace/contrib/action_view/ext.rb +0 -21
  754. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +0 -75
  755. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +0 -168
  756. data/lib/ddtrace/contrib/action_view/integration.rb +0 -53
  757. data/lib/ddtrace/contrib/action_view/patcher.rb +0 -48
  758. data/lib/ddtrace/contrib/action_view/utils.rb +0 -33
  759. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +0 -31
  760. data/lib/ddtrace/contrib/active_model_serializers/event.rb +0 -69
  761. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +0 -33
  762. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +0 -36
  763. data/lib/ddtrace/contrib/active_model_serializers/events.rb +0 -31
  764. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +0 -21
  765. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +0 -41
  766. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +0 -30
  767. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +0 -31
  768. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +0 -135
  769. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +0 -36
  770. data/lib/ddtrace/contrib/active_record/event.rb +0 -31
  771. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +0 -61
  772. data/lib/ddtrace/contrib/active_record/events/sql.rb +0 -69
  773. data/lib/ddtrace/contrib/active_record/events.rb +0 -31
  774. data/lib/ddtrace/contrib/active_record/ext.rb +0 -25
  775. data/lib/ddtrace/contrib/active_record/integration.rb +0 -54
  776. data/lib/ddtrace/contrib/active_record/patcher.rb +0 -24
  777. data/lib/ddtrace/contrib/active_record/utils.rb +0 -124
  778. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +0 -259
  779. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +0 -70
  780. data/lib/ddtrace/contrib/active_support/cache/redis.rb +0 -44
  781. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +0 -31
  782. data/lib/ddtrace/contrib/active_support/ext.rb +0 -28
  783. data/lib/ddtrace/contrib/active_support/integration.rb +0 -47
  784. data/lib/ddtrace/contrib/active_support/notifications/event.rb +0 -76
  785. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +0 -68
  786. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +0 -164
  787. data/lib/ddtrace/contrib/active_support/patcher.rb +0 -24
  788. data/lib/ddtrace/contrib/analytics.rb +0 -25
  789. data/lib/ddtrace/contrib/auto_instrument.rb +0 -49
  790. data/lib/ddtrace/contrib/aws/configuration/settings.rb +0 -31
  791. data/lib/ddtrace/contrib/aws/ext.rb +0 -24
  792. data/lib/ddtrace/contrib/aws/instrumentation.rb +0 -91
  793. data/lib/ddtrace/contrib/aws/integration.rb +0 -43
  794. data/lib/ddtrace/contrib/aws/parsed_context.rb +0 -57
  795. data/lib/ddtrace/contrib/aws/patcher.rb +0 -54
  796. data/lib/ddtrace/contrib/aws/services.rb +0 -119
  797. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +0 -21
  798. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +0 -42
  799. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +0 -13
  800. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +0 -24
  801. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +0 -39
  802. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +0 -30
  803. data/lib/ddtrace/contrib/configurable.rb +0 -103
  804. data/lib/ddtrace/contrib/configuration/resolver.rb +0 -82
  805. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +0 -40
  806. data/lib/ddtrace/contrib/configuration/settings.rb +0 -56
  807. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +0 -31
  808. data/lib/ddtrace/contrib/dalli/ext.rb +0 -21
  809. data/lib/ddtrace/contrib/dalli/instrumentation.rb +0 -55
  810. data/lib/ddtrace/contrib/dalli/integration.rb +0 -39
  811. data/lib/ddtrace/contrib/dalli/patcher.rb +0 -26
  812. data/lib/ddtrace/contrib/dalli/quantize.rb +0 -23
  813. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +0 -33
  814. data/lib/ddtrace/contrib/delayed_job/ext.rb +0 -24
  815. data/lib/ddtrace/contrib/delayed_job/integration.rb +0 -39
  816. data/lib/ddtrace/contrib/delayed_job/patcher.rb +0 -29
  817. data/lib/ddtrace/contrib/delayed_job/plugin.rb +0 -85
  818. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +0 -32
  819. data/lib/ddtrace/contrib/elasticsearch/ext.rb +0 -23
  820. data/lib/ddtrace/contrib/elasticsearch/integration.rb +0 -40
  821. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +0 -123
  822. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +0 -84
  823. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +0 -33
  824. data/lib/ddtrace/contrib/ethon/easy_patch.rb +0 -152
  825. data/lib/ddtrace/contrib/ethon/ext.rb +0 -20
  826. data/lib/ddtrace/contrib/ethon/integration.rb +0 -44
  827. data/lib/ddtrace/contrib/ethon/multi_patch.rb +0 -85
  828. data/lib/ddtrace/contrib/ethon/patcher.rb +0 -27
  829. data/lib/ddtrace/contrib/excon/configuration/settings.rb +0 -34
  830. data/lib/ddtrace/contrib/excon/ext.rb +0 -18
  831. data/lib/ddtrace/contrib/excon/integration.rb +0 -44
  832. data/lib/ddtrace/contrib/excon/middleware.rb +0 -164
  833. data/lib/ddtrace/contrib/excon/patcher.rb +0 -28
  834. data/lib/ddtrace/contrib/extensions.rb +0 -169
  835. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +0 -39
  836. data/lib/ddtrace/contrib/faraday/connection.rb +0 -19
  837. data/lib/ddtrace/contrib/faraday/ext.rb +0 -18
  838. data/lib/ddtrace/contrib/faraday/integration.rb +0 -44
  839. data/lib/ddtrace/contrib/faraday/middleware.rb +0 -86
  840. data/lib/ddtrace/contrib/faraday/patcher.rb +0 -54
  841. data/lib/ddtrace/contrib/faraday/rack_builder.rb +0 -19
  842. data/lib/ddtrace/contrib/grape/configuration/settings.rb +0 -39
  843. data/lib/ddtrace/contrib/grape/endpoint.rb +0 -246
  844. data/lib/ddtrace/contrib/grape/ext.rb +0 -24
  845. data/lib/ddtrace/contrib/grape/instrumentation.rb +0 -34
  846. data/lib/ddtrace/contrib/grape/integration.rb +0 -40
  847. data/lib/ddtrace/contrib/grape/patcher.rb +0 -32
  848. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +0 -33
  849. data/lib/ddtrace/contrib/graphql/ext.rb +0 -17
  850. data/lib/ddtrace/contrib/graphql/integration.rb +0 -40
  851. data/lib/ddtrace/contrib/graphql/patcher.rb +0 -61
  852. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +0 -32
  853. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +0 -59
  854. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +0 -80
  855. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +0 -79
  856. data/lib/ddtrace/contrib/grpc/ext.rb +0 -19
  857. data/lib/ddtrace/contrib/grpc/integration.rb +0 -39
  858. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +0 -50
  859. data/lib/ddtrace/contrib/grpc/patcher.rb +0 -34
  860. data/lib/ddtrace/contrib/http/circuit_breaker.rb +0 -38
  861. data/lib/ddtrace/contrib/http/configuration/settings.rb +0 -33
  862. data/lib/ddtrace/contrib/http/ext.rb +0 -18
  863. data/lib/ddtrace/contrib/http/instrumentation.rb +0 -180
  864. data/lib/ddtrace/contrib/http/integration.rb +0 -46
  865. data/lib/ddtrace/contrib/http/patcher.rb +0 -27
  866. data/lib/ddtrace/contrib/http_annotation_helper.rb +0 -11
  867. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +0 -33
  868. data/lib/ddtrace/contrib/httpclient/ext.rb +0 -18
  869. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +0 -148
  870. data/lib/ddtrace/contrib/httpclient/integration.rb +0 -44
  871. data/lib/ddtrace/contrib/httpclient/patcher.rb +0 -39
  872. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +0 -33
  873. data/lib/ddtrace/contrib/httprb/ext.rb +0 -18
  874. data/lib/ddtrace/contrib/httprb/instrumentation.rb +0 -158
  875. data/lib/ddtrace/contrib/httprb/integration.rb +0 -44
  876. data/lib/ddtrace/contrib/httprb/patcher.rb +0 -39
  877. data/lib/ddtrace/contrib/integration.rb +0 -17
  878. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +0 -31
  879. data/lib/ddtrace/contrib/kafka/consumer_event.rb +0 -15
  880. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +0 -15
  881. data/lib/ddtrace/contrib/kafka/event.rb +0 -52
  882. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +0 -35
  883. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +0 -42
  884. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +0 -40
  885. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +0 -40
  886. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +0 -30
  887. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +0 -30
  888. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +0 -30
  889. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +0 -33
  890. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +0 -36
  891. data/lib/ddtrace/contrib/kafka/events.rb +0 -45
  892. data/lib/ddtrace/contrib/kafka/ext.rb +0 -42
  893. data/lib/ddtrace/contrib/kafka/integration.rb +0 -40
  894. data/lib/ddtrace/contrib/kafka/patcher.rb +0 -27
  895. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +0 -19
  896. data/lib/ddtrace/contrib/lograge/ext.rb +0 -11
  897. data/lib/ddtrace/contrib/lograge/instrumentation.rb +0 -39
  898. data/lib/ddtrace/contrib/lograge/integration.rb +0 -46
  899. data/lib/ddtrace/contrib/lograge/patcher.rb +0 -26
  900. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +0 -34
  901. data/lib/ddtrace/contrib/mongodb/ext.rb +0 -24
  902. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +0 -70
  903. data/lib/ddtrace/contrib/mongodb/integration.rb +0 -39
  904. data/lib/ddtrace/contrib/mongodb/parsers.rb +0 -69
  905. data/lib/ddtrace/contrib/mongodb/patcher.rb +0 -32
  906. data/lib/ddtrace/contrib/mongodb/subscribers.rb +0 -112
  907. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +0 -31
  908. data/lib/ddtrace/contrib/mysql2/ext.rb +0 -19
  909. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +0 -65
  910. data/lib/ddtrace/contrib/mysql2/integration.rb +0 -39
  911. data/lib/ddtrace/contrib/mysql2/patcher.rb +0 -28
  912. data/lib/ddtrace/contrib/patchable.rb +0 -71
  913. data/lib/ddtrace/contrib/patcher.rb +0 -66
  914. data/lib/ddtrace/contrib/presto/configuration/settings.rb +0 -31
  915. data/lib/ddtrace/contrib/presto/ext.rb +0 -29
  916. data/lib/ddtrace/contrib/presto/instrumentation.rb +0 -111
  917. data/lib/ddtrace/contrib/presto/integration.rb +0 -39
  918. data/lib/ddtrace/contrib/presto/patcher.rb +0 -34
  919. data/lib/ddtrace/contrib/qless/configuration/settings.rb +0 -36
  920. data/lib/ddtrace/contrib/qless/ext.rb +0 -21
  921. data/lib/ddtrace/contrib/qless/integration.rb +0 -39
  922. data/lib/ddtrace/contrib/qless/patcher.rb +0 -35
  923. data/lib/ddtrace/contrib/qless/qless_job.rb +0 -74
  924. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +0 -34
  925. data/lib/ddtrace/contrib/que/configuration/settings.rb +0 -44
  926. data/lib/ddtrace/contrib/que/ext.rb +0 -31
  927. data/lib/ddtrace/contrib/que/integration.rb +0 -43
  928. data/lib/ddtrace/contrib/que/patcher.rb +0 -25
  929. data/lib/ddtrace/contrib/que/tracer.rb +0 -58
  930. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +0 -31
  931. data/lib/ddtrace/contrib/racecar/event.rb +0 -77
  932. data/lib/ddtrace/contrib/racecar/events/batch.rb +0 -28
  933. data/lib/ddtrace/contrib/racecar/events/consume.rb +0 -28
  934. data/lib/ddtrace/contrib/racecar/events/message.rb +0 -28
  935. data/lib/ddtrace/contrib/racecar/events.rb +0 -33
  936. data/lib/ddtrace/contrib/racecar/ext.rb +0 -26
  937. data/lib/ddtrace/contrib/racecar/integration.rb +0 -40
  938. data/lib/ddtrace/contrib/racecar/patcher.rb +0 -27
  939. data/lib/ddtrace/contrib/rack/configuration/settings.rb +0 -47
  940. data/lib/ddtrace/contrib/rack/ext.rb +0 -22
  941. data/lib/ddtrace/contrib/rack/integration.rb +0 -46
  942. data/lib/ddtrace/contrib/rack/middlewares.rb +0 -288
  943. data/lib/ddtrace/contrib/rack/patcher.rb +0 -106
  944. data/lib/ddtrace/contrib/rack/request_queue.rb +0 -45
  945. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +0 -11
  946. data/lib/ddtrace/contrib/rails/configuration/settings.rb +0 -94
  947. data/lib/ddtrace/contrib/rails/ext.rb +0 -18
  948. data/lib/ddtrace/contrib/rails/framework.rb +0 -149
  949. data/lib/ddtrace/contrib/rails/integration.rb +0 -45
  950. data/lib/ddtrace/contrib/rails/log_injection.rb +0 -42
  951. data/lib/ddtrace/contrib/rails/middlewares.rb +0 -44
  952. data/lib/ddtrace/contrib/rails/patcher.rb +0 -110
  953. data/lib/ddtrace/contrib/rails/railtie.rb +0 -18
  954. data/lib/ddtrace/contrib/rails/utils.rb +0 -25
  955. data/lib/ddtrace/contrib/rake/configuration/settings.rb +0 -32
  956. data/lib/ddtrace/contrib/rake/ext.rb +0 -22
  957. data/lib/ddtrace/contrib/rake/instrumentation.rb +0 -91
  958. data/lib/ddtrace/contrib/rake/integration.rb +0 -39
  959. data/lib/ddtrace/contrib/rake/patcher.rb +0 -31
  960. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +0 -46
  961. data/lib/ddtrace/contrib/redis/configuration/settings.rb +0 -36
  962. data/lib/ddtrace/contrib/redis/ext.rb +0 -23
  963. data/lib/ddtrace/contrib/redis/integration.rb +0 -43
  964. data/lib/ddtrace/contrib/redis/patcher.rb +0 -115
  965. data/lib/ddtrace/contrib/redis/quantize.rb +0 -76
  966. data/lib/ddtrace/contrib/redis/tags.rb +0 -47
  967. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +0 -159
  968. data/lib/ddtrace/contrib/registerable.rb +0 -34
  969. data/lib/ddtrace/contrib/registry.rb +0 -43
  970. data/lib/ddtrace/contrib/resque/configuration/settings.rb +0 -49
  971. data/lib/ddtrace/contrib/resque/ext.rb +0 -18
  972. data/lib/ddtrace/contrib/resque/integration.rb +0 -48
  973. data/lib/ddtrace/contrib/resque/patcher.rb +0 -30
  974. data/lib/ddtrace/contrib/resque/resque_job.rb +0 -104
  975. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +0 -32
  976. data/lib/ddtrace/contrib/rest_client/ext.rb +0 -18
  977. data/lib/ddtrace/contrib/rest_client/integration.rb +0 -39
  978. data/lib/ddtrace/contrib/rest_client/patcher.rb +0 -25
  979. data/lib/ddtrace/contrib/rest_client/request_patch.rb +0 -92
  980. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +0 -19
  981. data/lib/ddtrace/contrib/semantic_logger/ext.rb +0 -11
  982. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +0 -43
  983. data/lib/ddtrace/contrib/semantic_logger/integration.rb +0 -48
  984. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +0 -26
  985. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +0 -29
  986. data/lib/ddtrace/contrib/sequel/database.rb +0 -64
  987. data/lib/ddtrace/contrib/sequel/dataset.rb +0 -64
  988. data/lib/ddtrace/contrib/sequel/ext.rb +0 -20
  989. data/lib/ddtrace/contrib/sequel/integration.rb +0 -39
  990. data/lib/ddtrace/contrib/sequel/patcher.rb +0 -34
  991. data/lib/ddtrace/contrib/sequel/utils.rb +0 -75
  992. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +0 -32
  993. data/lib/ddtrace/contrib/shoryuken/ext.rb +0 -22
  994. data/lib/ddtrace/contrib/shoryuken/integration.rb +0 -40
  995. data/lib/ddtrace/contrib/shoryuken/patcher.rb +0 -25
  996. data/lib/ddtrace/contrib/shoryuken/tracer.rb +0 -56
  997. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +0 -44
  998. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +0 -38
  999. data/lib/ddtrace/contrib/sidekiq/ext.rb +0 -28
  1000. data/lib/ddtrace/contrib/sidekiq/integration.rb +0 -39
  1001. data/lib/ddtrace/contrib/sidekiq/patcher.rb +0 -42
  1002. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +0 -66
  1003. data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -45
  1004. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +0 -40
  1005. data/lib/ddtrace/contrib/sinatra/env.rb +0 -58
  1006. data/lib/ddtrace/contrib/sinatra/ext.rb +0 -28
  1007. data/lib/ddtrace/contrib/sinatra/headers.rb +0 -30
  1008. data/lib/ddtrace/contrib/sinatra/integration.rb +0 -39
  1009. data/lib/ddtrace/contrib/sinatra/patcher.rb +0 -30
  1010. data/lib/ddtrace/contrib/sinatra/tracer.rb +0 -137
  1011. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +0 -112
  1012. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +0 -34
  1013. data/lib/ddtrace/contrib/sneakers/ext.rb +0 -23
  1014. data/lib/ddtrace/contrib/sneakers/integration.rb +0 -42
  1015. data/lib/ddtrace/contrib/sneakers/patcher.rb +0 -25
  1016. data/lib/ddtrace/contrib/sneakers/tracer.rb +0 -54
  1017. data/lib/ddtrace/contrib/status_code_matcher.rb +0 -70
  1018. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +0 -31
  1019. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +0 -25
  1020. data/lib/ddtrace/contrib/sucker_punch/ext.rb +0 -22
  1021. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +0 -89
  1022. data/lib/ddtrace/contrib/sucker_punch/integration.rb +0 -39
  1023. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +0 -44
  1024. data/lib/ddtrace/correlation.rb +0 -40
  1025. data/lib/ddtrace/diagnostics/environment_logger.rb +0 -280
  1026. data/lib/ddtrace/diagnostics/health.rb +0 -34
  1027. data/lib/ddtrace/distributed_tracing/headers/b3.rb +0 -45
  1028. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +0 -57
  1029. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +0 -43
  1030. data/lib/ddtrace/distributed_tracing/headers/headers.rb +0 -72
  1031. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +0 -44
  1032. data/lib/ddtrace/encoding.rb +0 -72
  1033. data/lib/ddtrace/error.rb +0 -97
  1034. data/lib/ddtrace/event.rb +0 -53
  1035. data/lib/ddtrace/ext/analytics.rb +0 -13
  1036. data/lib/ddtrace/ext/app_types.rb +0 -12
  1037. data/lib/ddtrace/ext/correlation.rb +0 -12
  1038. data/lib/ddtrace/ext/diagnostics.rb +0 -37
  1039. data/lib/ddtrace/ext/distributed.rb +0 -40
  1040. data/lib/ddtrace/ext/environment.rb +0 -24
  1041. data/lib/ddtrace/ext/errors.rb +0 -11
  1042. data/lib/ddtrace/ext/forced_tracing.rb +0 -26
  1043. data/lib/ddtrace/ext/git.rb +0 -20
  1044. data/lib/ddtrace/ext/http.rb +0 -47
  1045. data/lib/ddtrace/ext/integration.rb +0 -9
  1046. data/lib/ddtrace/ext/manual_tracing.rb +0 -10
  1047. data/lib/ddtrace/ext/metrics.rb +0 -16
  1048. data/lib/ddtrace/ext/net.rb +0 -11
  1049. data/lib/ddtrace/ext/priority.rb +0 -17
  1050. data/lib/ddtrace/ext/profiling.rb +0 -56
  1051. data/lib/ddtrace/ext/runtime.rb +0 -22
  1052. data/lib/ddtrace/ext/sampling.rb +0 -17
  1053. data/lib/ddtrace/ext/sql.rb +0 -9
  1054. data/lib/ddtrace/ext/test.rb +0 -9
  1055. data/lib/ddtrace/ext/transport.rb +0 -21
  1056. data/lib/ddtrace/forced_tracing.rb +0 -39
  1057. data/lib/ddtrace/logger.rb +0 -41
  1058. data/lib/ddtrace/metrics.rb +0 -282
  1059. data/lib/ddtrace/opentelemetry/extensions.rb +0 -14
  1060. data/lib/ddtrace/opentelemetry/span.rb +0 -34
  1061. data/lib/ddtrace/opentracer/binary_propagator.rb +0 -25
  1062. data/lib/ddtrace/opentracer/carrier.rb +0 -7
  1063. data/lib/ddtrace/opentracer/distributed_headers.rb +0 -56
  1064. data/lib/ddtrace/opentracer/global_tracer.rb +0 -16
  1065. data/lib/ddtrace/opentracer/propagator.rb +0 -23
  1066. data/lib/ddtrace/opentracer/rack_propagator.rb +0 -61
  1067. data/lib/ddtrace/opentracer/scope.rb +0 -16
  1068. data/lib/ddtrace/opentracer/scope_manager.rb +0 -7
  1069. data/lib/ddtrace/opentracer/span.rb +0 -95
  1070. data/lib/ddtrace/opentracer/span_context.rb +0 -15
  1071. data/lib/ddtrace/opentracer/span_context_factory.rb +0 -24
  1072. data/lib/ddtrace/opentracer/text_map_propagator.rb +0 -76
  1073. data/lib/ddtrace/opentracer/thread_local_scope.rb +0 -32
  1074. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +0 -41
  1075. data/lib/ddtrace/opentracer/tracer.rb +0 -209
  1076. data/lib/ddtrace/opentracer.rb +0 -22
  1077. data/lib/ddtrace/patcher.rb +0 -69
  1078. data/lib/ddtrace/pin.rb +0 -86
  1079. data/lib/ddtrace/pipeline/span_filter.rb +0 -39
  1080. data/lib/ddtrace/pipeline/span_processor.rb +0 -21
  1081. data/lib/ddtrace/pipeline.rb +0 -47
  1082. data/lib/ddtrace/profiling/backtrace_location.rb +0 -33
  1083. data/lib/ddtrace/profiling/buffer.rb +0 -42
  1084. data/lib/ddtrace/profiling/collectors/stack.rb +0 -257
  1085. data/lib/ddtrace/profiling/encoding/profile.rb +0 -38
  1086. data/lib/ddtrace/profiling/event.rb +0 -14
  1087. data/lib/ddtrace/profiling/events/stack.rb +0 -81
  1088. data/lib/ddtrace/profiling/exporter.rb +0 -24
  1089. data/lib/ddtrace/profiling/ext/cpu.rb +0 -67
  1090. data/lib/ddtrace/profiling/ext/cthread.rb +0 -156
  1091. data/lib/ddtrace/profiling/ext/forking.rb +0 -98
  1092. data/lib/ddtrace/profiling/flush.rb +0 -44
  1093. data/lib/ddtrace/profiling/native_extension.rb +0 -18
  1094. data/lib/ddtrace/profiling/pprof/builder.rb +0 -120
  1095. data/lib/ddtrace/profiling/pprof/converter.rb +0 -90
  1096. data/lib/ddtrace/profiling/pprof/message_set.rb +0 -15
  1097. data/lib/ddtrace/profiling/pprof/payload.rb +0 -19
  1098. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +0 -82
  1099. data/lib/ddtrace/profiling/pprof/stack_sample.rb +0 -117
  1100. data/lib/ddtrace/profiling/pprof/string_table.rb +0 -11
  1101. data/lib/ddtrace/profiling/pprof/template.rb +0 -119
  1102. data/lib/ddtrace/profiling/profiler.rb +0 -31
  1103. data/lib/ddtrace/profiling/recorder.rb +0 -96
  1104. data/lib/ddtrace/profiling/scheduler.rb +0 -134
  1105. data/lib/ddtrace/profiling/tasks/setup.rb +0 -82
  1106. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +0 -41
  1107. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +0 -46
  1108. data/lib/ddtrace/profiling/transport/client.rb +0 -15
  1109. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +0 -101
  1110. data/lib/ddtrace/profiling/transport/http/api/instance.rb +0 -37
  1111. data/lib/ddtrace/profiling/transport/http/api/spec.rb +0 -41
  1112. data/lib/ddtrace/profiling/transport/http/api.rb +0 -44
  1113. data/lib/ddtrace/profiling/transport/http/builder.rb +0 -29
  1114. data/lib/ddtrace/profiling/transport/http/client.rb +0 -34
  1115. data/lib/ddtrace/profiling/transport/http/response.rb +0 -22
  1116. data/lib/ddtrace/profiling/transport/http.rb +0 -120
  1117. data/lib/ddtrace/profiling/transport/io/client.rb +0 -28
  1118. data/lib/ddtrace/profiling/transport/io/response.rb +0 -17
  1119. data/lib/ddtrace/profiling/transport/io.rb +0 -31
  1120. data/lib/ddtrace/profiling/transport/parcel.rb +0 -18
  1121. data/lib/ddtrace/profiling/transport/request.rb +0 -16
  1122. data/lib/ddtrace/profiling/transport/response.rb +0 -9
  1123. data/lib/ddtrace/profiling.rb +0 -151
  1124. data/lib/ddtrace/propagation/grpc_propagator.rb +0 -75
  1125. data/lib/ddtrace/propagation/http_propagator.rb +0 -91
  1126. data/lib/ddtrace/quantization/hash.rb +0 -104
  1127. data/lib/ddtrace/quantization/http.rb +0 -90
  1128. data/lib/ddtrace/runtime/metrics.rb +0 -121
  1129. data/lib/ddtrace/sampler.rb +0 -293
  1130. data/lib/ddtrace/sampling/matcher.rb +0 -58
  1131. data/lib/ddtrace/sampling/rate_limiter.rb +0 -177
  1132. data/lib/ddtrace/sampling/rule.rb +0 -62
  1133. data/lib/ddtrace/sampling/rule_sampler.rb +0 -121
  1134. data/lib/ddtrace/sampling.rb +0 -3
  1135. data/lib/ddtrace/span.rb +0 -457
  1136. data/lib/ddtrace/sync_writer.rb +0 -69
  1137. data/lib/ddtrace/tasks/exec.rb +0 -47
  1138. data/lib/ddtrace/tasks/help.rb +0 -15
  1139. data/lib/ddtrace/tracer.rb +0 -449
  1140. data/lib/ddtrace/utils/compression.rb +0 -28
  1141. data/lib/ddtrace/utils/database.rb +0 -26
  1142. data/lib/ddtrace/utils/forking.rb +0 -53
  1143. data/lib/ddtrace/utils/object_set.rb +0 -40
  1144. data/lib/ddtrace/utils/only_once.rb +0 -41
  1145. data/lib/ddtrace/utils/sequence.rb +0 -18
  1146. data/lib/ddtrace/utils/string_table.rb +0 -46
  1147. data/lib/ddtrace/utils/time.rb +0 -46
  1148. data/lib/ddtrace/utils.rb +0 -80
  1149. data/lib/ddtrace/vendor/active_record/connection_specification.rb +0 -302
  1150. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +0 -117
  1151. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +0 -58
  1152. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +0 -136
  1153. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +0 -10
  1154. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +0 -9
  1155. data/lib/ddtrace/vendor/multipart-post/multipart.rb +0 -13
  1156. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +0 -33
  1157. data/lib/ddtrace/worker.rb +0 -21
  1158. data/lib/ddtrace/workers/async.rb +0 -175
  1159. data/lib/ddtrace/workers/loop.rb +0 -132
  1160. data/lib/ddtrace/workers/polling.rb +0 -56
  1161. data/lib/ddtrace/workers/queue.rb +0 -41
  1162. data/lib/ddtrace/workers/runtime_metrics.rb +0 -65
  1163. data/lib/ddtrace/workers/trace_writer.rb +0 -200
  1164. data/lib/ddtrace/workers.rb +0 -123
  1165. data/lib/ddtrace/writer.rb +0 -200
  1166. /data/lib/{ddtrace → datadog/core}/vendor/multipart-post/LICENSE +0 -0
  1167. /data/lib/{ddtrace → datadog}/profiling/pprof/pprof.proto +0 -0
  1168. /data/lib/{ddtrace/vendor/active_record → datadog/tracing/contrib/active_record/vendor}/MIT-LICENSE +0 -0
  1169. /data/lib/{ddtrace → datadog/tracing}/contrib/redis/vendor/LICENSE +0 -0
data/.editorconfig DELETED
@@ -1,22 +0,0 @@
1
- # EditorConfig is awesome: https://EditorConfig.org
2
-
3
- # top-most EditorConfig file
4
- root = true
5
-
6
- # Unix-style newlines with a newline ending every file
7
- [*]
8
- end_of_line = lf
9
- insert_final_newline = true
10
- trim_trailing_whitespace = true
11
-
12
- [*.h]
13
- indent_style = space
14
- indent_size = 2
15
-
16
- [*.c]
17
- indent_style = space
18
- indent_size = 2
19
-
20
- [*.yml]
21
- indent_style = space
22
- indent_size = 2
data/.gitignore DELETED
@@ -1,67 +0,0 @@
1
- *.gem
2
- *.rbc
3
- *.swp
4
- /.config
5
- /coverage/
6
- /InstalledFiles
7
- /pkg/
8
- /spec/reports/
9
- /spec/examples.txt
10
- /test/tmp/
11
- /test/version_tmp/
12
- /tmp/
13
- /log/
14
-
15
- # Used by dotenv library to load environment variables.
16
- # .env
17
-
18
- ## Specific to RubyMotion:
19
- .dat*
20
- .repl_history
21
- build/
22
- *.bridgesupport
23
- build-iPhoneOS/
24
- build-iPhoneSimulator/
25
-
26
- ## Specific to RubyMotion (use of CocoaPods):
27
- #
28
- # We recommend against adding the Pods directory to your .gitignore. However
29
- # you should judge for yourself, the pros and cons are mentioned at:
30
- # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
31
- #
32
- # vendor/Pods/
33
-
34
- ## Documentation cache and generated files:
35
- /.yardoc/
36
- /_yardoc/
37
- /doc/
38
- /rdoc/
39
- /html/
40
-
41
- ## Environment normalization:
42
- /.bundle/
43
- /vendor/bundle
44
- /lib/bundler/man/
45
-
46
- # for a library or gem, you might want to ignore these files since the code is
47
- # intended to run in multiple environments; otherwise, check them in:
48
- .ruby-version
49
- .ruby-gemset
50
-
51
- # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
52
- .rvmrc
53
- # Ignore local variables
54
- .envrc
55
-
56
- # lock files
57
- Gemfile.lock
58
-
59
- # bundle config
60
- gemfiles/.bundle
61
-
62
- # Native extension binaries
63
- lib/*.bundle
64
- lib/*.so
65
-
66
- # Extra file kept by sorbet for debugging usage, as documented in https://sorbet.org/docs/adopting#step-6-source-control
67
- sorbet/rbi/hidden-definitions/errors.txt
data/.yardopts DELETED
@@ -1,5 +0,0 @@
1
- --readme docs/GettingStarted.md
2
- --main docs/GettingStarted.md
3
- -
4
- docs/GettingStarted.md
5
- LICENSE
data/CONTRIBUTING.md DELETED
@@ -1,81 +0,0 @@
1
- # Contributing
2
-
3
- Community contributions to the Datadog tracing library for Ruby are welcome! See below for some basic guidelines.
4
-
5
- ## Want to request a new feature?
6
-
7
- Many great ideas for new features come from the community, and we'd be happy to consider yours!
8
-
9
- To share your request, you can [open a Github issue](https://github.com/DataDog/dd-trace-rb/issues/new) with the details about what you'd like to see. At a minimum, please provide:
10
-
11
- - The goal of the new feature
12
- - A description of how it might be used or behave
13
- - Links to any important resources (e.g. Github repos, websites, screenshots, specifications, diagrams)
14
-
15
- Additionally, if you can, include:
16
-
17
- - A description of how it could be accomplished
18
- - Code snippets that might demonstrate its use or implementation
19
- - Screenshots or mockups that visually demonstrate the feature
20
- - Links to similar features that would serve as a good comparison
21
- - (Any other details that would be useful for implementing this feature!)
22
-
23
- ## Found a bug?
24
-
25
- For any urgent matters (such as outages) or issues concerning the Datadog service or UI, contact our support team via https://docs.datadoghq.com/help/ for direct, faster assistance.
26
-
27
- You may submit bug reports concerning the Datadog tracing library for Ruby by [opening a Github issue](https://github.com/DataDog/dd-trace-rb/issues/new). At a minimum, please provide:
28
-
29
- - A description of the problem
30
- - Steps to reproduce
31
- - Expected behavior
32
- - Actual behavior
33
- - Errors (with stack traces) or warnings received
34
- - Any details you can share about your configuration including:
35
- - Ruby version & platform
36
- - `ddtrace` version
37
- - Versions of any other relevant gems (or a `Gemfile.lock` if available)
38
- - Any configuration settings for the trace library (e.g. `initializers/datadog.rb`)
39
-
40
- If at all possible, also provide:
41
-
42
- - Logs (from the tracer/application/agent) or other diagnostics
43
- - Screenshots, links, or other visual aids that are publicly accessible
44
- - Code sample or test that reproduces the problem
45
- - An explanation of what causes the bug and/or how it can be fixed
46
-
47
- Reports that include rich detail are better, and ones with code that reproduce the bug are best.
48
-
49
- ## Have a patch?
50
-
51
- We welcome code contributions to the library, which you can [submit as a pull request](https://github.com/DataDog/dd-trace-rb/pull/new/master). To create a pull request:
52
-
53
- 1. **Fork the repository** from https://github.com/DataDog/dd-trace-rb
54
- 2. **Make any changes** for your patch.
55
- 3. **Write tests** that demonstrate how the feature works or how the bug is fixed.
56
- 4. **Update any documentation** such as `docs/GettingStarted.md`, especially for new features.
57
- 5. **Submit the pull request** from your fork back to the latest revision of the `master` branch on https://github.com/DataDog/dd-trace-rb.
58
-
59
- The pull request will be run through our CI pipeline, and a project member will review the changes with you. At a minimum, to be accepted and merged, pull requests must:
60
-
61
- - Have a stated goal and detailed description of the changes made
62
- - Include thorough test coverage and documentation, where applicable
63
- - Pass all tests and code quality checks (linting/coverage/benchmarks) on CI
64
- - Receive at least one approval from a project member with push permissions
65
-
66
- We also recommend that you share in your description:
67
-
68
- - Any motivations or intent for the contribution
69
- - Links to any issues/pull requests it might be related to
70
- - Links to any webpages or other external resources that might be related to the change
71
- - Screenshots, code samples, or other visual aids that demonstrate the changes or how they are implemented
72
- - Benchmarks if the feature is anticipated to have performance implications
73
- - Any limitations, constraints or risks that are important to consider
74
-
75
- For more information on common topics such as debugging locally, or how to write new integrations, check out [our development guide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/DevelopmentGuide.md). If at any point you have a question or need assistance with your pull request, feel free to mention a project member! We're always happy to help contributors with their pull requests.
76
-
77
- ## Final word
78
-
79
- Many thanks to all of our contributors, and looking forward to seeing you on Github! :tada:
80
-
81
- - Datadog Ruby APM Team
data/ddtrace.gemspec DELETED
@@ -1,53 +0,0 @@
1
- # coding: utf-8
2
-
3
- lib = File.expand_path('../lib', __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'ddtrace/version'
6
-
7
- Gem::Specification.new do |spec|
8
- spec.name = 'ddtrace'
9
- spec.version = Datadog::VERSION::STRING
10
- spec.required_ruby_version = [">= #{Datadog::VERSION::MINIMUM_RUBY_VERSION}", "< #{Datadog::VERSION::MAXIMUM_RUBY_VERSION}"]
11
- spec.required_rubygems_version = '>= 2.0.0'
12
- spec.authors = ['Datadog, Inc.']
13
- spec.email = ['dev@datadoghq.com']
14
-
15
- spec.summary = 'Datadog tracing code for your Ruby applications'
16
- spec.description = <<-EOS.gsub(/^[\s]+/, '')
17
- ddtrace is Datadog’s tracing client for Ruby. It is used to trace requests
18
- as they flow across web servers, databases and microservices so that developers
19
- have great visiblity into bottlenecks and troublesome requests.
20
- EOS
21
-
22
- spec.homepage = 'https://github.com/DataDog/dd-trace-rb'
23
- spec.license = 'BSD-3-Clause'
24
-
25
- if spec.respond_to?(:metadata)
26
- spec.metadata['allowed_push_host'] = 'https://rubygems.org'
27
- else
28
- raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
29
- end
30
-
31
- spec.files =
32
- `git ls-files -z`
33
- .split("\x0")
34
- .reject { |f| f.match(%r{^(test|spec|features|[.]circleci|[.]github|[.]dd-ci|benchmarks|gemfiles|integration|tasks|sorbet)/}) }
35
- .reject do |f|
36
- ['.dockerignore', '.env', '.gitattributes', '.gitlab-ci.yml', '.rspec', '.rubocop.yml',
37
- '.rubocop_todo.yml', '.simplecov', 'Appraisals', 'Gemfile', 'Rakefile', 'docker-compose.yml'].include?(f)
38
- end
39
- spec.executables = ['ddtracerb']
40
- spec.require_paths = ['lib']
41
-
42
- if RUBY_VERSION >= '2.2.0'
43
- spec.add_dependency 'msgpack'
44
- else
45
- # msgpack 1.4 fails for Ruby 2.1: https://github.com/msgpack/msgpack-ruby/issues/205
46
- spec.add_dependency 'msgpack', '< 1.4'
47
- end
48
-
49
- # Used by the profiler
50
- spec.add_dependency 'ffi', '~> 1.0'
51
-
52
- spec.extensions = ['ext/ddtrace_profiling_native_extension/extconf.rb']
53
- end
@@ -1,264 +0,0 @@
1
- # Developing
2
-
3
- This guide covers some of the common how-tos and technical reference material for developing changes within the trace library.
4
-
5
- ## Table of Contents
6
-
7
- - [Setting up](#setting-up)
8
- - [Testing](#testing)
9
- - [Writing tests](#writing-tests)
10
- - [Running tests](#running-tests)
11
- - [Checking code quality](#checking-code-quality)
12
- - [Running benchmarks](#running-benchmarks)
13
- - [Type checking](#type-checking)
14
- - [Appendix](#appendix)
15
- - [Writing new integrations](#writing-new-integrations)
16
- - [Custom transport adapters](#custom-transport-adapters)
17
-
18
- ## Setting up
19
-
20
- *NOTE: To test locally, you must have `Docker` and `Docker Compose` installed. See the [Docker documentation](https://docs.docker.com/compose/install/) for details.*
21
-
22
- The trace library uses Docker Compose to create a Ruby environment to develop and test within, as well as containers for any dependencies that might be necessary for certain kinds of tests.
23
-
24
- To start a development environment, choose a target Ruby version then run the following:
25
-
26
- ```
27
- # In the root directory of the project...
28
- cd ~/dd-trace-rb
29
-
30
- # Create and start a Ruby 2.3 test environment with its dependencies
31
- docker-compose run --rm tracer-2.3 /bin/bash
32
-
33
- # Then inside the container (e.g. `root@2a73c6d8673e:/app`)...
34
- # Install the library dependencies
35
- bundle install
36
-
37
- # Install build targets
38
- appraisal install
39
- ```
40
-
41
- Then within this container you can [run tests](#running-tests), or [run code quality checks](#checking-code-quality).
42
-
43
- ## Testing
44
-
45
- The test suite uses both [Minitest](https://github.com/seattlerb/minitest) and [RSpec](https://rspec.info/) tests to verify the correctness of both the core trace library and its integrations.
46
-
47
- Minitest is deprecated in favor of RSpec; all new tests should be written in RSpec, and only existing minitests should be updated.
48
-
49
- ### Writing tests
50
-
51
- New tests should be written as RSpec tests in the `spec/ddtrace` folder. Test files should generally mirror the structure of `lib`.
52
-
53
- All changes should be covered by a corresponding RSpec tests. Unit tests are preferred, and integration tests are accepted where appropriate (e.g. acceptance tests, verifying compatibility with datastores, etc) but should be kept to a minimum.
54
-
55
- **Considerations for CI**
56
-
57
- All tests should run in CI. When adding new `spec.rb` files, you may need to add a test task to ensure your test file is run in CI.
58
-
59
- - Ensure that there is a corresponding Rake task defined in `Rakefile` under the the `spec` namespace, whose pattern matches your test file.
60
- - Verify the Rake task is configured to run for the appropriate Ruby runtimes in the `ci` Rake task.
61
-
62
- ### Running tests
63
-
64
- Simplest way to run tests is to run `bundle exec rake ci`, which will run the entire test suite, just as CI does.
65
-
66
- **For the core library**
67
-
68
- Run the tests for the core library with:
69
-
70
- ```
71
- # Run Minitest
72
- $ bundle exec rake test:main
73
- # Run RSpec
74
- $ bundle exec rake spec:main
75
- ```
76
-
77
- **For integrations**
78
-
79
- Integrations which interact with dependencies not listed in the `ddtrace` gemspec will need to load these dependencies to run their tests.
80
-
81
- To do so, load the dependencies using [Appraisal](https://github.com/thoughtbot/appraisal). You can see a list of available appraisals with `bundle exec appraisal list`, or examine the `Appraisals` file.
82
-
83
- Then to run tests, prefix the test commain with the appraisal. For example:
84
-
85
- ```
86
- # Runs tests for Rails 3.2 + Postgres
87
- $ bundle exec appraisal rails32-postgres spec:rails
88
- # Runs tests for Redis
89
- $ bundle exec appraisal contrib rake spec:redis
90
- ```
91
-
92
- **Passing arguments to tests**
93
-
94
- When running RSpec tests, you may pass additional args as parameters to the Rake task. For example:
95
-
96
- ```
97
- # Runs Redis tests with seed 1234
98
- $ bundle exec appraisal contrib rake spec:redis'[--seed,1234]'
99
- ```
100
-
101
- This can be useful for replicating conditions from CI or isolating certain tests.
102
-
103
- **Checking test coverage**
104
-
105
- You can check test code coverage by creating a report _after_ running a test suite:
106
- ```
107
- # Run the desired test suite
108
- $ bundle exec appraisal contrib rake spec:redis
109
- # Generate report for the suite executed
110
- $ bundle exec rake coverage:report
111
- ```
112
-
113
- A webpage will be generated at `coverage/report/index.html` with the resulting report.
114
-
115
- Because you are likely not running all tests locally, your report will contain partial coverage results.
116
- You *must* check the CI step `coverage` for the complete test coverage report, ensuring coverage is not
117
- decreased.
118
-
119
- **Ensuring tests don't leak resources**
120
-
121
- Tests execution can create resources that are hard to track: threads, sockets, files, etc. Because these resources can come
122
- from the both the test setup as well as the code under test, making sure all resources are properly disposed is important
123
- to prevent the application from inadvertently creating cumulative resources during its execution.
124
-
125
- When running tests that utilize threads, you might see an error message similar to this one:
126
-
127
- ```
128
- Test leaked 1 thread: "Datadog::Workers::AsyncTransport integration tests"
129
- Ensure all threads are terminated when test finishes:
130
- 1: #<Thread:0x00007fcbc99863d0 /Users/marco.costa/work/dd-trace-rb/spec/spec_helper.rb:145 sleep> (Thread)
131
- Thread Creation Site:
132
- ./dd-trace-rb/spec/ddtrace/workers_integration_spec.rb:245:in 'new'
133
- ./dd-trace-rb/spec/ddtrace/workers_integration_spec.rb:245:in 'block (4 levels) in <top (required)>'
134
- Thread Backtrace:
135
- ./dd-trace-rb/spec/ddtrace/workers_integration_spec.rb:262:in 'sleep'
136
- .dd-trace-rb/spec/ddtrace/workers_integration_spec.rb:262:in 'block (5 levels) in <top (required)>'
137
- ./dd-trace-rb/spec/spec_helper.rb:147:in 'block in initialize'
138
- ```
139
-
140
- This means that this test did not finish all threads by the time the test had finished. In this case, the thread
141
- creation can be traced to `workers_integration_spec.rb:245:in 'new'`. The thread itself is sleeping at `workers_integration_spec.rb:262:in 'sleep'`.
142
-
143
- The actionable in this case would be to ensure that the thread created in `workers_integration_spec.rb:245` is properly terminated by invoking `Thread#join` during the test tear down, which will wait for the thread to finish before returning.
144
-
145
- Depending on the situation, the thread in question might need to be forced to terminate. It's recommended to have a mechanism in place to terminate it (a shared variable that changes value when the thread should exit), but as a last resort, `Thread#terminate` forces the thread to finish. Keep in mind that regardless of the termination method, `Thread#join` must be called to ensure that the thread has completely finished its shutdown process.
146
-
147
- ### Checking code quality
148
-
149
- **Linting**
150
-
151
- The trace library uses Rubocop to enforce [code style](https://github.com/bbatsov/ruby-style-guide) and quality. To check, run:
152
-
153
- ```
154
- $ bundle exec rake rubocop
155
- ```
156
-
157
- ### Running benchmarks
158
-
159
- If your changes can have a measurable performance impact, we recommend running our benchmark suite:
160
-
161
- ```
162
- $ bundle exec rake spec:benchmark
163
- ```
164
-
165
- Results are printed to STDOUT as well as written to the `./tmp/benchmark/` directory.
166
-
167
- ## Type checking
168
-
169
- This library uses the [Sorbet](https://sorbet.org/) type checker. Sorbet can be run with `bundle exec srb tc` (or `bundle exec rake
170
- typecheck`). There's also Language Server Protocol support, if your editor supports it.
171
-
172
- Type checking can be controlled on a file-by-file manner, using a `# typed: ...` comment. The default (when none is provided) is assuming `# typed: false`.
173
-
174
- Things to note:
175
-
176
- * For compatibility with older Rubies, we use Sorbet but do not yet allow type annotations in the codebase. If Sorbet is blocking you, feel free to use `# typed: false` or `# typed: ignore` with a quick note on why this was needed. In many cases, Sorbet can typecheck a file correctly with no extra type annotations.
177
-
178
- * Most integration-specific code will reference optional external dependencies which Sorbet cannot see into. You'll probably need to use `# typed: false` or `# typed: ignore` for those files as well.
179
-
180
- ## Appendix
181
-
182
- ### Writing new integrations
183
-
184
- Integrations are extensions to the trace library that add support for external dependencies (gems); they typically add auto-instrumentation to popular gems and frameworks. You will find many of our integrations in the `contrib` folder.
185
-
186
- Some general guidelines for adding new integrations:
187
-
188
- - An integration can either be added directly to `dd-trace-rb`, or developed as its own gem that depends on `ddtrace`.
189
- - Integrations should implement the configuration API for easy, consistent implementation. (See existing integrations as examples of this.)
190
- - All new integrations require documentation, unit/integration tests written in RSpec, and passing CI builds.
191
- - It's highly encouraged to share screenshots or other demos of how the new integration looks and works.
192
-
193
- To get started quickly, it's perfectly fine to copy-paste an existing integration to use as a template, then modify it to match your needs. This is usually the fastest, easiest way to bootstrap a new integration and makes the time-to-first-trace often very quick, usually less than an hour if it's a simple implementation.
194
-
195
- Once you have it working in your application, you can [add unit tests](#writing-tests), [run them locally](#running-tests), and [check for code quality](#checking-code-quality) using Docker Compose.
196
-
197
- Then [open a pull request](../CONTRIBUTING.md#have-a-patch) and be sure to add the following to the description:
198
-
199
- - [Documentation](./GettingStarted.md) for the integration, including versions supported.
200
- - Links to the repository/website of the library being integrated
201
- - Screenshots showing a sample trace
202
- - Any additional code snippets, sample apps, benchmarks, or other resources that demonstrate its implementation are a huge plus!
203
-
204
- ### Custom transport adapters
205
-
206
- The tracer can be configured with transports that customize how data is sent and where it is sent to. This is done through the use of adapters: classes that receive generic requests, process them, and return appropriate responses.
207
-
208
- #### Developing HTTP transport adapters
209
-
210
- To create a custom HTTP adapter, define a class that responds to `call(env)` which returns a kind of `Datadog::Transport::Response`:
211
-
212
- ```ruby
213
- require 'ddtrace/transport/response'
214
-
215
- class CustomAdapter
216
- # Sends HTTP request
217
- # env: Datadog::Transport::HTTP::Env
218
- def call(env)
219
- # Add custom code here to send data.
220
- # Then return a Response object.
221
- Response.new
222
- end
223
-
224
- class Response
225
- include Datadog::Transport::Response
226
-
227
- # Implement the following methods as appropriate
228
- # for your adapter.
229
-
230
- # Return a String
231
- def payload; end
232
-
233
- # Return true/false
234
- # Return nil if it does not apply
235
- def ok?; end
236
- def unsupported?; end
237
- def not_found?; end
238
- def client_error?; end
239
- def server_error?; end
240
- def internal_error?; end
241
- end
242
- end
243
- ```
244
-
245
- Optionally, you can register the adapter as a well-known type:
246
-
247
- ```ruby
248
- Datadog::Transport::HTTP::Builder::REGISTRY.set(CustomAdapter, :custom)
249
- ```
250
-
251
- Then pass an adapter instance to the tracer configuration:
252
-
253
- ```ruby
254
- Datadog.configure do |c|
255
- c.tracer.transport_options = proc { |t|
256
- # By name
257
- t.adapter :custom
258
-
259
- # By instance
260
- custom_adapter = CustomAdapter.new
261
- t.adapter custom_adapter
262
- }
263
- end
264
- ```