ddtrace 0.54.2 → 1.4.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 (1160) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +283 -1
  3. data/LICENSE-3rdparty.csv +5 -1
  4. data/README.md +10 -1
  5. data/bin/ddtracerb +5 -5
  6. data/ext/ddtrace_profiling_loader/ddtrace_profiling_loader.c +118 -0
  7. data/ext/ddtrace_profiling_loader/extconf.rb +54 -0
  8. data/ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md +43 -9
  9. data/ext/ddtrace_profiling_native_extension/clock_id.h +21 -1
  10. data/ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c +31 -10
  11. data/ext/ddtrace_profiling_native_extension/clock_id_noop.c +11 -2
  12. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.c +390 -0
  13. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.h +6 -0
  14. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +391 -0
  15. data/ext/ddtrace_profiling_native_extension/collectors_stack.c +282 -0
  16. data/ext/ddtrace_profiling_native_extension/collectors_stack.h +9 -0
  17. data/ext/ddtrace_profiling_native_extension/extconf.rb +140 -113
  18. data/ext/ddtrace_profiling_native_extension/helpers.h +12 -0
  19. data/ext/ddtrace_profiling_native_extension/http_transport.c +334 -0
  20. data/ext/ddtrace_profiling_native_extension/libdatadog_helpers.h +14 -0
  21. data/ext/ddtrace_profiling_native_extension/native_extension_helpers.rb +290 -0
  22. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.c +665 -8
  23. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.h +30 -0
  24. data/ext/ddtrace_profiling_native_extension/profiling.c +16 -2
  25. data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +25 -0
  26. data/ext/ddtrace_profiling_native_extension/ruby_helpers.h +65 -0
  27. data/ext/ddtrace_profiling_native_extension/stack_recorder.c +422 -0
  28. data/ext/ddtrace_profiling_native_extension/stack_recorder.h +38 -0
  29. data/lib/datadog/appsec/assets/blocked.html +4 -0
  30. data/lib/datadog/appsec/assets/waf_rules/README.md +7 -0
  31. data/lib/datadog/appsec/assets/waf_rules/recommended.json +5638 -0
  32. data/lib/datadog/appsec/assets/waf_rules/risky.json +1499 -0
  33. data/lib/datadog/appsec/assets/waf_rules/strict.json +1298 -0
  34. data/lib/datadog/appsec/assets.rb +38 -0
  35. data/lib/datadog/appsec/autoload.rb +18 -0
  36. data/lib/datadog/appsec/configuration/settings.rb +194 -0
  37. data/lib/datadog/appsec/configuration.rb +80 -0
  38. data/lib/datadog/appsec/contrib/auto_instrument.rb +27 -0
  39. data/lib/datadog/appsec/contrib/configuration/settings.rb +20 -0
  40. data/lib/datadog/appsec/contrib/integration.rb +37 -0
  41. data/lib/datadog/appsec/contrib/patcher.rb +12 -0
  42. data/lib/datadog/appsec/contrib/rack/configuration/settings.rb +22 -0
  43. data/lib/datadog/appsec/contrib/rack/ext.rb +15 -0
  44. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +169 -0
  45. data/lib/datadog/appsec/contrib/rack/integration.rb +49 -0
  46. data/lib/datadog/appsec/contrib/rack/patcher.rb +32 -0
  47. data/lib/datadog/appsec/contrib/rack/reactive/request.rb +87 -0
  48. data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +64 -0
  49. data/lib/datadog/appsec/contrib/rack/reactive/response.rb +64 -0
  50. data/lib/datadog/appsec/contrib/rack/request.rb +58 -0
  51. data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +41 -0
  52. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +112 -0
  53. data/lib/datadog/appsec/contrib/rack/response.rb +24 -0
  54. data/lib/datadog/appsec/contrib/rails/configuration/settings.rb +22 -0
  55. data/lib/datadog/appsec/contrib/rails/ext.rb +15 -0
  56. data/lib/datadog/appsec/contrib/rails/framework.rb +30 -0
  57. data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +81 -0
  58. data/lib/datadog/appsec/contrib/rails/integration.rb +48 -0
  59. data/lib/datadog/appsec/contrib/rails/patcher.rb +162 -0
  60. data/lib/datadog/appsec/contrib/rails/reactive/action.rb +68 -0
  61. data/lib/datadog/appsec/contrib/rails/request.rb +33 -0
  62. data/lib/datadog/appsec/contrib/rails/request_middleware.rb +20 -0
  63. data/lib/datadog/appsec/contrib/sinatra/configuration/settings.rb +22 -0
  64. data/lib/datadog/appsec/contrib/sinatra/ext.rb +15 -0
  65. data/lib/datadog/appsec/contrib/sinatra/framework.rb +34 -0
  66. data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +124 -0
  67. data/lib/datadog/appsec/contrib/sinatra/integration.rb +48 -0
  68. data/lib/datadog/appsec/contrib/sinatra/patcher.rb +148 -0
  69. data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +63 -0
  70. data/lib/datadog/appsec/contrib/sinatra/request_middleware.rb +20 -0
  71. data/lib/datadog/appsec/event.rb +121 -0
  72. data/lib/datadog/appsec/extensions.rb +118 -0
  73. data/lib/datadog/appsec/instrumentation/gateway.rb +44 -0
  74. data/lib/datadog/appsec/processor.rb +164 -0
  75. data/lib/datadog/appsec/rate_limiter.rb +60 -0
  76. data/lib/datadog/appsec/reactive/address_hash.rb +18 -0
  77. data/lib/datadog/appsec/reactive/engine.rb +44 -0
  78. data/lib/datadog/appsec/reactive/operation.rb +51 -0
  79. data/lib/datadog/appsec/reactive/subscriber.rb +18 -0
  80. data/lib/datadog/appsec.rb +23 -0
  81. data/lib/datadog/ci/configuration/components.rb +9 -8
  82. data/lib/datadog/ci/configuration/settings.rb +20 -4
  83. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +5 -3
  84. data/lib/datadog/ci/contrib/cucumber/ext.rb +2 -0
  85. data/lib/datadog/ci/contrib/cucumber/formatter.rb +9 -14
  86. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +3 -2
  87. data/lib/datadog/ci/contrib/cucumber/integration.rb +6 -5
  88. data/lib/datadog/ci/contrib/cucumber/patcher.rb +4 -3
  89. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +5 -3
  90. data/lib/datadog/ci/contrib/rspec/example.rb +9 -14
  91. data/lib/datadog/ci/contrib/rspec/ext.rb +2 -0
  92. data/lib/datadog/ci/contrib/rspec/integration.rb +6 -5
  93. data/lib/datadog/ci/contrib/rspec/patcher.rb +4 -3
  94. data/lib/datadog/ci/ext/app_types.rb +2 -1
  95. data/lib/datadog/ci/ext/environment.rb +135 -115
  96. data/lib/datadog/ci/ext/settings.rb +2 -1
  97. data/lib/datadog/ci/ext/test.rb +1 -0
  98. data/lib/datadog/ci/extensions.rb +7 -6
  99. data/lib/datadog/ci/flush.rb +38 -0
  100. data/lib/datadog/ci/test.rb +17 -15
  101. data/lib/datadog/ci.rb +7 -4
  102. data/lib/datadog/core/buffer/cruby.rb +55 -0
  103. data/lib/datadog/core/buffer/random.rb +134 -0
  104. data/lib/datadog/core/buffer/thread_safe.rb +58 -0
  105. data/lib/datadog/core/chunker.rb +35 -0
  106. data/lib/datadog/core/configuration/agent_settings_resolver.rb +365 -0
  107. data/lib/datadog/core/configuration/base.rb +98 -0
  108. data/lib/datadog/core/configuration/components.rb +429 -0
  109. data/lib/datadog/core/configuration/dependency_resolver.rb +28 -0
  110. data/lib/datadog/core/configuration/option.rb +69 -0
  111. data/lib/datadog/core/configuration/option_definition.rb +126 -0
  112. data/lib/datadog/core/configuration/option_definition_set.rb +22 -0
  113. data/lib/datadog/core/configuration/option_set.rb +10 -0
  114. data/lib/datadog/core/configuration/options.rb +118 -0
  115. data/lib/datadog/core/configuration/settings.rb +652 -0
  116. data/lib/datadog/core/configuration.rb +289 -0
  117. data/lib/datadog/core/diagnostics/environment_logger.rb +283 -0
  118. data/lib/datadog/core/diagnostics/ext.rb +41 -0
  119. data/lib/datadog/core/diagnostics/health.rb +37 -0
  120. data/lib/datadog/core/encoding.rb +76 -0
  121. data/lib/datadog/core/environment/cgroup.rb +5 -2
  122. data/lib/datadog/core/environment/class_count.rb +1 -0
  123. data/lib/datadog/core/environment/container.rb +4 -2
  124. data/lib/datadog/core/environment/ext.rb +29 -10
  125. data/lib/datadog/core/environment/gc.rb +1 -0
  126. data/lib/datadog/core/environment/identity.rb +12 -5
  127. data/lib/datadog/core/environment/platform.rb +40 -0
  128. data/lib/datadog/core/environment/socket.rb +9 -2
  129. data/lib/datadog/core/environment/thread_count.rb +1 -0
  130. data/lib/datadog/core/environment/variable_helpers.rb +28 -2
  131. data/lib/datadog/core/environment/vm_cache.rb +1 -0
  132. data/lib/datadog/core/error.rb +101 -0
  133. data/lib/datadog/core/extensions.rb +16 -0
  134. data/lib/datadog/core/git/ext.rb +35 -0
  135. data/lib/datadog/core/logger.rb +46 -0
  136. data/lib/datadog/core/logging/ext.rb +11 -0
  137. data/lib/datadog/core/metrics/client.rb +198 -0
  138. data/lib/datadog/core/metrics/ext.rb +20 -0
  139. data/lib/datadog/core/metrics/helpers.rb +25 -0
  140. data/lib/datadog/core/metrics/logging.rb +44 -0
  141. data/lib/datadog/core/metrics/metric.rb +14 -0
  142. data/lib/datadog/core/metrics/options.rb +50 -0
  143. data/lib/datadog/core/pin.rb +75 -0
  144. data/lib/datadog/core/runtime/ext.rb +28 -0
  145. data/lib/datadog/core/runtime/metrics.rb +126 -0
  146. data/lib/datadog/core/telemetry/client.rb +79 -0
  147. data/lib/datadog/core/telemetry/collector.rb +234 -0
  148. data/lib/datadog/core/telemetry/emitter.rb +48 -0
  149. data/lib/datadog/core/telemetry/event.rb +71 -0
  150. data/lib/datadog/core/telemetry/ext.rb +11 -0
  151. data/lib/datadog/core/telemetry/heartbeat.rb +37 -0
  152. data/lib/datadog/core/telemetry/http/adapters/net.rb +113 -0
  153. data/lib/datadog/core/telemetry/http/env.rb +20 -0
  154. data/lib/datadog/core/telemetry/http/ext.rb +20 -0
  155. data/lib/datadog/core/telemetry/http/response.rb +68 -0
  156. data/lib/datadog/core/telemetry/http/transport.rb +53 -0
  157. data/lib/datadog/core/telemetry/v1/app_event.rb +52 -0
  158. data/lib/datadog/core/telemetry/v1/application.rb +86 -0
  159. data/lib/datadog/core/telemetry/v1/configuration.rb +25 -0
  160. data/lib/datadog/core/telemetry/v1/dependency.rb +36 -0
  161. data/lib/datadog/core/telemetry/v1/host.rb +51 -0
  162. data/lib/datadog/core/telemetry/v1/integration.rb +58 -0
  163. data/lib/datadog/core/telemetry/v1/product.rb +28 -0
  164. data/lib/datadog/core/telemetry/v1/telemetry_request.rb +100 -0
  165. data/lib/datadog/core/utils/compression.rb +32 -0
  166. data/lib/datadog/core/utils/forking.rb +63 -0
  167. data/lib/datadog/core/utils/object_set.rb +43 -0
  168. data/lib/datadog/core/utils/only_once.rb +44 -0
  169. data/lib/datadog/core/utils/safe_dup.rb +27 -0
  170. data/lib/datadog/core/utils/sequence.rb +26 -0
  171. data/lib/datadog/core/utils/string_table.rb +49 -0
  172. data/lib/datadog/core/utils/time.rb +54 -0
  173. data/lib/datadog/core/utils.rb +115 -0
  174. data/lib/{ddtrace → datadog/core}/vendor/multipart-post/LICENSE +0 -0
  175. data/lib/datadog/core/vendor/multipart-post/multipart/post/composite_read_io.rb +120 -0
  176. data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +61 -0
  177. data/lib/datadog/core/vendor/multipart-post/multipart/post/parts.rb +139 -0
  178. data/lib/datadog/core/vendor/multipart-post/multipart/post/version.rb +13 -0
  179. data/lib/datadog/core/vendor/multipart-post/multipart/post.rb +12 -0
  180. data/lib/datadog/core/vendor/multipart-post/multipart.rb +16 -0
  181. data/lib/datadog/core/vendor/multipart-post/net/http/post/multipart.rb +36 -0
  182. data/lib/datadog/core/worker.rb +24 -0
  183. data/lib/datadog/core/workers/async.rb +182 -0
  184. data/lib/datadog/core/workers/interval_loop.rb +119 -0
  185. data/lib/datadog/core/workers/polling.rb +59 -0
  186. data/lib/datadog/core/workers/queue.rb +44 -0
  187. data/lib/datadog/core/workers/runtime_metrics.rb +62 -0
  188. data/lib/datadog/core.rb +80 -0
  189. data/lib/datadog/kit/enable_core_dumps.rb +50 -0
  190. data/lib/datadog/kit/identity.rb +63 -0
  191. data/lib/datadog/kit.rb +11 -0
  192. data/lib/datadog/opentracer/binary_propagator.rb +26 -0
  193. data/lib/datadog/opentracer/carrier.rb +9 -0
  194. data/lib/datadog/opentracer/distributed_headers.rb +58 -0
  195. data/lib/datadog/opentracer/global_tracer.rb +17 -0
  196. data/lib/datadog/opentracer/propagator.rb +26 -0
  197. data/lib/datadog/opentracer/rack_propagator.rb +76 -0
  198. data/lib/datadog/opentracer/scope.rb +18 -0
  199. data/lib/datadog/opentracer/scope_manager.rb +9 -0
  200. data/lib/datadog/opentracer/span.rb +101 -0
  201. data/lib/datadog/opentracer/span_context.rb +19 -0
  202. data/lib/datadog/opentracer/span_context_factory.rb +27 -0
  203. data/lib/datadog/opentracer/text_map_propagator.rb +90 -0
  204. data/lib/datadog/opentracer/thread_local_scope.rb +34 -0
  205. data/lib/datadog/opentracer/thread_local_scope_manager.rb +66 -0
  206. data/lib/datadog/opentracer/tracer.rb +216 -0
  207. data/lib/datadog/opentracer.rb +24 -0
  208. data/lib/datadog/profiling/backtrace_location.rb +34 -0
  209. data/lib/datadog/profiling/buffer.rb +43 -0
  210. data/lib/datadog/profiling/collectors/code_provenance.rb +115 -0
  211. data/lib/datadog/profiling/collectors/cpu_and_wall_time.rb +27 -0
  212. data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +74 -0
  213. data/lib/datadog/profiling/collectors/old_stack.rb +298 -0
  214. data/lib/datadog/profiling/collectors/stack.rb +13 -0
  215. data/lib/datadog/profiling/encoding/profile.rb +43 -0
  216. data/lib/datadog/profiling/event.rb +15 -0
  217. data/lib/datadog/profiling/events/stack.rb +82 -0
  218. data/lib/datadog/profiling/exporter.rb +82 -0
  219. data/lib/datadog/profiling/ext/forking.rb +98 -0
  220. data/lib/datadog/profiling/ext.rb +45 -0
  221. data/lib/datadog/profiling/flush.rb +38 -0
  222. data/lib/datadog/profiling/http_transport.rb +132 -0
  223. data/lib/datadog/profiling/load_native_extension.rb +22 -0
  224. data/lib/datadog/profiling/native_extension.rb +41 -0
  225. data/lib/datadog/profiling/old_ext.rb +42 -0
  226. data/lib/datadog/profiling/old_recorder.rb +101 -0
  227. data/lib/datadog/profiling/pprof/builder.rb +127 -0
  228. data/lib/datadog/profiling/pprof/converter.rb +104 -0
  229. data/lib/datadog/profiling/pprof/message_set.rb +16 -0
  230. data/lib/datadog/profiling/pprof/payload.rb +20 -0
  231. data/lib/{ddtrace → datadog}/profiling/pprof/pprof.proto +0 -0
  232. data/lib/datadog/profiling/pprof/pprof_pb.rb +83 -0
  233. data/lib/datadog/profiling/pprof/stack_sample.rb +141 -0
  234. data/lib/datadog/profiling/pprof/string_table.rb +12 -0
  235. data/lib/datadog/profiling/pprof/template.rb +120 -0
  236. data/lib/datadog/profiling/preload.rb +5 -0
  237. data/lib/datadog/profiling/profiler.rb +34 -0
  238. data/lib/datadog/profiling/scheduler.rb +133 -0
  239. data/lib/datadog/profiling/stack_recorder.rb +43 -0
  240. data/lib/datadog/profiling/tag_builder.rb +53 -0
  241. data/lib/datadog/profiling/tasks/exec.rb +50 -0
  242. data/lib/datadog/profiling/tasks/help.rb +18 -0
  243. data/lib/datadog/profiling/tasks/setup.rb +93 -0
  244. data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +45 -0
  245. data/lib/datadog/profiling/trace_identifiers/helper.rb +47 -0
  246. data/lib/datadog/profiling/transport/http/api/endpoint.rb +85 -0
  247. data/lib/datadog/profiling/transport/http/api/instance.rb +38 -0
  248. data/lib/datadog/profiling/transport/http/api/spec.rb +42 -0
  249. data/lib/datadog/profiling/transport/http/api.rb +45 -0
  250. data/lib/datadog/profiling/transport/http/builder.rb +30 -0
  251. data/lib/datadog/profiling/transport/http/client.rb +37 -0
  252. data/lib/datadog/profiling/transport/http/response.rb +21 -0
  253. data/lib/datadog/profiling/transport/http.rb +118 -0
  254. data/lib/datadog/profiling.rb +171 -0
  255. data/lib/datadog/tracing/analytics.rb +25 -0
  256. data/lib/datadog/tracing/buffer.rb +132 -0
  257. data/lib/datadog/tracing/configuration/ext.rb +51 -0
  258. data/lib/datadog/tracing/context.rb +68 -0
  259. data/lib/datadog/tracing/context_provider.rb +82 -0
  260. data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +35 -0
  261. data/lib/datadog/tracing/contrib/action_cable/event.rb +71 -0
  262. data/lib/datadog/tracing/contrib/action_cable/events/broadcast.rb +58 -0
  263. data/lib/datadog/tracing/contrib/action_cable/events/perform_action.rb +63 -0
  264. data/lib/datadog/tracing/contrib/action_cable/events/transmit.rb +59 -0
  265. data/lib/datadog/tracing/contrib/action_cable/events.rb +37 -0
  266. data/lib/datadog/tracing/contrib/action_cable/ext.rb +32 -0
  267. data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +90 -0
  268. data/lib/datadog/tracing/contrib/action_cable/integration.rb +50 -0
  269. data/lib/datadog/tracing/contrib/action_cable/patcher.rb +31 -0
  270. data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +36 -0
  271. data/lib/datadog/tracing/contrib/action_mailer/event.rb +52 -0
  272. data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +60 -0
  273. data/lib/datadog/tracing/contrib/action_mailer/events/process.rb +47 -0
  274. data/lib/datadog/tracing/contrib/action_mailer/events.rb +34 -0
  275. data/lib/datadog/tracing/contrib/action_mailer/ext.rb +33 -0
  276. data/lib/datadog/tracing/contrib/action_mailer/integration.rb +50 -0
  277. data/lib/datadog/tracing/contrib/action_mailer/patcher.rb +29 -0
  278. data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +160 -0
  279. data/lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb +29 -0
  280. data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +36 -0
  281. data/lib/datadog/tracing/contrib/action_pack/ext.rb +22 -0
  282. data/lib/datadog/tracing/contrib/action_pack/integration.rb +50 -0
  283. data/lib/datadog/tracing/contrib/action_pack/patcher.rb +27 -0
  284. data/lib/datadog/tracing/contrib/action_pack/utils.rb +40 -0
  285. data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +36 -0
  286. data/lib/datadog/tracing/contrib/action_view/event.rb +35 -0
  287. data/lib/datadog/tracing/contrib/action_view/events/render_partial.rb +54 -0
  288. data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +57 -0
  289. data/lib/datadog/tracing/contrib/action_view/events.rb +34 -0
  290. data/lib/datadog/tracing/contrib/action_view/ext.rb +24 -0
  291. data/lib/datadog/tracing/contrib/action_view/instrumentation/partial_renderer.rb +78 -0
  292. data/lib/datadog/tracing/contrib/action_view/instrumentation/template_renderer.rb +91 -0
  293. data/lib/datadog/tracing/contrib/action_view/integration.rb +57 -0
  294. data/lib/datadog/tracing/contrib/action_view/patcher.rb +47 -0
  295. data/lib/datadog/tracing/contrib/action_view/utils.rb +36 -0
  296. data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +37 -0
  297. data/lib/datadog/tracing/contrib/active_job/event.rb +58 -0
  298. data/lib/datadog/tracing/contrib/active_job/events/discard.rb +50 -0
  299. data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +49 -0
  300. data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +49 -0
  301. data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +51 -0
  302. data/lib/datadog/tracing/contrib/active_job/events/perform.rb +49 -0
  303. data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +50 -0
  304. data/lib/datadog/tracing/contrib/active_job/events.rb +42 -0
  305. data/lib/datadog/tracing/contrib/active_job/ext.rb +39 -0
  306. data/lib/datadog/tracing/contrib/active_job/integration.rb +50 -0
  307. data/lib/datadog/tracing/contrib/active_job/log_injection.rb +24 -0
  308. data/lib/datadog/tracing/contrib/active_job/patcher.rb +36 -0
  309. data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +33 -0
  310. data/lib/datadog/tracing/contrib/active_model_serializers/event.rb +68 -0
  311. data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +45 -0
  312. data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +47 -0
  313. data/lib/datadog/tracing/contrib/active_model_serializers/events.rb +34 -0
  314. data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +24 -0
  315. data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +45 -0
  316. data/lib/datadog/tracing/contrib/active_model_serializers/patcher.rb +32 -0
  317. data/lib/datadog/tracing/contrib/active_record/configuration/makara_resolver.rb +36 -0
  318. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +138 -0
  319. data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +39 -0
  320. data/lib/datadog/tracing/contrib/active_record/event.rb +30 -0
  321. data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +58 -0
  322. data/lib/datadog/tracing/contrib/active_record/events/sql.rb +78 -0
  323. data/lib/datadog/tracing/contrib/active_record/events.rb +34 -0
  324. data/lib/datadog/tracing/contrib/active_record/ext.rb +29 -0
  325. data/lib/datadog/tracing/contrib/active_record/integration.rb +56 -0
  326. data/lib/datadog/tracing/contrib/active_record/patcher.rb +27 -0
  327. data/lib/datadog/tracing/contrib/active_record/utils.rb +128 -0
  328. data/lib/{ddtrace/vendor/active_record → datadog/tracing/contrib/active_record/vendor}/MIT-LICENSE +0 -0
  329. data/lib/datadog/tracing/contrib/active_record/vendor/connection_specification.rb +307 -0
  330. data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +280 -0
  331. data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +73 -0
  332. data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +47 -0
  333. data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +35 -0
  334. data/lib/datadog/tracing/contrib/active_support/ext.rb +31 -0
  335. data/lib/datadog/tracing/contrib/active_support/integration.rb +51 -0
  336. data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +71 -0
  337. data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +71 -0
  338. data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +164 -0
  339. data/lib/datadog/tracing/contrib/active_support/patcher.rb +27 -0
  340. data/lib/datadog/tracing/contrib/analytics.rb +29 -0
  341. data/lib/datadog/tracing/contrib/auto_instrument.rb +53 -0
  342. data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +35 -0
  343. data/lib/datadog/tracing/contrib/aws/ext.rb +27 -0
  344. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +94 -0
  345. data/lib/datadog/tracing/contrib/aws/integration.rb +47 -0
  346. data/lib/datadog/tracing/contrib/aws/parsed_context.rb +60 -0
  347. data/lib/datadog/tracing/contrib/aws/patcher.rb +57 -0
  348. data/lib/datadog/tracing/contrib/aws/services.rb +123 -0
  349. data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +23 -0
  350. data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +53 -0
  351. data/lib/datadog/tracing/contrib/concurrent_ruby/ext.rb +16 -0
  352. data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +27 -0
  353. data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +43 -0
  354. data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +33 -0
  355. data/lib/datadog/tracing/contrib/configurable.rb +102 -0
  356. data/lib/datadog/tracing/contrib/configuration/resolver.rb +85 -0
  357. data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +43 -0
  358. data/lib/datadog/tracing/contrib/configuration/settings.rb +43 -0
  359. data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +35 -0
  360. data/lib/datadog/tracing/contrib/dalli/ext.rb +24 -0
  361. data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +57 -0
  362. data/lib/datadog/tracing/contrib/dalli/integration.rb +52 -0
  363. data/lib/datadog/tracing/contrib/dalli/patcher.rb +28 -0
  364. data/lib/datadog/tracing/contrib/dalli/quantize.rb +26 -0
  365. data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +38 -0
  366. data/lib/datadog/tracing/contrib/delayed_job/ext.rb +28 -0
  367. data/lib/datadog/tracing/contrib/delayed_job/integration.rb +43 -0
  368. data/lib/datadog/tracing/contrib/delayed_job/patcher.rb +37 -0
  369. data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +100 -0
  370. data/lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb +32 -0
  371. data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +36 -0
  372. data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +26 -0
  373. data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +50 -0
  374. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +150 -0
  375. data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +89 -0
  376. data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +37 -0
  377. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +176 -0
  378. data/lib/datadog/tracing/contrib/ethon/ext.rb +24 -0
  379. data/lib/datadog/tracing/contrib/ethon/integration.rb +48 -0
  380. data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +95 -0
  381. data/lib/datadog/tracing/contrib/ethon/patcher.rb +31 -0
  382. data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +38 -0
  383. data/lib/datadog/tracing/contrib/excon/ext.rb +21 -0
  384. data/lib/datadog/tracing/contrib/excon/integration.rb +48 -0
  385. data/lib/datadog/tracing/contrib/excon/middleware.rb +169 -0
  386. data/lib/datadog/tracing/contrib/excon/patcher.rb +31 -0
  387. data/lib/datadog/tracing/contrib/extensions.rb +199 -0
  388. data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +42 -0
  389. data/lib/datadog/tracing/contrib/faraday/connection.rb +22 -0
  390. data/lib/datadog/tracing/contrib/faraday/ext.rb +21 -0
  391. data/lib/datadog/tracing/contrib/faraday/integration.rb +48 -0
  392. data/lib/datadog/tracing/contrib/faraday/middleware.rb +92 -0
  393. data/lib/datadog/tracing/contrib/faraday/patcher.rb +56 -0
  394. data/lib/datadog/tracing/contrib/faraday/rack_builder.rb +22 -0
  395. data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +42 -0
  396. data/lib/datadog/tracing/contrib/grape/endpoint.rb +252 -0
  397. data/lib/datadog/tracing/contrib/grape/ext.rb +28 -0
  398. data/lib/datadog/tracing/contrib/grape/instrumentation.rb +37 -0
  399. data/lib/datadog/tracing/contrib/grape/integration.rb +44 -0
  400. data/lib/datadog/tracing/contrib/grape/patcher.rb +33 -0
  401. data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +36 -0
  402. data/lib/datadog/tracing/contrib/graphql/ext.rb +19 -0
  403. data/lib/datadog/tracing/contrib/graphql/integration.rb +44 -0
  404. data/lib/datadog/tracing/contrib/graphql/patcher.rb +90 -0
  405. data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +38 -0
  406. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +93 -0
  407. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +90 -0
  408. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +107 -0
  409. data/lib/datadog/tracing/contrib/grpc/ext.rb +24 -0
  410. data/lib/datadog/tracing/contrib/grpc/integration.rb +43 -0
  411. data/lib/datadog/tracing/contrib/grpc/intercept_with_datadog.rb +53 -0
  412. data/lib/datadog/tracing/contrib/grpc/patcher.rb +37 -0
  413. data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +43 -0
  414. data/lib/datadog/tracing/contrib/http/configuration/settings.rb +37 -0
  415. data/lib/datadog/tracing/contrib/http/ext.rb +21 -0
  416. data/lib/datadog/tracing/contrib/http/instrumentation.rb +138 -0
  417. data/lib/datadog/tracing/contrib/http/integration.rb +49 -0
  418. data/lib/datadog/tracing/contrib/http/patcher.rb +30 -0
  419. data/lib/datadog/tracing/contrib/http_annotation_helper.rb +17 -0
  420. data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +37 -0
  421. data/lib/datadog/tracing/contrib/httpclient/ext.rb +21 -0
  422. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +116 -0
  423. data/lib/datadog/tracing/contrib/httpclient/integration.rb +48 -0
  424. data/lib/datadog/tracing/contrib/httpclient/patcher.rb +42 -0
  425. data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +37 -0
  426. data/lib/datadog/tracing/contrib/httprb/ext.rb +21 -0
  427. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +127 -0
  428. data/lib/datadog/tracing/contrib/httprb/integration.rb +48 -0
  429. data/lib/datadog/tracing/contrib/httprb/patcher.rb +42 -0
  430. data/lib/datadog/tracing/contrib/integration.rb +78 -0
  431. data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +35 -0
  432. data/lib/datadog/tracing/contrib/kafka/consumer_event.rb +18 -0
  433. data/lib/datadog/tracing/contrib/kafka/consumer_group_event.rb +18 -0
  434. data/lib/datadog/tracing/contrib/kafka/event.rb +52 -0
  435. data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +42 -0
  436. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +49 -0
  437. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +47 -0
  438. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +47 -0
  439. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +37 -0
  440. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +37 -0
  441. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +37 -0
  442. data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +40 -0
  443. data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +43 -0
  444. data/lib/datadog/tracing/contrib/kafka/events.rb +48 -0
  445. data/lib/datadog/tracing/contrib/kafka/ext.rb +52 -0
  446. data/lib/datadog/tracing/contrib/kafka/integration.rb +44 -0
  447. data/lib/datadog/tracing/contrib/kafka/patcher.rb +29 -0
  448. data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +23 -0
  449. data/lib/datadog/tracing/contrib/lograge/ext.rb +15 -0
  450. data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +46 -0
  451. data/lib/datadog/tracing/contrib/lograge/integration.rb +50 -0
  452. data/lib/datadog/tracing/contrib/lograge/patcher.rb +29 -0
  453. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +38 -0
  454. data/lib/datadog/tracing/contrib/mongodb/ext.rb +27 -0
  455. data/lib/datadog/tracing/contrib/mongodb/instrumentation.rb +47 -0
  456. data/lib/datadog/tracing/contrib/mongodb/integration.rb +48 -0
  457. data/lib/datadog/tracing/contrib/mongodb/parsers.rb +49 -0
  458. data/lib/datadog/tracing/contrib/mongodb/patcher.rb +34 -0
  459. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +121 -0
  460. data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +35 -0
  461. data/lib/datadog/tracing/contrib/mysql2/ext.rb +22 -0
  462. data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +61 -0
  463. data/lib/datadog/tracing/contrib/mysql2/integration.rb +43 -0
  464. data/lib/datadog/tracing/contrib/mysql2/patcher.rb +31 -0
  465. data/lib/datadog/tracing/contrib/patchable.rb +109 -0
  466. data/lib/datadog/tracing/contrib/patcher.rb +85 -0
  467. data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +35 -0
  468. data/lib/datadog/tracing/contrib/pg/ext.rb +31 -0
  469. data/lib/datadog/tracing/contrib/pg/instrumentation.rb +128 -0
  470. data/lib/datadog/tracing/contrib/pg/integration.rb +43 -0
  471. data/lib/datadog/tracing/contrib/pg/patcher.rb +31 -0
  472. data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +35 -0
  473. data/lib/datadog/tracing/contrib/presto/ext.rb +32 -0
  474. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +124 -0
  475. data/lib/datadog/tracing/contrib/presto/integration.rb +43 -0
  476. data/lib/datadog/tracing/contrib/presto/patcher.rb +37 -0
  477. data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +40 -0
  478. data/lib/datadog/tracing/contrib/qless/ext.rb +26 -0
  479. data/lib/datadog/tracing/contrib/qless/integration.rb +43 -0
  480. data/lib/datadog/tracing/contrib/qless/patcher.rb +37 -0
  481. data/lib/datadog/tracing/contrib/qless/qless_job.rb +74 -0
  482. data/lib/datadog/tracing/contrib/qless/tracer_cleaner.rb +30 -0
  483. data/lib/datadog/tracing/contrib/que/configuration/settings.rb +49 -0
  484. data/lib/datadog/tracing/contrib/que/ext.rb +34 -0
  485. data/lib/datadog/tracing/contrib/que/integration.rb +46 -0
  486. data/lib/datadog/tracing/contrib/que/patcher.rb +28 -0
  487. data/lib/datadog/tracing/contrib/que/tracer.rb +61 -0
  488. data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +35 -0
  489. data/lib/datadog/tracing/contrib/racecar/event.rb +78 -0
  490. data/lib/datadog/tracing/contrib/racecar/events/batch.rb +35 -0
  491. data/lib/datadog/tracing/contrib/racecar/events/consume.rb +35 -0
  492. data/lib/datadog/tracing/contrib/racecar/events/message.rb +35 -0
  493. data/lib/datadog/tracing/contrib/racecar/events.rb +36 -0
  494. data/lib/datadog/tracing/contrib/racecar/ext.rb +31 -0
  495. data/lib/datadog/tracing/contrib/racecar/integration.rb +44 -0
  496. data/lib/datadog/tracing/contrib/racecar/patcher.rb +29 -0
  497. data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +51 -0
  498. data/lib/datadog/tracing/contrib/rack/ext.rb +25 -0
  499. data/lib/datadog/tracing/contrib/rack/integration.rb +50 -0
  500. data/lib/datadog/tracing/contrib/rack/middlewares.rb +259 -0
  501. data/lib/datadog/tracing/contrib/rack/patcher.rb +119 -0
  502. data/lib/datadog/tracing/contrib/rack/request_queue.rb +48 -0
  503. data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +12 -0
  504. data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +74 -0
  505. data/lib/datadog/tracing/contrib/rails/ext.rb +19 -0
  506. data/lib/datadog/tracing/contrib/rails/framework.rb +148 -0
  507. data/lib/datadog/tracing/contrib/rails/integration.rb +49 -0
  508. data/lib/datadog/tracing/contrib/rails/log_injection.rb +32 -0
  509. data/lib/datadog/tracing/contrib/rails/middlewares.rb +46 -0
  510. data/lib/datadog/tracing/contrib/rails/patcher.rb +120 -0
  511. data/lib/datadog/tracing/contrib/rails/railtie.rb +19 -0
  512. data/lib/datadog/tracing/contrib/rails/utils.rb +28 -0
  513. data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +51 -0
  514. data/lib/datadog/tracing/contrib/rake/ext.rb +26 -0
  515. data/lib/datadog/tracing/contrib/rake/instrumentation.rb +103 -0
  516. data/lib/datadog/tracing/contrib/rake/integration.rb +43 -0
  517. data/lib/datadog/tracing/contrib/rake/patcher.rb +33 -0
  518. data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +49 -0
  519. data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +40 -0
  520. data/lib/datadog/tracing/contrib/redis/ext.rb +26 -0
  521. data/lib/datadog/tracing/contrib/redis/instrumentation.rb +77 -0
  522. data/lib/datadog/tracing/contrib/redis/integration.rb +47 -0
  523. data/lib/datadog/tracing/contrib/redis/patcher.rb +35 -0
  524. data/lib/datadog/tracing/contrib/redis/quantize.rb +79 -0
  525. data/lib/datadog/tracing/contrib/redis/tags.rb +53 -0
  526. data/lib/{ddtrace → datadog/tracing}/contrib/redis/vendor/LICENSE +0 -0
  527. data/lib/datadog/tracing/contrib/redis/vendor/resolver.rb +162 -0
  528. data/lib/datadog/tracing/contrib/registerable.rb +50 -0
  529. data/lib/datadog/tracing/contrib/registry.rb +52 -0
  530. data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +37 -0
  531. data/lib/datadog/tracing/contrib/resque/ext.rb +21 -0
  532. data/lib/datadog/tracing/contrib/resque/integration.rb +48 -0
  533. data/lib/datadog/tracing/contrib/resque/patcher.rb +29 -0
  534. data/lib/datadog/tracing/contrib/resque/resque_job.rb +102 -0
  535. data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +37 -0
  536. data/lib/datadog/tracing/contrib/rest_client/ext.rb +21 -0
  537. data/lib/datadog/tracing/contrib/rest_client/integration.rb +43 -0
  538. data/lib/datadog/tracing/contrib/rest_client/patcher.rb +29 -0
  539. data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +104 -0
  540. data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +23 -0
  541. data/lib/datadog/tracing/contrib/semantic_logger/ext.rb +15 -0
  542. data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +50 -0
  543. data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +52 -0
  544. data/lib/datadog/tracing/contrib/semantic_logger/patcher.rb +29 -0
  545. data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +33 -0
  546. data/lib/datadog/tracing/contrib/sequel/database.rb +59 -0
  547. data/lib/datadog/tracing/contrib/sequel/dataset.rb +64 -0
  548. data/lib/datadog/tracing/contrib/sequel/ext.rb +22 -0
  549. data/lib/datadog/tracing/contrib/sequel/integration.rb +43 -0
  550. data/lib/datadog/tracing/contrib/sequel/patcher.rb +37 -0
  551. data/lib/datadog/tracing/contrib/sequel/utils.rb +87 -0
  552. data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +38 -0
  553. data/lib/datadog/tracing/contrib/shoryuken/ext.rb +25 -0
  554. data/lib/datadog/tracing/contrib/shoryuken/integration.rb +44 -0
  555. data/lib/datadog/tracing/contrib/shoryuken/patcher.rb +28 -0
  556. data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +61 -0
  557. data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +52 -0
  558. data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +44 -0
  559. data/lib/datadog/tracing/contrib/sidekiq/ext.rb +44 -0
  560. data/lib/datadog/tracing/contrib/sidekiq/integration.rb +53 -0
  561. data/lib/datadog/tracing/contrib/sidekiq/patcher.rb +78 -0
  562. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb +52 -0
  563. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch.rb +34 -0
  564. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info.rb +32 -0
  565. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller.rb +53 -0
  566. data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +97 -0
  567. data/lib/datadog/tracing/contrib/sidekiq/tracing.rb +44 -0
  568. data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +43 -0
  569. data/lib/datadog/tracing/contrib/sinatra/env.rb +66 -0
  570. data/lib/datadog/tracing/contrib/sinatra/ext.rb +32 -0
  571. data/lib/datadog/tracing/contrib/sinatra/framework.rb +116 -0
  572. data/lib/datadog/tracing/contrib/sinatra/headers.rb +35 -0
  573. data/lib/datadog/tracing/contrib/sinatra/integration.rb +43 -0
  574. data/lib/datadog/tracing/contrib/sinatra/patcher.rb +76 -0
  575. data/lib/datadog/tracing/contrib/sinatra/tracer.rb +158 -0
  576. data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +122 -0
  577. data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +38 -0
  578. data/lib/datadog/tracing/contrib/sneakers/ext.rb +26 -0
  579. data/lib/datadog/tracing/contrib/sneakers/integration.rb +46 -0
  580. data/lib/datadog/tracing/contrib/sneakers/patcher.rb +29 -0
  581. data/lib/datadog/tracing/contrib/sneakers/tracer.rb +57 -0
  582. data/lib/datadog/tracing/contrib/status_code_matcher.rb +75 -0
  583. data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +35 -0
  584. data/lib/datadog/tracing/contrib/sucker_punch/exception_handler.rb +28 -0
  585. data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +27 -0
  586. data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +104 -0
  587. data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +43 -0
  588. data/lib/datadog/tracing/contrib/sucker_punch/patcher.rb +36 -0
  589. data/lib/datadog/tracing/contrib/utils/database.rb +31 -0
  590. data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +111 -0
  591. data/lib/datadog/tracing/contrib/utils/quantization/http.rb +99 -0
  592. data/lib/datadog/tracing/contrib.rb +77 -0
  593. data/lib/datadog/tracing/correlation.rb +100 -0
  594. data/lib/datadog/tracing/distributed/headers/b3.rb +55 -0
  595. data/lib/datadog/tracing/distributed/headers/b3_single.rb +67 -0
  596. data/lib/datadog/tracing/distributed/headers/datadog.rb +52 -0
  597. data/lib/datadog/tracing/distributed/headers/ext.rb +31 -0
  598. data/lib/datadog/tracing/distributed/headers/parser.rb +37 -0
  599. data/lib/datadog/tracing/distributed/helpers.rb +78 -0
  600. data/lib/datadog/tracing/distributed/metadata/b3.rb +55 -0
  601. data/lib/datadog/tracing/distributed/metadata/b3_single.rb +66 -0
  602. data/lib/datadog/tracing/distributed/metadata/datadog.rb +73 -0
  603. data/lib/datadog/tracing/distributed/metadata/parser.rb +34 -0
  604. data/lib/datadog/tracing/event.rb +78 -0
  605. data/lib/datadog/tracing/flush.rb +74 -0
  606. data/lib/datadog/tracing/metadata/analytics.rb +26 -0
  607. data/lib/datadog/tracing/metadata/errors.rb +24 -0
  608. data/lib/datadog/tracing/metadata/ext.rb +176 -0
  609. data/lib/datadog/tracing/metadata/tagging.rb +116 -0
  610. data/lib/datadog/tracing/metadata.rb +20 -0
  611. data/lib/datadog/tracing/pipeline/span_filter.rb +46 -0
  612. data/lib/datadog/tracing/pipeline/span_processor.rb +39 -0
  613. data/lib/datadog/tracing/pipeline.rb +65 -0
  614. data/lib/datadog/tracing/propagation/grpc.rb +98 -0
  615. data/lib/datadog/tracing/propagation/http.rb +109 -0
  616. data/lib/datadog/tracing/runtime/metrics.rb +19 -0
  617. data/lib/datadog/tracing/sampling/all_sampler.rb +25 -0
  618. data/lib/datadog/tracing/sampling/ext.rb +27 -0
  619. data/lib/datadog/tracing/sampling/matcher.rb +68 -0
  620. data/lib/datadog/tracing/sampling/priority_sampler.rb +112 -0
  621. data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +97 -0
  622. data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +41 -0
  623. data/lib/datadog/tracing/sampling/rate_limiter.rb +185 -0
  624. data/lib/datadog/tracing/sampling/rate_sampler.rb +55 -0
  625. data/lib/datadog/tracing/sampling/rule.rb +76 -0
  626. data/lib/datadog/tracing/sampling/rule_sampler.rb +131 -0
  627. data/lib/datadog/tracing/sampling/sampler.rb +44 -0
  628. data/lib/datadog/tracing/sampling/span/matcher.rb +80 -0
  629. data/lib/datadog/tracing/span.rb +232 -0
  630. data/lib/datadog/tracing/span_operation.rb +521 -0
  631. data/lib/datadog/tracing/sync_writer.rb +69 -0
  632. data/lib/datadog/tracing/trace_digest.rb +60 -0
  633. data/lib/datadog/tracing/trace_operation.rb +438 -0
  634. data/lib/datadog/tracing/trace_segment.rb +207 -0
  635. data/lib/datadog/tracing/tracer.rb +505 -0
  636. data/lib/datadog/tracing/workers/trace_writer.rb +195 -0
  637. data/lib/datadog/tracing/workers.rb +125 -0
  638. data/lib/datadog/tracing/writer.rb +180 -0
  639. data/lib/datadog/tracing.rb +142 -0
  640. data/lib/ddtrace/auto_instrument.rb +14 -3
  641. data/lib/ddtrace/auto_instrument_base.rb +1 -0
  642. data/lib/ddtrace/profiling/preload.rb +2 -2
  643. data/lib/ddtrace/transport/ext.rb +41 -0
  644. data/lib/ddtrace/transport/http/adapters/net.rb +5 -3
  645. data/lib/ddtrace/transport/http/adapters/registry.rb +1 -0
  646. data/lib/ddtrace/transport/http/adapters/test.rb +2 -1
  647. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +4 -3
  648. data/lib/ddtrace/transport/http/api/endpoint.rb +1 -0
  649. data/lib/ddtrace/transport/http/api/fallbacks.rb +1 -0
  650. data/lib/ddtrace/transport/http/api/instance.rb +1 -0
  651. data/lib/ddtrace/transport/http/api/map.rb +2 -1
  652. data/lib/ddtrace/transport/http/api/spec.rb +1 -0
  653. data/lib/ddtrace/transport/http/api.rb +8 -14
  654. data/lib/ddtrace/transport/http/builder.rb +7 -6
  655. data/lib/ddtrace/transport/http/client.rb +5 -3
  656. data/lib/ddtrace/transport/http/env.rb +1 -0
  657. data/lib/ddtrace/transport/http/response.rb +36 -5
  658. data/lib/ddtrace/transport/http/statistics.rb +2 -1
  659. data/lib/ddtrace/transport/http/traces.rb +6 -3
  660. data/lib/ddtrace/transport/http.rb +39 -31
  661. data/lib/ddtrace/transport/io/client.rb +6 -3
  662. data/lib/ddtrace/transport/io/response.rb +2 -1
  663. data/lib/ddtrace/transport/io/traces.rb +5 -4
  664. data/lib/ddtrace/transport/io.rb +5 -4
  665. data/lib/ddtrace/transport/parcel.rb +2 -0
  666. data/lib/ddtrace/transport/request.rb +1 -0
  667. data/lib/ddtrace/transport/response.rb +1 -0
  668. data/lib/ddtrace/transport/serializable_trace.rb +118 -0
  669. data/lib/ddtrace/transport/statistics.rb +6 -4
  670. data/lib/ddtrace/transport/trace_formatter.rb +187 -0
  671. data/lib/ddtrace/transport/traces.rb +17 -7
  672. data/lib/ddtrace/version.rb +15 -13
  673. data/lib/ddtrace.rb +9 -48
  674. metadata +637 -499
  675. data/.editorconfig +0 -22
  676. data/.gitignore +0 -67
  677. data/.yardopts +0 -5
  678. data/CONTRIBUTING.md +0 -81
  679. data/ddtrace.gemspec +0 -56
  680. data/docs/DevelopmentGuide.md +0 -259
  681. data/docs/GettingStarted.md +0 -2626
  682. data/docs/ProfilingDevelopment.md +0 -107
  683. data/lib/datadog/ci/context_flush.rb +0 -29
  684. data/lib/datadog/contrib.rb +0 -71
  685. data/lib/ddtrace/analytics.rb +0 -39
  686. data/lib/ddtrace/buffer.rb +0 -340
  687. data/lib/ddtrace/chunker.rb +0 -35
  688. data/lib/ddtrace/configuration/agent_settings_resolver.rb +0 -309
  689. data/lib/ddtrace/configuration/base.rb +0 -82
  690. data/lib/ddtrace/configuration/components.rb +0 -292
  691. data/lib/ddtrace/configuration/dependency_resolver.rb +0 -25
  692. data/lib/ddtrace/configuration/option.rb +0 -65
  693. data/lib/ddtrace/configuration/option_definition.rb +0 -122
  694. data/lib/ddtrace/configuration/option_definition_set.rb +0 -19
  695. data/lib/ddtrace/configuration/option_set.rb +0 -7
  696. data/lib/ddtrace/configuration/options.rb +0 -112
  697. data/lib/ddtrace/configuration/pin_setup.rb +0 -32
  698. data/lib/ddtrace/configuration/settings.rb +0 -413
  699. data/lib/ddtrace/configuration.rb +0 -195
  700. data/lib/ddtrace/context.rb +0 -334
  701. data/lib/ddtrace/context_flush.rb +0 -82
  702. data/lib/ddtrace/context_provider.rb +0 -62
  703. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +0 -31
  704. data/lib/ddtrace/contrib/action_cable/event.rb +0 -67
  705. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +0 -50
  706. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +0 -56
  707. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +0 -51
  708. data/lib/ddtrace/contrib/action_cable/events.rb +0 -34
  709. data/lib/ddtrace/contrib/action_cable/ext.rb +0 -27
  710. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +0 -78
  711. data/lib/ddtrace/contrib/action_cable/integration.rb +0 -46
  712. data/lib/ddtrace/contrib/action_cable/patcher.rb +0 -29
  713. data/lib/ddtrace/contrib/action_mailer/configuration/settings.rb +0 -32
  714. data/lib/ddtrace/contrib/action_mailer/event.rb +0 -50
  715. data/lib/ddtrace/contrib/action_mailer/events/deliver.rb +0 -54
  716. data/lib/ddtrace/contrib/action_mailer/events/process.rb +0 -41
  717. data/lib/ddtrace/contrib/action_mailer/events.rb +0 -31
  718. data/lib/ddtrace/contrib/action_mailer/ext.rb +0 -32
  719. data/lib/ddtrace/contrib/action_mailer/integration.rb +0 -45
  720. data/lib/ddtrace/contrib/action_mailer/patcher.rb +0 -27
  721. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +0 -157
  722. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +0 -26
  723. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +0 -33
  724. data/lib/ddtrace/contrib/action_pack/ext.rb +0 -20
  725. data/lib/ddtrace/contrib/action_pack/integration.rb +0 -46
  726. data/lib/ddtrace/contrib/action_pack/patcher.rb +0 -24
  727. data/lib/ddtrace/contrib/action_pack/utils.rb +0 -37
  728. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +0 -32
  729. data/lib/ddtrace/contrib/action_view/event.rb +0 -36
  730. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +0 -47
  731. data/lib/ddtrace/contrib/action_view/events/render_template.rb +0 -50
  732. data/lib/ddtrace/contrib/action_view/events.rb +0 -31
  733. data/lib/ddtrace/contrib/action_view/ext.rb +0 -21
  734. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +0 -75
  735. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +0 -168
  736. data/lib/ddtrace/contrib/action_view/integration.rb +0 -53
  737. data/lib/ddtrace/contrib/action_view/patcher.rb +0 -48
  738. data/lib/ddtrace/contrib/action_view/utils.rb +0 -33
  739. data/lib/ddtrace/contrib/active_job/configuration/settings.rb +0 -33
  740. data/lib/ddtrace/contrib/active_job/event.rb +0 -54
  741. data/lib/ddtrace/contrib/active_job/events/discard.rb +0 -46
  742. data/lib/ddtrace/contrib/active_job/events/enqueue.rb +0 -45
  743. data/lib/ddtrace/contrib/active_job/events/enqueue_at.rb +0 -45
  744. data/lib/ddtrace/contrib/active_job/events/enqueue_retry.rb +0 -47
  745. data/lib/ddtrace/contrib/active_job/events/perform.rb +0 -45
  746. data/lib/ddtrace/contrib/active_job/events/retry_stopped.rb +0 -46
  747. data/lib/ddtrace/contrib/active_job/events.rb +0 -39
  748. data/lib/ddtrace/contrib/active_job/ext.rb +0 -32
  749. data/lib/ddtrace/contrib/active_job/integration.rb +0 -46
  750. data/lib/ddtrace/contrib/active_job/log_injection.rb +0 -21
  751. data/lib/ddtrace/contrib/active_job/patcher.rb +0 -33
  752. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +0 -31
  753. data/lib/ddtrace/contrib/active_model_serializers/event.rb +0 -69
  754. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +0 -33
  755. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +0 -36
  756. data/lib/ddtrace/contrib/active_model_serializers/events.rb +0 -31
  757. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +0 -21
  758. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +0 -41
  759. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +0 -30
  760. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +0 -31
  761. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +0 -135
  762. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +0 -36
  763. data/lib/ddtrace/contrib/active_record/event.rb +0 -31
  764. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +0 -61
  765. data/lib/ddtrace/contrib/active_record/events/sql.rb +0 -69
  766. data/lib/ddtrace/contrib/active_record/events.rb +0 -31
  767. data/lib/ddtrace/contrib/active_record/ext.rb +0 -25
  768. data/lib/ddtrace/contrib/active_record/integration.rb +0 -54
  769. data/lib/ddtrace/contrib/active_record/patcher.rb +0 -24
  770. data/lib/ddtrace/contrib/active_record/utils.rb +0 -124
  771. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +0 -259
  772. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +0 -70
  773. data/lib/ddtrace/contrib/active_support/cache/redis.rb +0 -44
  774. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +0 -31
  775. data/lib/ddtrace/contrib/active_support/ext.rb +0 -28
  776. data/lib/ddtrace/contrib/active_support/integration.rb +0 -47
  777. data/lib/ddtrace/contrib/active_support/notifications/event.rb +0 -76
  778. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +0 -68
  779. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +0 -164
  780. data/lib/ddtrace/contrib/active_support/patcher.rb +0 -24
  781. data/lib/ddtrace/contrib/analytics.rb +0 -25
  782. data/lib/ddtrace/contrib/auto_instrument.rb +0 -48
  783. data/lib/ddtrace/contrib/aws/configuration/settings.rb +0 -31
  784. data/lib/ddtrace/contrib/aws/ext.rb +0 -24
  785. data/lib/ddtrace/contrib/aws/instrumentation.rb +0 -91
  786. data/lib/ddtrace/contrib/aws/integration.rb +0 -43
  787. data/lib/ddtrace/contrib/aws/parsed_context.rb +0 -57
  788. data/lib/ddtrace/contrib/aws/patcher.rb +0 -54
  789. data/lib/ddtrace/contrib/aws/services.rb +0 -119
  790. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +0 -21
  791. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +0 -42
  792. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +0 -13
  793. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +0 -24
  794. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +0 -39
  795. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +0 -30
  796. data/lib/ddtrace/contrib/configurable.rb +0 -103
  797. data/lib/ddtrace/contrib/configuration/resolver.rb +0 -82
  798. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +0 -40
  799. data/lib/ddtrace/contrib/configuration/settings.rb +0 -56
  800. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +0 -31
  801. data/lib/ddtrace/contrib/dalli/ext.rb +0 -21
  802. data/lib/ddtrace/contrib/dalli/instrumentation.rb +0 -55
  803. data/lib/ddtrace/contrib/dalli/integration.rb +0 -39
  804. data/lib/ddtrace/contrib/dalli/patcher.rb +0 -26
  805. data/lib/ddtrace/contrib/dalli/quantize.rb +0 -23
  806. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +0 -33
  807. data/lib/ddtrace/contrib/delayed_job/ext.rb +0 -24
  808. data/lib/ddtrace/contrib/delayed_job/integration.rb +0 -39
  809. data/lib/ddtrace/contrib/delayed_job/patcher.rb +0 -29
  810. data/lib/ddtrace/contrib/delayed_job/plugin.rb +0 -85
  811. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +0 -32
  812. data/lib/ddtrace/contrib/elasticsearch/ext.rb +0 -23
  813. data/lib/ddtrace/contrib/elasticsearch/integration.rb +0 -40
  814. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +0 -123
  815. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +0 -84
  816. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +0 -33
  817. data/lib/ddtrace/contrib/ethon/easy_patch.rb +0 -152
  818. data/lib/ddtrace/contrib/ethon/ext.rb +0 -20
  819. data/lib/ddtrace/contrib/ethon/integration.rb +0 -44
  820. data/lib/ddtrace/contrib/ethon/multi_patch.rb +0 -85
  821. data/lib/ddtrace/contrib/ethon/patcher.rb +0 -27
  822. data/lib/ddtrace/contrib/excon/configuration/settings.rb +0 -34
  823. data/lib/ddtrace/contrib/excon/ext.rb +0 -18
  824. data/lib/ddtrace/contrib/excon/integration.rb +0 -44
  825. data/lib/ddtrace/contrib/excon/middleware.rb +0 -164
  826. data/lib/ddtrace/contrib/excon/patcher.rb +0 -28
  827. data/lib/ddtrace/contrib/extensions.rb +0 -169
  828. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +0 -39
  829. data/lib/ddtrace/contrib/faraday/connection.rb +0 -19
  830. data/lib/ddtrace/contrib/faraday/ext.rb +0 -18
  831. data/lib/ddtrace/contrib/faraday/integration.rb +0 -44
  832. data/lib/ddtrace/contrib/faraday/middleware.rb +0 -86
  833. data/lib/ddtrace/contrib/faraday/patcher.rb +0 -54
  834. data/lib/ddtrace/contrib/faraday/rack_builder.rb +0 -19
  835. data/lib/ddtrace/contrib/grape/configuration/settings.rb +0 -39
  836. data/lib/ddtrace/contrib/grape/endpoint.rb +0 -246
  837. data/lib/ddtrace/contrib/grape/ext.rb +0 -24
  838. data/lib/ddtrace/contrib/grape/instrumentation.rb +0 -34
  839. data/lib/ddtrace/contrib/grape/integration.rb +0 -40
  840. data/lib/ddtrace/contrib/grape/patcher.rb +0 -32
  841. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +0 -33
  842. data/lib/ddtrace/contrib/graphql/ext.rb +0 -17
  843. data/lib/ddtrace/contrib/graphql/integration.rb +0 -40
  844. data/lib/ddtrace/contrib/graphql/patcher.rb +0 -61
  845. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +0 -32
  846. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +0 -59
  847. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +0 -80
  848. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +0 -79
  849. data/lib/ddtrace/contrib/grpc/ext.rb +0 -19
  850. data/lib/ddtrace/contrib/grpc/integration.rb +0 -39
  851. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +0 -50
  852. data/lib/ddtrace/contrib/grpc/patcher.rb +0 -34
  853. data/lib/ddtrace/contrib/http/circuit_breaker.rb +0 -38
  854. data/lib/ddtrace/contrib/http/configuration/settings.rb +0 -33
  855. data/lib/ddtrace/contrib/http/ext.rb +0 -18
  856. data/lib/ddtrace/contrib/http/instrumentation.rb +0 -180
  857. data/lib/ddtrace/contrib/http/integration.rb +0 -46
  858. data/lib/ddtrace/contrib/http/patcher.rb +0 -27
  859. data/lib/ddtrace/contrib/http_annotation_helper.rb +0 -11
  860. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +0 -33
  861. data/lib/ddtrace/contrib/httpclient/ext.rb +0 -18
  862. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +0 -148
  863. data/lib/ddtrace/contrib/httpclient/integration.rb +0 -44
  864. data/lib/ddtrace/contrib/httpclient/patcher.rb +0 -39
  865. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +0 -33
  866. data/lib/ddtrace/contrib/httprb/ext.rb +0 -18
  867. data/lib/ddtrace/contrib/httprb/instrumentation.rb +0 -158
  868. data/lib/ddtrace/contrib/httprb/integration.rb +0 -44
  869. data/lib/ddtrace/contrib/httprb/patcher.rb +0 -39
  870. data/lib/ddtrace/contrib/integration.rb +0 -17
  871. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +0 -31
  872. data/lib/ddtrace/contrib/kafka/consumer_event.rb +0 -15
  873. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +0 -15
  874. data/lib/ddtrace/contrib/kafka/event.rb +0 -52
  875. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +0 -35
  876. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +0 -42
  877. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +0 -40
  878. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +0 -40
  879. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +0 -30
  880. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +0 -30
  881. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +0 -30
  882. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +0 -33
  883. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +0 -36
  884. data/lib/ddtrace/contrib/kafka/events.rb +0 -45
  885. data/lib/ddtrace/contrib/kafka/ext.rb +0 -42
  886. data/lib/ddtrace/contrib/kafka/integration.rb +0 -40
  887. data/lib/ddtrace/contrib/kafka/patcher.rb +0 -27
  888. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +0 -19
  889. data/lib/ddtrace/contrib/lograge/ext.rb +0 -11
  890. data/lib/ddtrace/contrib/lograge/instrumentation.rb +0 -39
  891. data/lib/ddtrace/contrib/lograge/integration.rb +0 -46
  892. data/lib/ddtrace/contrib/lograge/patcher.rb +0 -26
  893. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +0 -34
  894. data/lib/ddtrace/contrib/mongodb/ext.rb +0 -24
  895. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +0 -70
  896. data/lib/ddtrace/contrib/mongodb/integration.rb +0 -44
  897. data/lib/ddtrace/contrib/mongodb/parsers.rb +0 -69
  898. data/lib/ddtrace/contrib/mongodb/patcher.rb +0 -32
  899. data/lib/ddtrace/contrib/mongodb/subscribers.rb +0 -112
  900. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +0 -31
  901. data/lib/ddtrace/contrib/mysql2/ext.rb +0 -19
  902. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +0 -65
  903. data/lib/ddtrace/contrib/mysql2/integration.rb +0 -39
  904. data/lib/ddtrace/contrib/mysql2/patcher.rb +0 -28
  905. data/lib/ddtrace/contrib/patchable.rb +0 -71
  906. data/lib/ddtrace/contrib/patcher.rb +0 -66
  907. data/lib/ddtrace/contrib/presto/configuration/settings.rb +0 -31
  908. data/lib/ddtrace/contrib/presto/ext.rb +0 -29
  909. data/lib/ddtrace/contrib/presto/instrumentation.rb +0 -111
  910. data/lib/ddtrace/contrib/presto/integration.rb +0 -39
  911. data/lib/ddtrace/contrib/presto/patcher.rb +0 -34
  912. data/lib/ddtrace/contrib/qless/configuration/settings.rb +0 -36
  913. data/lib/ddtrace/contrib/qless/ext.rb +0 -21
  914. data/lib/ddtrace/contrib/qless/integration.rb +0 -39
  915. data/lib/ddtrace/contrib/qless/patcher.rb +0 -35
  916. data/lib/ddtrace/contrib/qless/qless_job.rb +0 -74
  917. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +0 -34
  918. data/lib/ddtrace/contrib/que/configuration/settings.rb +0 -44
  919. data/lib/ddtrace/contrib/que/ext.rb +0 -31
  920. data/lib/ddtrace/contrib/que/integration.rb +0 -43
  921. data/lib/ddtrace/contrib/que/patcher.rb +0 -25
  922. data/lib/ddtrace/contrib/que/tracer.rb +0 -58
  923. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +0 -31
  924. data/lib/ddtrace/contrib/racecar/event.rb +0 -77
  925. data/lib/ddtrace/contrib/racecar/events/batch.rb +0 -28
  926. data/lib/ddtrace/contrib/racecar/events/consume.rb +0 -28
  927. data/lib/ddtrace/contrib/racecar/events/message.rb +0 -28
  928. data/lib/ddtrace/contrib/racecar/events.rb +0 -33
  929. data/lib/ddtrace/contrib/racecar/ext.rb +0 -26
  930. data/lib/ddtrace/contrib/racecar/integration.rb +0 -40
  931. data/lib/ddtrace/contrib/racecar/patcher.rb +0 -27
  932. data/lib/ddtrace/contrib/rack/configuration/settings.rb +0 -47
  933. data/lib/ddtrace/contrib/rack/ext.rb +0 -22
  934. data/lib/ddtrace/contrib/rack/integration.rb +0 -46
  935. data/lib/ddtrace/contrib/rack/middlewares.rb +0 -288
  936. data/lib/ddtrace/contrib/rack/patcher.rb +0 -106
  937. data/lib/ddtrace/contrib/rack/request_queue.rb +0 -45
  938. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +0 -10
  939. data/lib/ddtrace/contrib/rails/configuration/settings.rb +0 -101
  940. data/lib/ddtrace/contrib/rails/ext.rb +0 -18
  941. data/lib/ddtrace/contrib/rails/framework.rb +0 -172
  942. data/lib/ddtrace/contrib/rails/integration.rb +0 -45
  943. data/lib/ddtrace/contrib/rails/log_injection.rb +0 -42
  944. data/lib/ddtrace/contrib/rails/middlewares.rb +0 -44
  945. data/lib/ddtrace/contrib/rails/patcher.rb +0 -119
  946. data/lib/ddtrace/contrib/rails/railtie.rb +0 -18
  947. data/lib/ddtrace/contrib/rails/utils.rb +0 -25
  948. data/lib/ddtrace/contrib/rake/configuration/settings.rb +0 -32
  949. data/lib/ddtrace/contrib/rake/ext.rb +0 -22
  950. data/lib/ddtrace/contrib/rake/instrumentation.rb +0 -91
  951. data/lib/ddtrace/contrib/rake/integration.rb +0 -39
  952. data/lib/ddtrace/contrib/rake/patcher.rb +0 -31
  953. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +0 -46
  954. data/lib/ddtrace/contrib/redis/configuration/settings.rb +0 -36
  955. data/lib/ddtrace/contrib/redis/ext.rb +0 -23
  956. data/lib/ddtrace/contrib/redis/instrumentation.rb +0 -90
  957. data/lib/ddtrace/contrib/redis/integration.rb +0 -43
  958. data/lib/ddtrace/contrib/redis/patcher.rb +0 -33
  959. data/lib/ddtrace/contrib/redis/quantize.rb +0 -76
  960. data/lib/ddtrace/contrib/redis/tags.rb +0 -47
  961. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +0 -159
  962. data/lib/ddtrace/contrib/registerable.rb +0 -33
  963. data/lib/ddtrace/contrib/registry.rb +0 -43
  964. data/lib/ddtrace/contrib/resque/configuration/settings.rb +0 -49
  965. data/lib/ddtrace/contrib/resque/ext.rb +0 -18
  966. data/lib/ddtrace/contrib/resque/integration.rb +0 -44
  967. data/lib/ddtrace/contrib/resque/patcher.rb +0 -30
  968. data/lib/ddtrace/contrib/resque/resque_job.rb +0 -104
  969. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +0 -32
  970. data/lib/ddtrace/contrib/rest_client/ext.rb +0 -18
  971. data/lib/ddtrace/contrib/rest_client/integration.rb +0 -39
  972. data/lib/ddtrace/contrib/rest_client/patcher.rb +0 -25
  973. data/lib/ddtrace/contrib/rest_client/request_patch.rb +0 -92
  974. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +0 -19
  975. data/lib/ddtrace/contrib/semantic_logger/ext.rb +0 -11
  976. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +0 -43
  977. data/lib/ddtrace/contrib/semantic_logger/integration.rb +0 -48
  978. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +0 -26
  979. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +0 -29
  980. data/lib/ddtrace/contrib/sequel/database.rb +0 -64
  981. data/lib/ddtrace/contrib/sequel/dataset.rb +0 -64
  982. data/lib/ddtrace/contrib/sequel/ext.rb +0 -20
  983. data/lib/ddtrace/contrib/sequel/integration.rb +0 -39
  984. data/lib/ddtrace/contrib/sequel/patcher.rb +0 -34
  985. data/lib/ddtrace/contrib/sequel/utils.rb +0 -75
  986. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +0 -32
  987. data/lib/ddtrace/contrib/shoryuken/ext.rb +0 -22
  988. data/lib/ddtrace/contrib/shoryuken/integration.rb +0 -40
  989. data/lib/ddtrace/contrib/shoryuken/patcher.rb +0 -25
  990. data/lib/ddtrace/contrib/shoryuken/tracer.rb +0 -56
  991. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +0 -44
  992. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +0 -38
  993. data/lib/ddtrace/contrib/sidekiq/ext.rb +0 -31
  994. data/lib/ddtrace/contrib/sidekiq/integration.rb +0 -49
  995. data/lib/ddtrace/contrib/sidekiq/patcher.rb +0 -68
  996. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/heartbeat.rb +0 -30
  997. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/job_fetch.rb +0 -30
  998. data/lib/ddtrace/contrib/sidekiq/server_internal_tracer/scheduled_push.rb +0 -29
  999. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +0 -66
  1000. data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -45
  1001. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +0 -40
  1002. data/lib/ddtrace/contrib/sinatra/env.rb +0 -59
  1003. data/lib/ddtrace/contrib/sinatra/ext.rb +0 -28
  1004. data/lib/ddtrace/contrib/sinatra/headers.rb +0 -30
  1005. data/lib/ddtrace/contrib/sinatra/integration.rb +0 -39
  1006. data/lib/ddtrace/contrib/sinatra/patcher.rb +0 -30
  1007. data/lib/ddtrace/contrib/sinatra/tracer.rb +0 -150
  1008. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +0 -112
  1009. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +0 -34
  1010. data/lib/ddtrace/contrib/sneakers/ext.rb +0 -23
  1011. data/lib/ddtrace/contrib/sneakers/integration.rb +0 -42
  1012. data/lib/ddtrace/contrib/sneakers/patcher.rb +0 -25
  1013. data/lib/ddtrace/contrib/sneakers/tracer.rb +0 -54
  1014. data/lib/ddtrace/contrib/status_code_matcher.rb +0 -70
  1015. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +0 -31
  1016. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +0 -25
  1017. data/lib/ddtrace/contrib/sucker_punch/ext.rb +0 -22
  1018. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +0 -89
  1019. data/lib/ddtrace/contrib/sucker_punch/integration.rb +0 -39
  1020. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +0 -44
  1021. data/lib/ddtrace/correlation.rb +0 -40
  1022. data/lib/ddtrace/diagnostics/environment_logger.rb +0 -280
  1023. data/lib/ddtrace/diagnostics/health.rb +0 -34
  1024. data/lib/ddtrace/distributed_tracing/headers/b3.rb +0 -45
  1025. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +0 -57
  1026. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +0 -43
  1027. data/lib/ddtrace/distributed_tracing/headers/headers.rb +0 -72
  1028. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +0 -44
  1029. data/lib/ddtrace/encoding.rb +0 -72
  1030. data/lib/ddtrace/error.rb +0 -97
  1031. data/lib/ddtrace/event.rb +0 -53
  1032. data/lib/ddtrace/ext/analytics.rb +0 -13
  1033. data/lib/ddtrace/ext/app_types.rb +0 -12
  1034. data/lib/ddtrace/ext/correlation.rb +0 -12
  1035. data/lib/ddtrace/ext/diagnostics.rb +0 -37
  1036. data/lib/ddtrace/ext/distributed.rb +0 -40
  1037. data/lib/ddtrace/ext/environment.rb +0 -24
  1038. data/lib/ddtrace/ext/errors.rb +0 -11
  1039. data/lib/ddtrace/ext/forced_tracing.rb +0 -26
  1040. data/lib/ddtrace/ext/git.rb +0 -32
  1041. data/lib/ddtrace/ext/http.rb +0 -47
  1042. data/lib/ddtrace/ext/integration.rb +0 -9
  1043. data/lib/ddtrace/ext/manual_tracing.rb +0 -10
  1044. data/lib/ddtrace/ext/metrics.rb +0 -16
  1045. data/lib/ddtrace/ext/net.rb +0 -11
  1046. data/lib/ddtrace/ext/priority.rb +0 -19
  1047. data/lib/ddtrace/ext/profiling.rb +0 -53
  1048. data/lib/ddtrace/ext/runtime.rb +0 -25
  1049. data/lib/ddtrace/ext/sampling.rb +0 -17
  1050. data/lib/ddtrace/ext/sql.rb +0 -9
  1051. data/lib/ddtrace/ext/test.rb +0 -9
  1052. data/lib/ddtrace/ext/transport.rb +0 -32
  1053. data/lib/ddtrace/forced_tracing.rb +0 -39
  1054. data/lib/ddtrace/logger.rb +0 -41
  1055. data/lib/ddtrace/metrics.rb +0 -282
  1056. data/lib/ddtrace/opentelemetry/extensions.rb +0 -14
  1057. data/lib/ddtrace/opentelemetry/span.rb +0 -34
  1058. data/lib/ddtrace/opentracer/binary_propagator.rb +0 -25
  1059. data/lib/ddtrace/opentracer/carrier.rb +0 -7
  1060. data/lib/ddtrace/opentracer/distributed_headers.rb +0 -56
  1061. data/lib/ddtrace/opentracer/global_tracer.rb +0 -16
  1062. data/lib/ddtrace/opentracer/propagator.rb +0 -23
  1063. data/lib/ddtrace/opentracer/rack_propagator.rb +0 -61
  1064. data/lib/ddtrace/opentracer/scope.rb +0 -16
  1065. data/lib/ddtrace/opentracer/scope_manager.rb +0 -7
  1066. data/lib/ddtrace/opentracer/span.rb +0 -95
  1067. data/lib/ddtrace/opentracer/span_context.rb +0 -15
  1068. data/lib/ddtrace/opentracer/span_context_factory.rb +0 -24
  1069. data/lib/ddtrace/opentracer/text_map_propagator.rb +0 -76
  1070. data/lib/ddtrace/opentracer/thread_local_scope.rb +0 -32
  1071. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +0 -41
  1072. data/lib/ddtrace/opentracer/tracer.rb +0 -209
  1073. data/lib/ddtrace/opentracer.rb +0 -22
  1074. data/lib/ddtrace/patcher.rb +0 -69
  1075. data/lib/ddtrace/pin.rb +0 -86
  1076. data/lib/ddtrace/pipeline/span_filter.rb +0 -39
  1077. data/lib/ddtrace/pipeline/span_processor.rb +0 -21
  1078. data/lib/ddtrace/pipeline.rb +0 -47
  1079. data/lib/ddtrace/profiling/backtrace_location.rb +0 -33
  1080. data/lib/ddtrace/profiling/buffer.rb +0 -42
  1081. data/lib/ddtrace/profiling/collectors/stack.rb +0 -297
  1082. data/lib/ddtrace/profiling/encoding/profile.rb +0 -46
  1083. data/lib/ddtrace/profiling/event.rb +0 -14
  1084. data/lib/ddtrace/profiling/events/stack.rb +0 -81
  1085. data/lib/ddtrace/profiling/exporter.rb +0 -24
  1086. data/lib/ddtrace/profiling/ext/forking.rb +0 -98
  1087. data/lib/ddtrace/profiling/flush.rb +0 -44
  1088. data/lib/ddtrace/profiling/native_extension.rb +0 -40
  1089. data/lib/ddtrace/profiling/pprof/builder.rb +0 -126
  1090. data/lib/ddtrace/profiling/pprof/converter.rb +0 -103
  1091. data/lib/ddtrace/profiling/pprof/message_set.rb +0 -15
  1092. data/lib/ddtrace/profiling/pprof/payload.rb +0 -19
  1093. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +0 -82
  1094. data/lib/ddtrace/profiling/pprof/stack_sample.rb +0 -140
  1095. data/lib/ddtrace/profiling/pprof/string_table.rb +0 -11
  1096. data/lib/ddtrace/profiling/pprof/template.rb +0 -119
  1097. data/lib/ddtrace/profiling/profiler.rb +0 -31
  1098. data/lib/ddtrace/profiling/recorder.rb +0 -96
  1099. data/lib/ddtrace/profiling/scheduler.rb +0 -150
  1100. data/lib/ddtrace/profiling/tasks/setup.rb +0 -90
  1101. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +0 -42
  1102. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +0 -46
  1103. data/lib/ddtrace/profiling/transport/client.rb +0 -15
  1104. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +0 -94
  1105. data/lib/ddtrace/profiling/transport/http/api/instance.rb +0 -37
  1106. data/lib/ddtrace/profiling/transport/http/api/spec.rb +0 -41
  1107. data/lib/ddtrace/profiling/transport/http/api.rb +0 -44
  1108. data/lib/ddtrace/profiling/transport/http/builder.rb +0 -29
  1109. data/lib/ddtrace/profiling/transport/http/client.rb +0 -34
  1110. data/lib/ddtrace/profiling/transport/http/response.rb +0 -22
  1111. data/lib/ddtrace/profiling/transport/http.rb +0 -111
  1112. data/lib/ddtrace/profiling/transport/io/client.rb +0 -28
  1113. data/lib/ddtrace/profiling/transport/io/response.rb +0 -17
  1114. data/lib/ddtrace/profiling/transport/io.rb +0 -31
  1115. data/lib/ddtrace/profiling/transport/parcel.rb +0 -18
  1116. data/lib/ddtrace/profiling/transport/request.rb +0 -16
  1117. data/lib/ddtrace/profiling/transport/response.rb +0 -9
  1118. data/lib/ddtrace/profiling.rb +0 -149
  1119. data/lib/ddtrace/propagation/grpc_propagator.rb +0 -75
  1120. data/lib/ddtrace/propagation/http_propagator.rb +0 -91
  1121. data/lib/ddtrace/quantization/hash.rb +0 -104
  1122. data/lib/ddtrace/quantization/http.rb +0 -90
  1123. data/lib/ddtrace/runtime/metrics.rb +0 -135
  1124. data/lib/ddtrace/sampler.rb +0 -303
  1125. data/lib/ddtrace/sampling/matcher.rb +0 -58
  1126. data/lib/ddtrace/sampling/rate_limiter.rb +0 -177
  1127. data/lib/ddtrace/sampling/rule.rb +0 -62
  1128. data/lib/ddtrace/sampling/rule_sampler.rb +0 -133
  1129. data/lib/ddtrace/sampling.rb +0 -3
  1130. data/lib/ddtrace/span.rb +0 -445
  1131. data/lib/ddtrace/sync_writer.rb +0 -69
  1132. data/lib/ddtrace/tasks/exec.rb +0 -47
  1133. data/lib/ddtrace/tasks/help.rb +0 -15
  1134. data/lib/ddtrace/tracer.rb +0 -449
  1135. data/lib/ddtrace/utils/compression.rb +0 -28
  1136. data/lib/ddtrace/utils/database.rb +0 -26
  1137. data/lib/ddtrace/utils/forking.rb +0 -53
  1138. data/lib/ddtrace/utils/object_set.rb +0 -40
  1139. data/lib/ddtrace/utils/only_once.rb +0 -41
  1140. data/lib/ddtrace/utils/sequence.rb +0 -18
  1141. data/lib/ddtrace/utils/string_table.rb +0 -46
  1142. data/lib/ddtrace/utils/time.rb +0 -51
  1143. data/lib/ddtrace/utils.rb +0 -80
  1144. data/lib/ddtrace/vendor/active_record/connection_specification.rb +0 -302
  1145. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +0 -117
  1146. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +0 -58
  1147. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +0 -136
  1148. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +0 -10
  1149. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +0 -9
  1150. data/lib/ddtrace/vendor/multipart-post/multipart.rb +0 -13
  1151. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +0 -33
  1152. data/lib/ddtrace/worker.rb +0 -21
  1153. data/lib/ddtrace/workers/async.rb +0 -175
  1154. data/lib/ddtrace/workers/interval_loop.rb +0 -116
  1155. data/lib/ddtrace/workers/polling.rb +0 -56
  1156. data/lib/ddtrace/workers/queue.rb +0 -41
  1157. data/lib/ddtrace/workers/runtime_metrics.rb +0 -65
  1158. data/lib/ddtrace/workers/trace_writer.rb +0 -200
  1159. data/lib/ddtrace/workers.rb +0 -123
  1160. data/lib/ddtrace/writer.rb +0 -200
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 000f0860f13e54bd5d4e0e2d0c4803eb8c568e808379f6ad58b9c9132c03562e
4
- data.tar.gz: 26433871947470f4ba39de8b0790385a7dd3e7d8ff6e04aa28aff717ec81a490
3
+ metadata.gz: b4e4740121e3fe300ff3f114e1ef7f968e104f46644fb0355fc1f1f3f977e725
4
+ data.tar.gz: 914ba68d4f3be6ad282bfe21e03bbeecd4b6a0c37fd6efb625ae4c9cfe386518
5
5
  SHA512:
6
- metadata.gz: 4f2282c9f65efc83c4b815f64f51cb352adb443ca059b6fbeed921a8db83bd0f076060b190ff2a41e024a77599e80b7e2fdbc0a53c0f701a799f0541a53a64cc
7
- data.tar.gz: aa4c8ef2ab73071bd1e58c367d300799483aac3c79e1fee3483bc917316da1cd49fae8a999f4a2c0dfc4a7b081478bd872ca2b6fbfe812f07f6bfa7329de304b
6
+ metadata.gz: 26d08410fc6d1ce577df1eb6dc8df1d49aa04c3581aeae799e74c0fb682ea314e788755b910654a5a8682fbf648e68c38393baeba559470153aff6776bd6bd0c
7
+ data.tar.gz: ad50fc9303b945511e2f886a4bbedf7c5d813889829ddfdf9f904361ec5f36e3a02d331c224933ef7b9a9524dbfb2a889fabbc93511eb7bd099ac38928de3b2a
data/CHANGELOG.md CHANGED
@@ -2,6 +2,185 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [1.4.0] - 2022-08-25
6
+
7
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.4.0
8
+
9
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0
10
+
11
+ ### Added
12
+
13
+ * gRPC: tag `grpc.client.deadline` ([#2200][])
14
+ * Implement telemetry, disable by default ([#2153][])
15
+
16
+ ### Changed
17
+
18
+ * Bump `libdatadog` dependency version ([#2229][])
19
+
20
+ ### Fixed
21
+
22
+ * Fix CI instrumentation configuration ([#2219][])
23
+
24
+ ## [1.3.0] - 2022-08-04
25
+
26
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.3.0
27
+
28
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.2.0...v1.3.0
29
+
30
+ ### Added
31
+
32
+ * Top-level span being tagged to avoid duplicate computation ([#2138][])
33
+
34
+ ### Changed
35
+
36
+ * ActiveSupport: Optionally disable tracing with Rails ([@marcotc][])
37
+ * Rack: Resource overwritten by nested application ([#2180][])
38
+ * Rake: Explicit task instrumentation to prevent memory bloat ([#2174][])
39
+ * Sidekiq and DelayedJob: Add spans to improve tracing ([#2170][])
40
+ * Drop Profiling support for Ruby 2.1 ([#2140][])
41
+ * Migrate `libddprof` dependency to `libdatadog` ([#2061][])
42
+
43
+ ### Fixed
44
+
45
+ * Fix OpenTracing propagation with TraceDigest ([#2201][])
46
+ * Fix SpanFilter dropping descendant spans ([#2074][])
47
+ * Redis: Fix Empty pipelined span being dropped ([#757][]) ([@sponomarev][])
48
+ * Fix profiler not restarting on `Process.daemon` ([#2150][])
49
+ * Fix setting service from Rails configuration ([#2118][]) ([@agrobbin][])
50
+ * Some document and development improvement ([@marocchino][]) ([@yukimurasawa][])
51
+
52
+ ## [1.2.0] - 2022-07-11
53
+
54
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.2.0
55
+
56
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...v1.2.0
57
+
58
+ Special thanks go to [@miketheman][] for gifting Datadog access to the `datadog` gem a few days ago.
59
+
60
+ ### Added
61
+
62
+ * Add Postgres (`pg` gem) instrumentation ([#2054][]) ([@jennchenn][])
63
+ * Add env var for debugging profiling native extension compilation issues ([#2069][])
64
+ * Teach Rest Client integration the `:split_by_domain` option ([#2079][]) ([@agrobbin][])
65
+ * Allow passing request_queuing option to Rack through Rails tracer ([#2082][]) ([@KieranP][])
66
+ * Add Utility to Collect Platform Information ([#2097][]) ([@jennchenn][])
67
+ * Add convenient interface for getting and setting tags using `[]` and `[]=` respectively ([#2076][]) ([@ioquatix][])
68
+ * Add b3 metadata in grpc ([#2110][]) ([@henrich-m][])
69
+
70
+ ### Changed
71
+
72
+ * Profiler now reports profiling data using the libddprof gem ([#2059][])
73
+ * Rename `Kernel#at_fork_blocks` monkey patch to `Kernel#ddtrace_at_fork_blocks` ([#2070][])
74
+ * Improved error message for enabling profiling when `pkg-config` system tool is not installed ([#2134][])
75
+
76
+ ### Fixed
77
+
78
+ * Prevent errors in `action_controller` integration when tracing is disabled ([#2027][]) ([@ahorner][])
79
+ * Fix profiler not building on ruby-head (3.2) due to VM refactoring ([#2066][])
80
+ * Span and trace IDs should not be zero ([#2113][]) ([@albertvaka][])
81
+ * Fix object_id usage as thread local key ([#2096][])
82
+ * Fix profiling not working on Heroku and AWS Elastic Beanstalk due to linking issues ([#2125][])
83
+
84
+ ## [1.1.0] - 2022-05-25
85
+
86
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.1.0
87
+
88
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0
89
+
90
+ ### Added
91
+
92
+ * [Application Security Monitoring](https://docs.datadoghq.com/security_platform/application_security/)
93
+ * Elasticsearch: v8.0 support ([#1985][])
94
+ * Sidekiq: Quantize args ([#1972][]) ([@dudo][])
95
+ * Profiling: Add libddprof dependency to power the new Ruby profiler ([#2028][])
96
+ * Helper to easily enable core dumps ([#2010][])
97
+
98
+ ### Changed
99
+
100
+ * Support spaces in environment variable DD_TAGS ([#2011][])
101
+
102
+ ### Fixed
103
+
104
+ * Fix "circular require considered harmful" warnings ([#1998][])
105
+ * Logging: Change ddsource to a scalar value ([#2022][])
106
+ * Improve exception logging ([#1992][])
107
+
108
+ ## [1.0.0] - 2022-04-28
109
+
110
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0
111
+
112
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta2...v1.0.0
113
+
114
+ Diff since last stable release: https://github.com/DataDog/dd-trace-rb/compare/v0.54.2...v1.0.0
115
+
116
+ ### Added
117
+
118
+ - GraphQL 2.0 support ([#1982][])
119
+
120
+ ### Changed
121
+
122
+ - AppSec: Update libddwaf to 1.3.0 ([#1981][])
123
+
124
+ ### Fixed
125
+
126
+ - Rails log correlation ([#1989][]) ([@cwoodcox][])
127
+ - Resource not inherited from lazily annotated spans ([#1983][])
128
+ - AppSec: Query address for libddwaf ([#1990][])
129
+
130
+ ### Refactored
131
+
132
+ - Docs: Add undocumented Rake option ([#1980][]) ([@ecdemis123][])
133
+ - Improvements to test suite & CI ([#1970][], [#1974][], [#1991][])
134
+ - Improvements to documentation ([#1984][])
135
+
136
+ ## [1.0.0.beta2] - 2022-04-14
137
+
138
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0.beta2
139
+
140
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta1...v1.0.0.beta2
141
+
142
+ ### Added
143
+
144
+ - Ruby 3.1 & 3.2 support ([#1975][], [#1955][])
145
+ - Trace tag API ([#1959][])
146
+
147
+ ### Changed
148
+
149
+ - Access to configuration settings is namespaced ([#1922][])
150
+ - AWS provides metrics by default ([#1976][]) ([@dudo][])
151
+ - Update `debase-ruby_core_source` version ([#1964][])
152
+ - Profiling: Hide symbols/functions in native extension ([#1968][])
153
+ - Profiling: Renamed code_provenance.json to code-provenance.json ([#1919][])
154
+ - AppSec: Update libddwaf to v1.2.1 ([#1942][])
155
+ - AppSec: Update rulesets to v1.3.1 ([#1965][], [#1961][], [#1937][])
156
+ - AppSec: Avoid exception on missing ruleset file ([#1948][])
157
+ - AppSec: Env var consistency ([#1938][])
158
+
159
+ ### Fixed
160
+
161
+ - Rake instrumenting while disabled ([#1940][], [#1945][])
162
+ - Grape instrumenting while disabled ([#1940][], [#1943][])
163
+ - CI: require 'datadog/ci' not loading dependencies ([#1911][])
164
+ - CI: RSpec shared example file names ([#1816][]) ([@Drowze][])
165
+ - General documentation improvements ([#1958][], [#1933][], [#1927][])
166
+ - Documentation fixes & improvements to 1.0 upgrade guide ([#1956][], [#1973][], [#1939][], [#1914][])
167
+
168
+ ### Removed
169
+
170
+ - OpenTelemetry extensions (Use [OTLP](https://docs.datadoghq.com/tracing/setup_overview/open_standards/#otlp-ingest-in-datadog-agent) instead) ([#1917][])
171
+
172
+ ### Refactored
173
+
174
+ - Agent settings resolver logic ([#1930][], [#1931][], [#1932][])
175
+
176
+ ## [1.0.0.beta1] - 2022-02-15
177
+
178
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0.beta1
179
+
180
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.54.2...v1.0.0.beta1
181
+
182
+ See https://github.com/DataDog/dd-trace-rb/blob/v1.0.0.beta1/docs/UpgradeGuide.md.
183
+
5
184
  ## [0.54.2] - 2022-01-18
6
185
 
7
186
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.54.2
@@ -1911,7 +2090,13 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
1911
2090
 
1912
2091
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
1913
2092
 
1914
- [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.54.0...master
2093
+ [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...master
2094
+ [1.1.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0
2095
+ [1.0.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta2...v1.0.0
2096
+ [1.0.0.beta2]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta1...v1.0.0.beta2
2097
+ [1.0.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v0.54.2...v1.0.0.beta1
2098
+ [0.54.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.54.1...v0.54.2
2099
+ [0.54.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.54.0...v0.54.1
1915
2100
  [0.54.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.53.0...v0.54.0
1916
2101
  [0.53.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.52.0...v0.53.0
1917
2102
  [0.52.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.51.1...v0.52.0
@@ -2216,6 +2401,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2216
2401
  [#753]: https://github.com/DataDog/dd-trace-rb/issues/753
2217
2402
  [#754]: https://github.com/DataDog/dd-trace-rb/issues/754
2218
2403
  [#756]: https://github.com/DataDog/dd-trace-rb/issues/756
2404
+ [#757]: https://github.com/DataDog/dd-trace-rb/issues/757
2219
2405
  [#760]: https://github.com/DataDog/dd-trace-rb/issues/760
2220
2406
  [#762]: https://github.com/DataDog/dd-trace-rb/issues/762
2221
2407
  [#765]: https://github.com/DataDog/dd-trace-rb/issues/765
@@ -2701,12 +2887,94 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2701
2887
  [#1798]: https://github.com/DataDog/dd-trace-rb/issues/1798
2702
2888
  [#1801]: https://github.com/DataDog/dd-trace-rb/issues/1801
2703
2889
  [#1807]: https://github.com/DataDog/dd-trace-rb/issues/1807
2890
+ [#1816]: https://github.com/DataDog/dd-trace-rb/issues/1816
2704
2891
  [#1820]: https://github.com/DataDog/dd-trace-rb/issues/1820
2705
2892
  [#1829]: https://github.com/DataDog/dd-trace-rb/issues/1829
2893
+ [#1911]: https://github.com/DataDog/dd-trace-rb/issues/1911
2894
+ [#1914]: https://github.com/DataDog/dd-trace-rb/issues/1914
2895
+ [#1917]: https://github.com/DataDog/dd-trace-rb/issues/1917
2896
+ [#1919]: https://github.com/DataDog/dd-trace-rb/issues/1919
2897
+ [#1922]: https://github.com/DataDog/dd-trace-rb/issues/1922
2898
+ [#1927]: https://github.com/DataDog/dd-trace-rb/issues/1927
2899
+ [#1930]: https://github.com/DataDog/dd-trace-rb/issues/1930
2900
+ [#1931]: https://github.com/DataDog/dd-trace-rb/issues/1931
2901
+ [#1932]: https://github.com/DataDog/dd-trace-rb/issues/1932
2902
+ [#1933]: https://github.com/DataDog/dd-trace-rb/issues/1933
2903
+ [#1937]: https://github.com/DataDog/dd-trace-rb/issues/1937
2904
+ [#1938]: https://github.com/DataDog/dd-trace-rb/issues/1938
2905
+ [#1939]: https://github.com/DataDog/dd-trace-rb/issues/1939
2906
+ [#1940]: https://github.com/DataDog/dd-trace-rb/issues/1940
2907
+ [#1942]: https://github.com/DataDog/dd-trace-rb/issues/1942
2908
+ [#1943]: https://github.com/DataDog/dd-trace-rb/issues/1943
2909
+ [#1945]: https://github.com/DataDog/dd-trace-rb/issues/1945
2910
+ [#1948]: https://github.com/DataDog/dd-trace-rb/issues/1948
2911
+ [#1955]: https://github.com/DataDog/dd-trace-rb/issues/1955
2912
+ [#1956]: https://github.com/DataDog/dd-trace-rb/issues/1956
2913
+ [#1958]: https://github.com/DataDog/dd-trace-rb/issues/1958
2914
+ [#1959]: https://github.com/DataDog/dd-trace-rb/issues/1959
2915
+ [#1961]: https://github.com/DataDog/dd-trace-rb/issues/1961
2916
+ [#1964]: https://github.com/DataDog/dd-trace-rb/issues/1964
2917
+ [#1965]: https://github.com/DataDog/dd-trace-rb/issues/1965
2918
+ [#1968]: https://github.com/DataDog/dd-trace-rb/issues/1968
2919
+ [#1970]: https://github.com/DataDog/dd-trace-rb/issues/1970
2920
+ [#1972]: https://github.com/DataDog/dd-trace-rb/issues/1972
2921
+ [#1973]: https://github.com/DataDog/dd-trace-rb/issues/1973
2922
+ [#1974]: https://github.com/DataDog/dd-trace-rb/issues/1974
2923
+ [#1975]: https://github.com/DataDog/dd-trace-rb/issues/1975
2924
+ [#1976]: https://github.com/DataDog/dd-trace-rb/issues/1976
2925
+ [#1980]: https://github.com/DataDog/dd-trace-rb/issues/1980
2926
+ [#1981]: https://github.com/DataDog/dd-trace-rb/issues/1981
2927
+ [#1982]: https://github.com/DataDog/dd-trace-rb/issues/1982
2928
+ [#1983]: https://github.com/DataDog/dd-trace-rb/issues/1983
2929
+ [#1984]: https://github.com/DataDog/dd-trace-rb/issues/1984
2930
+ [#1985]: https://github.com/DataDog/dd-trace-rb/issues/1985
2931
+ [#1989]: https://github.com/DataDog/dd-trace-rb/issues/1989
2932
+ [#1990]: https://github.com/DataDog/dd-trace-rb/issues/1990
2933
+ [#1991]: https://github.com/DataDog/dd-trace-rb/issues/1991
2934
+ [#1992]: https://github.com/DataDog/dd-trace-rb/issues/1992
2935
+ [#1998]: https://github.com/DataDog/dd-trace-rb/issues/1998
2936
+ [#2010]: https://github.com/DataDog/dd-trace-rb/issues/2010
2937
+ [#2011]: https://github.com/DataDog/dd-trace-rb/issues/2011
2938
+ [#2022]: https://github.com/DataDog/dd-trace-rb/issues/2022
2939
+ [#2027]: https://github.com/DataDog/dd-trace-rb/issues/2027
2940
+ [#2028]: https://github.com/DataDog/dd-trace-rb/issues/2028
2941
+ [#2054]: https://github.com/DataDog/dd-trace-rb/issues/2054
2942
+ [#2059]: https://github.com/DataDog/dd-trace-rb/issues/2059
2943
+ [#2061]: https://github.com/DataDog/dd-trace-rb/issues/2061
2944
+ [#2066]: https://github.com/DataDog/dd-trace-rb/issues/2066
2945
+ [#2069]: https://github.com/DataDog/dd-trace-rb/issues/2069
2946
+ [#2070]: https://github.com/DataDog/dd-trace-rb/issues/2070
2947
+ [#2074]: https://github.com/DataDog/dd-trace-rb/issues/2074
2948
+ [#2076]: https://github.com/DataDog/dd-trace-rb/issues/2076
2949
+ [#2079]: https://github.com/DataDog/dd-trace-rb/issues/2079
2950
+ [#2082]: https://github.com/DataDog/dd-trace-rb/issues/2082
2951
+ [#2096]: https://github.com/DataDog/dd-trace-rb/issues/2096
2952
+ [#2097]: https://github.com/DataDog/dd-trace-rb/issues/2097
2953
+ [#2110]: https://github.com/DataDog/dd-trace-rb/issues/2110
2954
+ [#2113]: https://github.com/DataDog/dd-trace-rb/issues/2113
2955
+ [#2118]: https://github.com/DataDog/dd-trace-rb/issues/2118
2956
+ [#2125]: https://github.com/DataDog/dd-trace-rb/issues/2125
2957
+ [#2134]: https://github.com/DataDog/dd-trace-rb/issues/2134
2958
+ [#2138]: https://github.com/DataDog/dd-trace-rb/issues/2138
2959
+ [#2140]: https://github.com/DataDog/dd-trace-rb/issues/2140
2960
+ [#2150]: https://github.com/DataDog/dd-trace-rb/issues/2150
2961
+ [#2153]: https://github.com/DataDog/dd-trace-rb/issues/2153
2962
+ [#2158]: https://github.com/DataDog/dd-trace-rb/issues/2158
2963
+ [#2162]: https://github.com/DataDog/dd-trace-rb/issues/2162
2964
+ [#2163]: https://github.com/DataDog/dd-trace-rb/issues/2163
2965
+ [#2170]: https://github.com/DataDog/dd-trace-rb/issues/2170
2966
+ [#2173]: https://github.com/DataDog/dd-trace-rb/issues/2173
2967
+ [#2174]: https://github.com/DataDog/dd-trace-rb/issues/2174
2968
+ [#2180]: https://github.com/DataDog/dd-trace-rb/issues/2180
2969
+ [#2200]: https://github.com/DataDog/dd-trace-rb/issues/2200
2970
+ [#2201]: https://github.com/DataDog/dd-trace-rb/issues/2201
2971
+ [#2219]: https://github.com/DataDog/dd-trace-rb/issues/2219
2972
+ [#2229]: https://github.com/DataDog/dd-trace-rb/issues/2229
2706
2973
  [@AdrianLC]: https://github.com/AdrianLC
2707
2974
  [@Azure7111]: https://github.com/Azure7111
2708
2975
  [@BabyGroot]: https://github.com/BabyGroot
2709
2976
  [@DocX]: https://github.com/DocX
2977
+ [@Drowze]: https://github.com/Drowze
2710
2978
  [@EpiFouloux]: https://github.com/EpiFouloux
2711
2979
  [@EvNomad]: https://github.com/EvNomad
2712
2980
  [@HoneyryderChuck]: https://github.com/HoneyryderChuck
@@ -2714,6 +2982,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2714
2982
  [@Jared-Prime]: https://github.com/Jared-Prime
2715
2983
  [@Joas1988]: https://github.com/Joas1988
2716
2984
  [@JustSnow]: https://github.com/JustSnow
2985
+ [@KieranP]: https://github.com/KieranP
2717
2986
  [@MMartyn]: https://github.com/MMartyn
2718
2987
  [@NobodysNightmare]: https://github.com/NobodysNightmare
2719
2988
  [@Redapted]: https://github.com/Redapted
@@ -2724,7 +2993,9 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2724
2993
  [@agirlnamedsophia]: https://github.com/agirlnamedsophia
2725
2994
  [@agrobbin]: https://github.com/agrobbin
2726
2995
  [@ahammel]: https://github.com/ahammel
2996
+ [@ahorner]: https://github.com/ahorner
2727
2997
  [@al-kudryavtsev]: https://github.com/al-kudryavtsev
2998
+ [@albertvaka]: https://github.com/albertvaka
2728
2999
  [@alksl]: https://github.com/alksl
2729
3000
  [@alloy]: https://github.com/alloy
2730
3001
  [@aurelian]: https://github.com/aurelian
@@ -2743,13 +3014,16 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2743
3014
  [@ck3g]: https://github.com/ck3g
2744
3015
  [@components]: https://github.com/components
2745
3016
  [@cswatt]: https://github.com/cswatt
3017
+ [@cwoodcox]: https://github.com/cwoodcox
2746
3018
  [@dasch]: https://github.com/dasch
2747
3019
  [@dim]: https://github.com/dim
2748
3020
  [@dirk]: https://github.com/dirk
2749
3021
  [@djmb]: https://github.com/djmb
2750
3022
  [@dorner]: https://github.com/dorner
2751
3023
  [@drcapulet]: https://github.com/drcapulet
3024
+ [@dudo]: https://github.com/dudo
2752
3025
  [@e1senh0rn]: https://github.com/e1senh0rn
3026
+ [@ecdemis123]: https://github.com/ecdemis123
2753
3027
  [@elliterate]: https://github.com/elliterate
2754
3028
  [@elyalvarado]: https://github.com/elyalvarado
2755
3029
  [@ericmustin]: https://github.com/ericmustin
@@ -2767,11 +3041,14 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2767
3041
  [@guizmaii]: https://github.com/guizmaii
2768
3042
  [@hatstand]: https://github.com/hatstand
2769
3043
  [@hawknewton]: https://github.com/hawknewton
3044
+ [@henrich-m]: https://github.com/henrich-m
2770
3045
  [@hs-bguven]: https://github.com/hs-bguven
2771
3046
  [@illdelph]: https://github.com/illdelph
3047
+ [@ioquatix]: https://github.com/ioquatix
2772
3048
  [@jamiehodge]: https://github.com/jamiehodge
2773
3049
  [@janz93]: https://github.com/janz93
2774
3050
  [@jeffjo]: https://github.com/jeffjo
3051
+ [@jennchenn]: https://github.com/jennchenn
2775
3052
  [@jfrancoist]: https://github.com/jfrancoist
2776
3053
  [@joeyAghion]: https://github.com/joeyAghion
2777
3054
  [@jpaulgs]: https://github.com/jpaulgs
@@ -2785,12 +3062,15 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2785
3062
  [@link04]: https://github.com/link04
2786
3063
  [@lloeki]: https://github.com/lloeki
2787
3064
  [@mantrala]: https://github.com/mantrala
3065
+ [@marcotc]: https://github.com/marcotc
3066
+ [@marocchino]: https://github.com/marocchino
2788
3067
  [@masato-hi]: https://github.com/masato-hi
2789
3068
  [@matchbookmac]: https://github.com/matchbookmac
2790
3069
  [@mberlanda]: https://github.com/mberlanda
2791
3070
  [@mdehoog]: https://github.com/mdehoog
2792
3071
  [@mdross95]: https://github.com/mdross95
2793
3072
  [@michaelkl]: https://github.com/michaelkl
3073
+ [@miketheman]: https://github.com/miketheman
2794
3074
  [@mriddle]: https://github.com/mriddle
2795
3075
  [@mscrivo]: https://github.com/mscrivo
2796
3076
  [@mstruve]: https://github.com/mstruve
@@ -2815,6 +3095,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2815
3095
  [@sinsoku]: https://github.com/sinsoku
2816
3096
  [@skcc321]: https://github.com/skcc321
2817
3097
  [@soulcutter]: https://github.com/soulcutter
3098
+ [@sponomarev]: https://github.com/sponomarev
2818
3099
  [@stefanahman]: https://github.com/stefanahman
2819
3100
  [@steveh]: https://github.com/steveh
2820
3101
  [@stormsilver]: https://github.com/stormsilver
@@ -2829,4 +3110,5 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2829
3110
  [@vramaiah]: https://github.com/vramaiah
2830
3111
  [@walterking]: https://github.com/walterking
2831
3112
  [@y-yagi]: https://github.com/y-yagi
3113
+ [@yukimurasawa]: https://github.com/yukimurasawa
2832
3114
  [@zachmccormick]: https://github.com/zachmccormick
data/LICENSE-3rdparty.csv CHANGED
@@ -1,2 +1,6 @@
1
1
  Component,Origin,License,Copyright
2
- ddtrace/vendor/multipart-post,https://github.com/socketry/multipart-post,MIT,"Copyright (c) 2007-2013 Nick Sieger."
2
+ lib/datadog/core/vendor/multipart-post,https://github.com/socketry/multipart-post,MIT,"Copyright (c) 2007-2013 Nick Sieger."
3
+ lib/datadog/tracing/contrib/active_record/vendor,https://github.com/rails/rails/,MIT,"Copyright (c) 2005-2018 David Heinemeier Hansson"
4
+ ext/ddtrace_profiling_native_extension/private_vm_api_access,https://github.com/ruby/ruby,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
5
+ msgpack,https://rubygems.org/gems/msgpack,Apache-2.0,"Copyright (c) 2008-2015 Sadayuki Furuhashi"
6
+ debase-ruby_core_source,https://rubygems.org/gems/debase-ruby_core_source,MIT for gem and BSD-2-Clause for Ruby sources,"Copyright (c) 2012 Gabriel Horner. Files from Ruby sources are Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
data/README.md CHANGED
@@ -1,7 +1,11 @@
1
+ **We've recently released the 1.x version series. If you're upgrading from a 0.x version, check out our [upgrade guide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/UpgradeGuide.md#from-0x-to-10).**
2
+
1
3
  # Datadog Trace Client
2
4
 
5
+ [![Gem](https://img.shields.io/gem/v/ddtrace)](https://rubygems.org/gems/ddtrace/)
3
6
  [![CircleCI](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master.svg?style=svg&circle-token=b0bd5ef866ec7f7b018f48731bb495f2d1372cc1)](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master)
4
7
  [![codecov](https://codecov.io/gh/DataDog/dd-trace-rb/branch/master/graph/badge.svg)](https://app.codecov.io/gh/DataDog/dd-trace-rb/branch/master)
8
+ [![YARD documentation](https://img.shields.io/badge/YARD-documentation-blue)](https://s3.amazonaws.com/gems.datadoghq.com/trace/docs/index.html)
5
9
 
6
10
  ``ddtrace`` is Datadog’s tracing client for Ruby. It is used to trace requests as they flow across web servers,
7
11
  databases and microservices so that developers have great visiblity into bottlenecks and troublesome requests.
@@ -18,7 +22,12 @@ For contributing, checkout the [contribution guidelines][contribution docs] and
18
22
 
19
23
  [setup docs]: https://docs.datadoghq.com/tracing/setup/ruby/
20
24
  [api docs]: https://github.com/DataDog/dd-trace-rb/blob/master/docs/GettingStarted.md
21
- [gem docs]: http://gems.datadoghq.com/trace/docs/
25
+ [gem docs]: https://s3.amazonaws.com/gems.datadoghq.com/trace/docs/index.html
22
26
  [visualization docs]: https://docs.datadoghq.com/tracing/visualization/
23
27
  [contribution docs]: https://github.com/DataDog/dd-trace-rb/blob/master/CONTRIBUTING.md
24
28
  [development docs]: https://github.com/DataDog/dd-trace-rb/blob/master/docs/DevelopmentGuide.md
29
+
30
+ ## Special thanks
31
+
32
+ * [Mike Fiedler](https://github.com/miketheman) for working on a number of Datadog Ruby projects, as well as graciously
33
+ gifting control of the `datadog` gem
data/bin/ddtracerb CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
- require 'ddtrace/tasks/exec'
3
- require 'ddtrace/tasks/help'
2
+ require 'datadog/profiling/tasks/exec'
3
+ require 'datadog/profiling/tasks/help'
4
4
 
5
5
  command = ARGV.shift
6
6
 
7
7
  case command
8
8
  when 'exec'
9
- Datadog::Tasks::Exec.new(ARGV).run
9
+ Datadog::Profiling::Tasks::Exec.new(ARGV).run
10
10
  when 'help', '--help'
11
- Datadog::Tasks::Help.new.run
11
+ Datadog::Profiling::Tasks::Help.new.run
12
12
  else
13
13
  puts "Command '#{command}' is not valid for ddtrace."
14
- Datadog::Tasks::Help.new.run
14
+ Datadog::Profiling::Tasks::Help.new.run
15
15
  end
@@ -0,0 +1,118 @@
1
+ #include <stdbool.h>
2
+ #include <dlfcn.h>
3
+ #include <ruby.h>
4
+
5
+ // Why this exists:
6
+ //
7
+ // The Datadog::Profiling::Loader exists because when Ruby loads a native extension (using `require`), it uses
8
+ // `dlopen(..., RTLD_LAZY | RTLD_GLOBAL)` (https://github.com/ruby/ruby/blob/67950a4c0a884bdb78d9beb4405ebf7459229b21/dln.c#L362).
9
+ // This means that every symbol exposed directly or indirectly by that native extension becomes visible to every other
10
+ // extension in the Ruby process. This can cause issues, see https://github.com/rubyjs/mini_racer/pull/179.
11
+ //
12
+ // Instead of `RTLD_LAZY | RTLD_GLOBAL`, we want to call `dlopen` with `RTLD_LAZY | RTLD_LOCAL | RTLD_DEEPBIND` when
13
+ // loading the profiling native extension, to avoid leaking any unintended symbols (`RTLD_LOCAL`) and avoid picking
14
+ // up other's symbols (`RTLD_DEEPBIND`).
15
+ //
16
+ // But Ruby's extension loading mechanism is not configurable -- there's no way to tell it to use different flags when
17
+ // calling `dlopen`. To get around this, this file (ddtrace_profiling_loader.c) introduces another extension
18
+ // (profiling loader) which has only a single responsibility: mimic Ruby's extension loading mechanism, but when calling
19
+ // `dlopen` use a different set of flags.
20
+ // This idea was shamelessly stolen from @lloeki's work in https://github.com/rubyjs/mini_racer/pull/179, big thanks!
21
+ //
22
+ // Extra note: Currently (May 2022), that we know of, the profiling native extension only exposes one potentially
23
+ // problematic symbol: `rust_eh_personality` (coming from libdatadog).
24
+ // Future versions of Rust have been patched not to expose this
25
+ // (see https://github.com/rust-lang/rust/pull/95604#issuecomment-1108563434) so we may want to revisit the need
26
+ // for this loader in the future, and perhaps delete it if we no longer require its services :)
27
+
28
+ #ifndef RTLD_DEEPBIND
29
+ #define RTLD_DEEPBIND 0
30
+ #endif
31
+
32
+ static VALUE ok_symbol = Qnil; // :ok in Ruby
33
+ static VALUE error_symbol = Qnil; // :error in Ruby
34
+
35
+ static VALUE _native_load(VALUE self, VALUE ruby_path, VALUE ruby_init_name);
36
+ static bool failed_to_load(void *handle, VALUE *failure_details);
37
+ static bool incompatible_library(void *handle, VALUE *failure_details);
38
+ static bool failed_to_initialize(void *handle, char *init_name, VALUE *failure_details);
39
+ static void set_failure_from_dlerror(VALUE *failure_details);
40
+ static void unload_failed_library(void *handle);
41
+
42
+ #define DDTRACE_EXPORT __attribute__ ((visibility ("default")))
43
+
44
+ void DDTRACE_EXPORT Init_ddtrace_profiling_loader(void) {
45
+ VALUE datadog_module = rb_define_module("Datadog");
46
+ VALUE profiling_module = rb_define_module_under(datadog_module, "Profiling");
47
+ VALUE loader_module = rb_define_module_under(profiling_module, "Loader");
48
+ rb_define_singleton_method(loader_module, "_native_load", _native_load, 2);
49
+
50
+ ok_symbol = ID2SYM(rb_intern_const("ok"));
51
+ error_symbol = ID2SYM(rb_intern_const("error"));
52
+ }
53
+
54
+ static VALUE _native_load(VALUE self, VALUE ruby_path, VALUE ruby_init_name) {
55
+ Check_Type(ruby_path, T_STRING);
56
+ Check_Type(ruby_init_name, T_STRING);
57
+
58
+ char *path = StringValueCStr(ruby_path);
59
+ char *init_name = StringValueCStr(ruby_init_name);
60
+
61
+ void *handle = dlopen(path, RTLD_LAZY | RTLD_LOCAL | RTLD_DEEPBIND);
62
+
63
+ VALUE failure_details = Qnil;
64
+
65
+ if (
66
+ failed_to_load(handle, &failure_details) ||
67
+ incompatible_library(handle, &failure_details) ||
68
+ failed_to_initialize(handle, init_name, &failure_details)
69
+ ) {
70
+ return rb_ary_new_from_args(2, error_symbol, failure_details);
71
+ }
72
+
73
+ return rb_ary_new_from_args(2, ok_symbol, Qnil);
74
+ }
75
+
76
+ static bool failed_to_load(void *handle, VALUE *failure_details) {
77
+ if (handle == NULL) {
78
+ set_failure_from_dlerror(failure_details);
79
+ return true;
80
+ } else {
81
+ return false;
82
+ }
83
+ }
84
+
85
+ static bool incompatible_library(void *handle, VALUE *failure_details) {
86
+ // The library being loaded may be linked to a different libruby than the current executing Ruby.
87
+ // We check if this is the case by checking if a well-known symbol resolves to a common address.
88
+ if (dlsym(handle, "ruby_xmalloc") != &ruby_xmalloc) {
89
+ *failure_details = rb_str_new_cstr("library was compiled and linked to a different Ruby version");
90
+ unload_failed_library(handle);
91
+ return true;
92
+ } else {
93
+ return false;
94
+ }
95
+ }
96
+
97
+ static bool failed_to_initialize(void *handle, char *init_name, VALUE *failure_details) {
98
+ void (*initialization_function)(void) = dlsym(handle, init_name);
99
+
100
+ if (initialization_function == NULL) {
101
+ set_failure_from_dlerror(failure_details);
102
+ unload_failed_library(handle);
103
+ return true;
104
+ } else {
105
+ (*initialization_function)();
106
+ return false;
107
+ }
108
+ }
109
+
110
+ static void set_failure_from_dlerror(VALUE *failure_details) {
111
+ char *failure = dlerror();
112
+ *failure_details = failure == NULL ? Qnil : rb_str_new_cstr(failure);
113
+ }
114
+
115
+ static void unload_failed_library(void *handle) {
116
+ // Note: According to the Ruby VM sources, this may fail with a segfault on really old versions of macOS (< 10.11)
117
+ dlclose(handle);
118
+ }
@@ -0,0 +1,54 @@
1
+ # typed: ignore
2
+
3
+ # rubocop:disable Style/StderrPuts
4
+ # rubocop:disable Style/GlobalVars
5
+
6
+ if RUBY_ENGINE != 'ruby' || Gem.win_platform?
7
+ $stderr.puts(
8
+ 'WARN: Skipping build of ddtrace profiling loader. See ddtrace profiling native extension note for details.'
9
+ )
10
+
11
+ File.write('Makefile', 'all install clean: # dummy makefile that does nothing')
12
+ exit
13
+ end
14
+
15
+ require 'mkmf'
16
+
17
+ # mkmf on modern Rubies actually has an append_cflags that does something similar
18
+ # (see https://github.com/ruby/ruby/pull/5760), but as usual we need a bit more boilerplate to deal with legacy Rubies
19
+ def add_compiler_flag(flag)
20
+ if try_cflags(flag)
21
+ $CFLAGS << ' ' << flag
22
+ else
23
+ $stderr.puts("WARNING: '#{flag}' not accepted by compiler, skipping it")
24
+ end
25
+ end
26
+
27
+ # Gets really noisy when we include the MJIT header, let's omit it
28
+ add_compiler_flag '-Wno-unused-function'
29
+
30
+ # Allow defining variables at any point in a function
31
+ add_compiler_flag '-Wno-declaration-after-statement'
32
+
33
+ # If we forget to include a Ruby header, the function call may still appear to work, but then
34
+ # cause a segfault later. Let's ensure that never happens.
35
+ add_compiler_flag '-Werror-implicit-function-declaration'
36
+
37
+ # The native extension is not intended to expose any symbols/functions for other native libraries to use;
38
+ # the sole exception being `Init_ddtrace_profiling_loader` which needs to be visible for Ruby to call it when
39
+ # it `dlopen`s the library.
40
+ #
41
+ # By setting this compiler flag, we tell it to assume that everything is private unless explicitly stated.
42
+ # For more details see https://gcc.gnu.org/wiki/Visibility
43
+ add_compiler_flag '-fvisibility=hidden'
44
+
45
+ # Tag the native extension library with the Ruby version and Ruby platform.
46
+ # This makes it easier for development (avoids "oops I forgot to rebuild when I switched my Ruby") and ensures that
47
+ # the wrong library is never loaded.
48
+ # When requiring, we need to use the exact same string, including the version and the platform.
49
+ EXTENSION_NAME = "ddtrace_profiling_loader.#{RUBY_VERSION}_#{RUBY_PLATFORM}".freeze
50
+
51
+ create_makefile(EXTENSION_NAME)
52
+
53
+ # rubocop:enable Style/GlobalVars
54
+ # rubocop:enable Style/StderrPuts