ddtrace 1.0.0 → 1.9.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 (646) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +453 -2
  3. data/LICENSE-3rdparty.csv +6 -2
  4. data/README.md +10 -5
  5. data/ext/ddtrace_profiling_loader/ddtrace_profiling_loader.c +134 -0
  6. data/ext/ddtrace_profiling_loader/extconf.rb +74 -0
  7. data/ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md +79 -9
  8. data/ext/ddtrace_profiling_native_extension/clock_id.h +22 -1
  9. data/ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c +33 -10
  10. data/ext/ddtrace_profiling_native_extension/clock_id_noop.c +11 -2
  11. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.c +899 -0
  12. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.h +9 -0
  13. data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +776 -0
  14. data/ext/ddtrace_profiling_native_extension/collectors_dynamic_sampling_rate.c +142 -0
  15. data/ext/ddtrace_profiling_native_extension/collectors_dynamic_sampling_rate.h +14 -0
  16. data/ext/ddtrace_profiling_native_extension/collectors_idle_sampling_helper.c +241 -0
  17. data/ext/ddtrace_profiling_native_extension/collectors_idle_sampling_helper.h +3 -0
  18. data/ext/ddtrace_profiling_native_extension/collectors_stack.c +390 -0
  19. data/ext/ddtrace_profiling_native_extension/collectors_stack.h +18 -0
  20. data/ext/ddtrace_profiling_native_extension/extconf.rb +156 -114
  21. data/ext/ddtrace_profiling_native_extension/helpers.h +17 -0
  22. data/ext/ddtrace_profiling_native_extension/http_transport.c +354 -0
  23. data/ext/ddtrace_profiling_native_extension/libdatadog_helpers.h +18 -0
  24. data/ext/ddtrace_profiling_native_extension/native_extension_helpers.rb +319 -0
  25. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.c +820 -9
  26. data/ext/ddtrace_profiling_native_extension/private_vm_api_access.h +42 -0
  27. data/ext/ddtrace_profiling_native_extension/profiling.c +230 -3
  28. data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +110 -0
  29. data/ext/ddtrace_profiling_native_extension/ruby_helpers.h +89 -0
  30. data/ext/ddtrace_profiling_native_extension/setup_signal_handler.c +115 -0
  31. data/ext/ddtrace_profiling_native_extension/setup_signal_handler.h +11 -0
  32. data/ext/ddtrace_profiling_native_extension/stack_recorder.c +487 -0
  33. data/ext/ddtrace_profiling_native_extension/stack_recorder.h +39 -0
  34. data/ext/ddtrace_profiling_native_extension/time_helpers.c +17 -0
  35. data/ext/ddtrace_profiling_native_extension/time_helpers.h +10 -0
  36. data/lib/datadog/appsec/assets/blocked.html +98 -3
  37. data/lib/datadog/appsec/assets/blocked.json +1 -0
  38. data/lib/datadog/appsec/assets/blocked.text +5 -0
  39. data/lib/datadog/appsec/assets/waf_rules/recommended.json +1250 -300
  40. data/lib/datadog/appsec/assets/waf_rules/risky.json +78 -78
  41. data/lib/datadog/appsec/assets/waf_rules/strict.json +308 -73
  42. data/lib/datadog/appsec/assets.rb +3 -3
  43. data/lib/datadog/appsec/autoload.rb +6 -4
  44. data/lib/datadog/appsec/configuration/settings.rb +55 -19
  45. data/lib/datadog/appsec/configuration.rb +17 -3
  46. data/lib/datadog/appsec/contrib/auto_instrument.rb +1 -3
  47. data/lib/datadog/appsec/contrib/configuration/settings.rb +2 -2
  48. data/lib/datadog/appsec/contrib/integration.rb +1 -1
  49. data/lib/datadog/appsec/contrib/patcher.rb +1 -1
  50. data/lib/datadog/appsec/contrib/rack/configuration/settings.rb +3 -3
  51. data/lib/datadog/appsec/contrib/rack/ext.rb +1 -1
  52. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +95 -47
  53. data/lib/datadog/appsec/contrib/rack/integration.rb +5 -4
  54. data/lib/datadog/appsec/contrib/rack/patcher.rb +2 -3
  55. data/lib/datadog/appsec/contrib/rack/reactive/request.rb +17 -21
  56. data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +64 -0
  57. data/lib/datadog/appsec/contrib/rack/reactive/response.rb +13 -13
  58. data/lib/datadog/appsec/contrib/rack/request.rb +27 -1
  59. data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +41 -0
  60. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +92 -10
  61. data/lib/datadog/appsec/contrib/rack/response.rb +1 -1
  62. data/lib/datadog/appsec/contrib/rails/configuration/settings.rb +3 -3
  63. data/lib/datadog/appsec/contrib/rails/ext.rb +1 -1
  64. data/lib/datadog/appsec/contrib/rails/framework.rb +1 -1
  65. data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +82 -0
  66. data/lib/datadog/appsec/contrib/rails/integration.rb +5 -5
  67. data/lib/datadog/appsec/contrib/rails/patcher.rb +42 -8
  68. data/lib/datadog/appsec/contrib/rails/reactive/action.rb +68 -0
  69. data/lib/datadog/appsec/contrib/rails/request.rb +36 -0
  70. data/lib/datadog/appsec/contrib/rails/request_middleware.rb +1 -1
  71. data/lib/datadog/appsec/contrib/sinatra/configuration/settings.rb +3 -3
  72. data/lib/datadog/appsec/contrib/sinatra/ext.rb +2 -1
  73. data/lib/datadog/appsec/contrib/sinatra/framework.rb +1 -1
  74. data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +126 -0
  75. data/lib/datadog/appsec/contrib/sinatra/integration.rb +4 -4
  76. data/lib/datadog/appsec/contrib/sinatra/patcher.rb +84 -10
  77. data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +63 -0
  78. data/lib/datadog/appsec/contrib/sinatra/request_middleware.rb +1 -1
  79. data/lib/datadog/appsec/event.rb +38 -27
  80. data/lib/datadog/appsec/extensions.rb +43 -26
  81. data/lib/datadog/appsec/instrumentation/gateway.rb +17 -3
  82. data/lib/datadog/appsec/processor.rb +86 -13
  83. data/lib/datadog/appsec/rate_limiter.rb +6 -1
  84. data/lib/datadog/appsec/reactive/address_hash.rb +1 -1
  85. data/lib/datadog/appsec/reactive/engine.rb +3 -3
  86. data/lib/datadog/appsec/reactive/operation.rb +5 -6
  87. data/lib/datadog/appsec/reactive/subscriber.rb +1 -1
  88. data/lib/datadog/appsec/response.rb +63 -0
  89. data/lib/datadog/appsec/utils/http/media_range.rb +201 -0
  90. data/lib/datadog/appsec/utils/http/media_type.rb +87 -0
  91. data/lib/datadog/appsec/utils/http.rb +9 -0
  92. data/lib/datadog/appsec/utils.rb +7 -0
  93. data/lib/datadog/appsec.rb +6 -6
  94. data/lib/datadog/ci/configuration/components.rb +1 -1
  95. data/lib/datadog/ci/configuration/settings.rb +1 -1
  96. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +2 -2
  97. data/lib/datadog/ci/contrib/cucumber/formatter.rb +5 -5
  98. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +1 -1
  99. data/lib/datadog/ci/contrib/cucumber/integration.rb +4 -4
  100. data/lib/datadog/ci/contrib/cucumber/patcher.rb +2 -2
  101. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +2 -2
  102. data/lib/datadog/ci/contrib/rspec/example.rb +5 -5
  103. data/lib/datadog/ci/contrib/rspec/integration.rb +4 -4
  104. data/lib/datadog/ci/contrib/rspec/patcher.rb +2 -2
  105. data/lib/datadog/ci/ext/environment.rb +99 -27
  106. data/lib/datadog/ci/extensions.rb +4 -4
  107. data/lib/datadog/ci/flush.rb +2 -2
  108. data/lib/datadog/ci/test.rb +3 -3
  109. data/lib/datadog/ci.rb +6 -6
  110. data/lib/datadog/core/buffer/cruby.rb +1 -1
  111. data/lib/datadog/core/buffer/thread_safe.rb +1 -1
  112. data/lib/datadog/core/configuration/agent_settings_resolver.rb +9 -12
  113. data/lib/datadog/core/configuration/base.rb +14 -2
  114. data/lib/datadog/core/configuration/components.rb +123 -54
  115. data/lib/datadog/core/configuration/ext.rb +26 -0
  116. data/lib/datadog/core/configuration/option_definition.rb +12 -3
  117. data/lib/datadog/core/configuration/option_definition_set.rb +1 -1
  118. data/lib/datadog/core/configuration/options.rb +3 -3
  119. data/lib/datadog/core/configuration/settings.rb +79 -251
  120. data/lib/datadog/core/configuration.rb +16 -11
  121. data/lib/datadog/core/diagnostics/environment_logger.rb +10 -5
  122. data/lib/datadog/core/diagnostics/health.rb +5 -23
  123. data/lib/datadog/core/environment/cgroup.rb +4 -2
  124. data/lib/datadog/core/environment/container.rb +3 -2
  125. data/lib/datadog/core/environment/ext.rb +1 -1
  126. data/lib/datadog/core/environment/identity.rb +2 -2
  127. data/lib/datadog/core/environment/platform.rb +40 -0
  128. data/lib/datadog/core/environment/socket.rb +1 -1
  129. data/lib/datadog/core/environment/variable_helpers.rb +83 -11
  130. data/lib/datadog/core/error.rb +1 -1
  131. data/lib/datadog/core/extensions.rb +1 -1
  132. data/lib/datadog/core/header_collection.rb +41 -0
  133. data/lib/datadog/core/logging/ext.rb +11 -0
  134. data/lib/datadog/core/metrics/client.rb +25 -14
  135. data/lib/datadog/core/metrics/ext.rb +0 -2
  136. data/lib/datadog/core/metrics/options.rb +3 -3
  137. data/lib/datadog/core/runtime/ext.rb +1 -1
  138. data/lib/datadog/core/runtime/metrics.rb +7 -7
  139. data/lib/datadog/core/telemetry/client.rb +79 -0
  140. data/lib/datadog/core/telemetry/collector.rb +233 -0
  141. data/lib/datadog/core/telemetry/emitter.rb +48 -0
  142. data/lib/datadog/core/telemetry/event.rb +71 -0
  143. data/lib/datadog/core/telemetry/ext.rb +11 -0
  144. data/lib/datadog/core/telemetry/heartbeat.rb +37 -0
  145. data/lib/datadog/core/telemetry/http/adapters/net.rb +113 -0
  146. data/lib/datadog/core/telemetry/http/env.rb +20 -0
  147. data/lib/datadog/core/telemetry/http/ext.rb +20 -0
  148. data/lib/datadog/core/telemetry/http/response.rb +68 -0
  149. data/lib/datadog/core/telemetry/http/transport.rb +53 -0
  150. data/lib/datadog/core/telemetry/v1/app_event.rb +52 -0
  151. data/lib/datadog/core/telemetry/v1/application.rb +86 -0
  152. data/lib/datadog/core/telemetry/v1/configuration.rb +25 -0
  153. data/lib/datadog/core/telemetry/v1/dependency.rb +36 -0
  154. data/lib/datadog/core/telemetry/v1/host.rb +51 -0
  155. data/lib/datadog/core/telemetry/v1/integration.rb +58 -0
  156. data/lib/datadog/core/telemetry/v1/product.rb +28 -0
  157. data/lib/datadog/core/telemetry/v1/telemetry_request.rb +100 -0
  158. data/lib/datadog/core/utils/compression.rb +5 -1
  159. data/lib/datadog/core/utils/object_set.rb +1 -1
  160. data/lib/datadog/core/utils/sequence.rb +5 -0
  161. data/lib/datadog/core/utils/string_table.rb +1 -1
  162. data/lib/datadog/core/utils/time.rb +3 -3
  163. data/lib/datadog/core/utils.rb +1 -22
  164. data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +2 -2
  165. data/lib/datadog/core/vendor/multipart-post/net/http/post/multipart.rb +3 -3
  166. data/lib/datadog/core/workers/async.rb +4 -4
  167. data/lib/datadog/core/workers/polling.rb +2 -2
  168. data/lib/datadog/core/workers/runtime_metrics.rb +4 -7
  169. data/lib/datadog/core.rb +28 -56
  170. data/lib/datadog/kit/appsec/events.rb +75 -0
  171. data/lib/datadog/kit/enable_core_dumps.rb +51 -0
  172. data/lib/datadog/kit/identity.rb +64 -0
  173. data/lib/datadog/kit.rb +11 -0
  174. data/lib/datadog/opentelemetry/api/context.rb +187 -0
  175. data/lib/datadog/opentelemetry/api/trace/span.rb +15 -0
  176. data/lib/datadog/opentelemetry/sdk/configurator.rb +38 -0
  177. data/lib/datadog/opentelemetry/sdk/id_generator.rb +27 -0
  178. data/lib/datadog/opentelemetry/sdk/propagator.rb +91 -0
  179. data/lib/datadog/opentelemetry/sdk/span_processor.rb +92 -0
  180. data/lib/datadog/opentelemetry.rb +48 -0
  181. data/lib/datadog/opentracer/distributed_headers.rb +7 -9
  182. data/lib/datadog/opentracer/rack_propagator.rb +10 -9
  183. data/lib/datadog/opentracer/span.rb +1 -1
  184. data/lib/datadog/opentracer/text_map_propagator.rb +13 -12
  185. data/lib/datadog/opentracer/thread_local_scope_manager.rb +26 -3
  186. data/lib/datadog/opentracer/tracer.rb +23 -23
  187. data/lib/datadog/opentracer.rb +16 -16
  188. data/lib/datadog/profiling/buffer.rb +3 -3
  189. data/lib/datadog/profiling/collectors/code_provenance.rb +1 -0
  190. data/lib/datadog/profiling/collectors/cpu_and_wall_time.rb +43 -0
  191. data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +91 -0
  192. data/lib/datadog/profiling/collectors/dynamic_sampling_rate.rb +14 -0
  193. data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +68 -0
  194. data/lib/datadog/profiling/collectors/old_stack.rb +305 -0
  195. data/lib/datadog/profiling/collectors/stack.rb +4 -288
  196. data/lib/datadog/profiling/encoding/profile.rb +8 -13
  197. data/lib/datadog/profiling/events/stack.rb +1 -1
  198. data/lib/datadog/profiling/exporter.rb +69 -9
  199. data/lib/datadog/profiling/ext/forking.rb +41 -42
  200. data/lib/datadog/profiling/ext.rb +4 -16
  201. data/lib/datadog/profiling/flush.rb +25 -56
  202. data/lib/datadog/profiling/http_transport.rb +132 -0
  203. data/lib/datadog/profiling/load_native_extension.rb +22 -0
  204. data/lib/datadog/profiling/old_recorder.rb +109 -0
  205. data/lib/datadog/profiling/pprof/builder.rb +4 -4
  206. data/lib/datadog/profiling/pprof/converter.rb +1 -1
  207. data/lib/datadog/profiling/pprof/message_set.rb +1 -1
  208. data/lib/datadog/profiling/pprof/stack_sample.rb +4 -4
  209. data/lib/datadog/profiling/pprof/string_table.rb +1 -1
  210. data/lib/datadog/profiling/pprof/template.rb +5 -5
  211. data/lib/datadog/profiling/preload.rb +1 -1
  212. data/lib/datadog/profiling/profiler.rb +7 -0
  213. data/lib/datadog/profiling/scheduler.rb +29 -50
  214. data/lib/datadog/profiling/stack_recorder.rb +79 -0
  215. data/lib/datadog/profiling/tag_builder.rb +53 -0
  216. data/lib/datadog/profiling/tasks/exec.rb +2 -2
  217. data/lib/datadog/profiling/tasks/setup.rb +8 -13
  218. data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +2 -2
  219. data/lib/datadog/profiling/trace_identifiers/helper.rb +1 -1
  220. data/lib/datadog/profiling.rb +49 -44
  221. data/lib/datadog/tracing/analytics.rb +1 -1
  222. data/lib/datadog/tracing/buffer.rb +14 -8
  223. data/lib/datadog/tracing/client_ip.rb +164 -0
  224. data/lib/datadog/tracing/configuration/ext.rb +47 -4
  225. data/lib/datadog/tracing/configuration/settings.rb +433 -0
  226. data/lib/datadog/tracing/context.rb +1 -1
  227. data/lib/datadog/tracing/context_provider.rb +18 -2
  228. data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +2 -2
  229. data/lib/datadog/tracing/contrib/action_cable/event.rb +4 -5
  230. data/lib/datadog/tracing/contrib/action_cable/events/broadcast.rb +4 -4
  231. data/lib/datadog/tracing/contrib/action_cable/events/perform_action.rb +3 -3
  232. data/lib/datadog/tracing/contrib/action_cable/events/transmit.rb +4 -4
  233. data/lib/datadog/tracing/contrib/action_cable/events.rb +4 -4
  234. data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +3 -4
  235. data/lib/datadog/tracing/contrib/action_cable/integration.rb +4 -4
  236. data/lib/datadog/tracing/contrib/action_cable/patcher.rb +4 -4
  237. data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +2 -2
  238. data/lib/datadog/tracing/contrib/action_mailer/event.rb +3 -3
  239. data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +3 -3
  240. data/lib/datadog/tracing/contrib/action_mailer/events/process.rb +3 -3
  241. data/lib/datadog/tracing/contrib/action_mailer/events.rb +2 -2
  242. data/lib/datadog/tracing/contrib/action_mailer/integration.rb +4 -4
  243. data/lib/datadog/tracing/contrib/action_mailer/patcher.rb +3 -3
  244. data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +10 -6
  245. data/lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb +2 -2
  246. data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +2 -2
  247. data/lib/datadog/tracing/contrib/action_pack/integration.rb +4 -4
  248. data/lib/datadog/tracing/contrib/action_pack/patcher.rb +2 -2
  249. data/lib/datadog/tracing/contrib/action_pack/utils.rb +1 -1
  250. data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +2 -2
  251. data/lib/datadog/tracing/contrib/action_view/event.rb +1 -1
  252. data/lib/datadog/tracing/contrib/action_view/events/render_partial.rb +5 -5
  253. data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +5 -5
  254. data/lib/datadog/tracing/contrib/action_view/events.rb +2 -2
  255. data/lib/datadog/tracing/contrib/action_view/instrumentation/partial_renderer.rb +2 -2
  256. data/lib/datadog/tracing/contrib/action_view/instrumentation/template_renderer.rb +2 -2
  257. data/lib/datadog/tracing/contrib/action_view/integration.rb +4 -4
  258. data/lib/datadog/tracing/contrib/action_view/patcher.rb +7 -8
  259. data/lib/datadog/tracing/contrib/action_view/utils.rb +1 -1
  260. data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +3 -3
  261. data/lib/datadog/tracing/contrib/active_job/event.rb +3 -3
  262. data/lib/datadog/tracing/contrib/active_job/events/discard.rb +4 -4
  263. data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +4 -4
  264. data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +4 -4
  265. data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +4 -4
  266. data/lib/datadog/tracing/contrib/active_job/events/perform.rb +4 -4
  267. data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +4 -4
  268. data/lib/datadog/tracing/contrib/active_job/events.rb +6 -6
  269. data/lib/datadog/tracing/contrib/active_job/integration.rb +4 -4
  270. data/lib/datadog/tracing/contrib/active_job/log_injection.rb +0 -2
  271. data/lib/datadog/tracing/contrib/active_job/patcher.rb +4 -4
  272. data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +2 -2
  273. data/lib/datadog/tracing/contrib/active_model_serializers/event.rb +4 -5
  274. data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +3 -3
  275. data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +2 -2
  276. data/lib/datadog/tracing/contrib/active_model_serializers/events.rb +2 -2
  277. data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +3 -3
  278. data/lib/datadog/tracing/contrib/active_model_serializers/patcher.rb +3 -4
  279. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +4 -4
  280. data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +3 -3
  281. data/lib/datadog/tracing/contrib/active_record/event.rb +1 -1
  282. data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +4 -4
  283. data/lib/datadog/tracing/contrib/active_record/events/sql.rb +6 -6
  284. data/lib/datadog/tracing/contrib/active_record/events.rb +2 -2
  285. data/lib/datadog/tracing/contrib/active_record/integration.rb +6 -6
  286. data/lib/datadog/tracing/contrib/active_record/patcher.rb +2 -2
  287. data/lib/datadog/tracing/contrib/active_record/utils.rb +3 -3
  288. data/lib/datadog/tracing/contrib/active_record/vendor/connection_specification.rb +1 -1
  289. data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +19 -9
  290. data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +2 -2
  291. data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +1 -1
  292. data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +2 -2
  293. data/lib/datadog/tracing/contrib/active_support/integration.rb +5 -5
  294. data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +1 -1
  295. data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +1 -1
  296. data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +4 -2
  297. data/lib/datadog/tracing/contrib/active_support/patcher.rb +2 -2
  298. data/lib/datadog/tracing/contrib/analytics.rb +1 -1
  299. data/lib/datadog/tracing/contrib/auto_instrument.rb +4 -4
  300. data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +6 -3
  301. data/lib/datadog/tracing/contrib/aws/ext.rb +1 -0
  302. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +5 -4
  303. data/lib/datadog/tracing/contrib/aws/integration.rb +3 -3
  304. data/lib/datadog/tracing/contrib/aws/patcher.rb +5 -5
  305. data/lib/datadog/tracing/contrib/aws/services.rb +0 -2
  306. data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +2 -2
  307. data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +10 -3
  308. data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +1 -1
  309. data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +3 -3
  310. data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +2 -2
  311. data/lib/datadog/tracing/contrib/configurable.rb +2 -2
  312. data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +1 -1
  313. data/lib/datadog/tracing/contrib/configuration/settings.rb +2 -2
  314. data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +6 -3
  315. data/lib/datadog/tracing/contrib/dalli/ext.rb +2 -0
  316. data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +8 -5
  317. data/lib/datadog/tracing/contrib/dalli/integration.rb +3 -3
  318. data/lib/datadog/tracing/contrib/dalli/patcher.rb +3 -4
  319. data/lib/datadog/tracing/contrib/dalli/quantize.rb +1 -1
  320. data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +3 -3
  321. data/lib/datadog/tracing/contrib/delayed_job/ext.rb +2 -0
  322. data/lib/datadog/tracing/contrib/delayed_job/integration.rb +3 -3
  323. data/lib/datadog/tracing/contrib/delayed_job/patcher.rb +8 -3
  324. data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +7 -4
  325. data/lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb +32 -0
  326. data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +7 -3
  327. data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +3 -0
  328. data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +12 -6
  329. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +47 -9
  330. data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +1 -1
  331. data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +8 -3
  332. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +6 -7
  333. data/lib/datadog/tracing/contrib/ethon/ext.rb +1 -0
  334. data/lib/datadog/tracing/contrib/ethon/integration.rb +4 -4
  335. data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +5 -4
  336. data/lib/datadog/tracing/contrib/ethon/patcher.rb +3 -4
  337. data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +7 -3
  338. data/lib/datadog/tracing/contrib/excon/ext.rb +1 -0
  339. data/lib/datadog/tracing/contrib/excon/integration.rb +4 -4
  340. data/lib/datadog/tracing/contrib/excon/middleware.rb +8 -7
  341. data/lib/datadog/tracing/contrib/excon/patcher.rb +2 -2
  342. data/lib/datadog/tracing/contrib/ext.rb +25 -0
  343. data/lib/datadog/tracing/contrib/extensions.rb +5 -5
  344. data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +7 -3
  345. data/lib/datadog/tracing/contrib/faraday/ext.rb +1 -0
  346. data/lib/datadog/tracing/contrib/faraday/integration.rb +4 -4
  347. data/lib/datadog/tracing/contrib/faraday/middleware.rb +8 -8
  348. data/lib/datadog/tracing/contrib/faraday/patcher.rb +5 -6
  349. data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +3 -3
  350. data/lib/datadog/tracing/contrib/grape/endpoint.rb +4 -7
  351. data/lib/datadog/tracing/contrib/grape/integration.rb +3 -3
  352. data/lib/datadog/tracing/contrib/grape/patcher.rb +4 -5
  353. data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +3 -3
  354. data/lib/datadog/tracing/contrib/graphql/integration.rb +3 -3
  355. data/lib/datadog/tracing/contrib/graphql/patcher.rb +2 -4
  356. data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +10 -4
  357. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +20 -5
  358. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +17 -17
  359. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +7 -4
  360. data/lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb +27 -0
  361. data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +43 -0
  362. data/lib/datadog/tracing/contrib/grpc/ext.rb +4 -0
  363. data/lib/datadog/tracing/contrib/grpc/integration.rb +3 -3
  364. data/lib/datadog/tracing/contrib/grpc/patcher.rb +3 -6
  365. data/lib/datadog/tracing/contrib/hanami/action_tracer.rb +47 -0
  366. data/lib/datadog/tracing/contrib/hanami/configuration/settings.rb +22 -0
  367. data/lib/datadog/tracing/contrib/hanami/ext.rb +24 -0
  368. data/lib/datadog/tracing/contrib/hanami/integration.rb +44 -0
  369. data/lib/datadog/tracing/contrib/hanami/patcher.rb +33 -0
  370. data/lib/datadog/tracing/contrib/hanami/plugin.rb +23 -0
  371. data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +41 -0
  372. data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +44 -0
  373. data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +1 -2
  374. data/lib/datadog/tracing/contrib/http/configuration/settings.rb +13 -3
  375. data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +39 -0
  376. data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +38 -0
  377. data/lib/datadog/tracing/contrib/http/ext.rb +2 -0
  378. data/lib/datadog/tracing/contrib/http/instrumentation.rb +8 -10
  379. data/lib/datadog/tracing/contrib/http/integration.rb +6 -6
  380. data/lib/datadog/tracing/contrib/http/patcher.rb +3 -3
  381. data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +13 -3
  382. data/lib/datadog/tracing/contrib/httpclient/ext.rb +2 -0
  383. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +9 -9
  384. data/lib/datadog/tracing/contrib/httpclient/integration.rb +4 -4
  385. data/lib/datadog/tracing/contrib/httpclient/patcher.rb +3 -3
  386. data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +13 -3
  387. data/lib/datadog/tracing/contrib/httprb/ext.rb +2 -0
  388. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +9 -9
  389. data/lib/datadog/tracing/contrib/httprb/integration.rb +4 -4
  390. data/lib/datadog/tracing/contrib/httprb/patcher.rb +3 -3
  391. data/lib/datadog/tracing/contrib/integration.rb +3 -3
  392. data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +2 -2
  393. data/lib/datadog/tracing/contrib/kafka/consumer_event.rb +1 -0
  394. data/lib/datadog/tracing/contrib/kafka/event.rb +3 -3
  395. data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +2 -2
  396. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +3 -3
  397. data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +3 -3
  398. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +4 -4
  399. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +4 -4
  400. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +4 -4
  401. data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +4 -4
  402. data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +3 -2
  403. data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +3 -2
  404. data/lib/datadog/tracing/contrib/kafka/events.rb +9 -9
  405. data/lib/datadog/tracing/contrib/kafka/integration.rb +3 -3
  406. data/lib/datadog/tracing/contrib/kafka/patcher.rb +3 -4
  407. data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +2 -2
  408. data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +2 -2
  409. data/lib/datadog/tracing/contrib/lograge/integration.rb +3 -3
  410. data/lib/datadog/tracing/contrib/lograge/patcher.rb +2 -2
  411. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +7 -3
  412. data/lib/datadog/tracing/contrib/mongodb/ext.rb +8 -0
  413. data/lib/datadog/tracing/contrib/mongodb/instrumentation.rb +3 -3
  414. data/lib/datadog/tracing/contrib/mongodb/integration.rb +4 -4
  415. data/lib/datadog/tracing/contrib/mongodb/parsers.rb +1 -1
  416. data/lib/datadog/tracing/contrib/mongodb/patcher.rb +3 -3
  417. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +10 -4
  418. data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +18 -3
  419. data/lib/datadog/tracing/contrib/mysql2/ext.rb +2 -0
  420. data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +20 -5
  421. data/lib/datadog/tracing/contrib/mysql2/integration.rb +3 -3
  422. data/lib/datadog/tracing/contrib/mysql2/patcher.rb +2 -2
  423. data/lib/datadog/tracing/contrib/patcher.rb +16 -4
  424. data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +50 -0
  425. data/lib/datadog/tracing/contrib/pg/ext.rb +33 -0
  426. data/lib/datadog/tracing/contrib/pg/instrumentation.rb +168 -0
  427. data/lib/datadog/tracing/contrib/pg/integration.rb +43 -0
  428. data/lib/datadog/tracing/contrib/pg/patcher.rb +31 -0
  429. data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +6 -3
  430. data/lib/datadog/tracing/contrib/presto/ext.rb +1 -0
  431. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +2 -3
  432. data/lib/datadog/tracing/contrib/presto/integration.rb +3 -3
  433. data/lib/datadog/tracing/contrib/presto/patcher.rb +4 -4
  434. data/lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb +43 -0
  435. data/lib/datadog/tracing/contrib/propagation/sql_comment/ext.rb +33 -0
  436. data/lib/datadog/tracing/contrib/propagation/sql_comment/mode.rb +28 -0
  437. data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +47 -0
  438. data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +2 -2
  439. data/lib/datadog/tracing/contrib/qless/integration.rb +3 -3
  440. data/lib/datadog/tracing/contrib/qless/patcher.rb +1 -3
  441. data/lib/datadog/tracing/contrib/qless/qless_job.rb +2 -3
  442. data/lib/datadog/tracing/contrib/qless/tracer_cleaner.rb +0 -2
  443. data/lib/datadog/tracing/contrib/que/configuration/settings.rb +3 -3
  444. data/lib/datadog/tracing/contrib/que/integration.rb +4 -4
  445. data/lib/datadog/tracing/contrib/que/patcher.rb +1 -2
  446. data/lib/datadog/tracing/contrib/que/tracer.rb +3 -1
  447. data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +2 -2
  448. data/lib/datadog/tracing/contrib/racecar/event.rb +4 -5
  449. data/lib/datadog/tracing/contrib/racecar/events/batch.rb +6 -3
  450. data/lib/datadog/tracing/contrib/racecar/events/consume.rb +2 -2
  451. data/lib/datadog/tracing/contrib/racecar/events/message.rb +6 -3
  452. data/lib/datadog/tracing/contrib/racecar/events.rb +3 -3
  453. data/lib/datadog/tracing/contrib/racecar/integration.rb +3 -3
  454. data/lib/datadog/tracing/contrib/racecar/patcher.rb +3 -4
  455. data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +2 -2
  456. data/lib/datadog/tracing/contrib/rack/header_collection.rb +35 -0
  457. data/lib/datadog/tracing/contrib/rack/integration.rb +4 -4
  458. data/lib/datadog/tracing/contrib/rack/middlewares.rb +129 -61
  459. data/lib/datadog/tracing/contrib/rack/patcher.rb +12 -2
  460. data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +1 -1
  461. data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +4 -1
  462. data/lib/datadog/tracing/contrib/rails/framework.rb +18 -22
  463. data/lib/datadog/tracing/contrib/rails/integration.rb +4 -4
  464. data/lib/datadog/tracing/contrib/rails/log_injection.rb +3 -18
  465. data/lib/datadog/tracing/contrib/rails/middlewares.rb +1 -2
  466. data/lib/datadog/tracing/contrib/rails/patcher.rb +7 -8
  467. data/lib/datadog/tracing/contrib/rails/railtie.rb +3 -3
  468. data/lib/datadog/tracing/contrib/rails/utils.rb +1 -1
  469. data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +17 -2
  470. data/lib/datadog/tracing/contrib/rake/instrumentation.rb +14 -9
  471. data/lib/datadog/tracing/contrib/rake/integration.rb +3 -3
  472. data/lib/datadog/tracing/contrib/rake/patcher.rb +3 -5
  473. data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +1 -1
  474. data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +6 -3
  475. data/lib/datadog/tracing/contrib/redis/ext.rb +3 -0
  476. data/lib/datadog/tracing/contrib/redis/instrumentation.rb +36 -26
  477. data/lib/datadog/tracing/contrib/redis/integration.rb +37 -4
  478. data/lib/datadog/tracing/contrib/redis/patcher.rb +57 -14
  479. data/lib/datadog/tracing/contrib/redis/quantize.rb +12 -9
  480. data/lib/datadog/tracing/contrib/redis/tags.rb +12 -10
  481. data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +72 -0
  482. data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +3 -3
  483. data/lib/datadog/tracing/contrib/resque/integration.rb +3 -3
  484. data/lib/datadog/tracing/contrib/resque/patcher.rb +2 -3
  485. data/lib/datadog/tracing/contrib/resque/resque_job.rb +5 -4
  486. data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +9 -3
  487. data/lib/datadog/tracing/contrib/rest_client/ext.rb +1 -0
  488. data/lib/datadog/tracing/contrib/rest_client/integration.rb +3 -3
  489. data/lib/datadog/tracing/contrib/rest_client/patcher.rb +2 -3
  490. data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +7 -6
  491. data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +2 -2
  492. data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +2 -2
  493. data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +3 -3
  494. data/lib/datadog/tracing/contrib/semantic_logger/patcher.rb +2 -2
  495. data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +2 -2
  496. data/lib/datadog/tracing/contrib/sequel/database.rb +4 -5
  497. data/lib/datadog/tracing/contrib/sequel/dataset.rb +4 -5
  498. data/lib/datadog/tracing/contrib/sequel/integration.rb +3 -3
  499. data/lib/datadog/tracing/contrib/sequel/patcher.rb +3 -3
  500. data/lib/datadog/tracing/contrib/sequel/utils.rb +2 -2
  501. data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +3 -3
  502. data/lib/datadog/tracing/contrib/shoryuken/integration.rb +4 -4
  503. data/lib/datadog/tracing/contrib/shoryuken/patcher.rb +1 -1
  504. data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +3 -1
  505. data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +9 -5
  506. data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +4 -3
  507. data/lib/datadog/tracing/contrib/sidekiq/ext.rb +6 -0
  508. data/lib/datadog/tracing/contrib/sidekiq/integration.rb +3 -3
  509. data/lib/datadog/tracing/contrib/sidekiq/patcher.rb +14 -7
  510. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb +19 -1
  511. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/{scheduled_push.rb → redis_info.rb} +5 -6
  512. data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller.rb +53 -0
  513. data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +29 -6
  514. data/lib/datadog/tracing/contrib/sidekiq/tracing.rb +2 -2
  515. data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +2 -2
  516. data/lib/datadog/tracing/contrib/sinatra/env.rb +14 -25
  517. data/lib/datadog/tracing/contrib/sinatra/ext.rb +7 -3
  518. data/lib/datadog/tracing/contrib/sinatra/framework.rb +11 -2
  519. data/lib/datadog/tracing/contrib/sinatra/headers.rb +1 -1
  520. data/lib/datadog/tracing/contrib/sinatra/integration.rb +3 -3
  521. data/lib/datadog/tracing/contrib/sinatra/patcher.rb +7 -8
  522. data/lib/datadog/tracing/contrib/sinatra/tracer.rb +15 -88
  523. data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +20 -16
  524. data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +2 -2
  525. data/lib/datadog/tracing/contrib/sneakers/integration.rb +4 -4
  526. data/lib/datadog/tracing/contrib/sneakers/patcher.rb +2 -3
  527. data/lib/datadog/tracing/contrib/sneakers/tracer.rb +4 -3
  528. data/lib/datadog/tracing/contrib/status_code_matcher.rb +2 -2
  529. data/lib/datadog/tracing/contrib/stripe/configuration/settings.rb +33 -0
  530. data/lib/datadog/tracing/contrib/stripe/ext.rb +26 -0
  531. data/lib/datadog/tracing/contrib/stripe/integration.rb +43 -0
  532. data/lib/datadog/tracing/contrib/stripe/patcher.rb +29 -0
  533. data/lib/datadog/tracing/contrib/stripe/request.rb +67 -0
  534. data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +2 -2
  535. data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +3 -4
  536. data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +3 -3
  537. data/lib/datadog/tracing/contrib/sucker_punch/patcher.rb +4 -6
  538. data/lib/datadog/tracing/contrib/utils/quantization/http.rb +92 -10
  539. data/lib/datadog/tracing/contrib.rb +50 -47
  540. data/lib/datadog/tracing/correlation.rb +1 -1
  541. data/lib/datadog/{core → tracing}/diagnostics/ext.rb +1 -6
  542. data/lib/datadog/tracing/diagnostics/health.rb +40 -0
  543. data/lib/datadog/tracing/distributed/b3_multi.rb +66 -0
  544. data/lib/datadog/tracing/distributed/b3_single.rb +66 -0
  545. data/lib/datadog/tracing/distributed/datadog.rb +153 -0
  546. data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +85 -0
  547. data/lib/datadog/tracing/distributed/fetcher.rb +30 -0
  548. data/lib/datadog/tracing/distributed/headers/ext.rb +19 -15
  549. data/lib/datadog/tracing/distributed/helpers.rb +40 -4
  550. data/lib/datadog/tracing/distributed/none.rb +19 -0
  551. data/lib/datadog/tracing/distributed/propagation.rb +127 -0
  552. data/lib/datadog/tracing/distributed/trace_context.rb +378 -0
  553. data/lib/datadog/tracing/event.rb +3 -2
  554. data/lib/datadog/tracing/flush.rb +57 -35
  555. data/lib/datadog/tracing/metadata/analytics.rb +2 -2
  556. data/lib/datadog/tracing/metadata/errors.rb +2 -2
  557. data/lib/datadog/tracing/metadata/ext.rb +28 -1
  558. data/lib/datadog/tracing/metadata/tagging.rb +23 -2
  559. data/lib/datadog/tracing/metadata.rb +3 -3
  560. data/lib/datadog/tracing/pipeline/span_filter.rb +10 -6
  561. data/lib/datadog/tracing/pipeline.rb +3 -3
  562. data/lib/datadog/tracing/propagation/http.rb +3 -98
  563. data/lib/datadog/tracing/runtime/metrics.rb +1 -1
  564. data/lib/datadog/tracing/sampling/all_sampler.rb +1 -1
  565. data/lib/datadog/tracing/sampling/ext.rb +31 -0
  566. data/lib/datadog/tracing/sampling/priority_sampler.rb +64 -12
  567. data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +10 -11
  568. data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +32 -8
  569. data/lib/datadog/tracing/sampling/rate_limiter.rb +4 -1
  570. data/lib/datadog/tracing/sampling/rate_sampler.rb +27 -10
  571. data/lib/datadog/tracing/sampling/rule.rb +15 -9
  572. data/lib/datadog/tracing/sampling/rule_sampler.rb +11 -12
  573. data/lib/datadog/tracing/sampling/span/ext.rb +25 -0
  574. data/lib/datadog/tracing/sampling/span/matcher.rb +89 -0
  575. data/lib/datadog/tracing/sampling/span/rule.rb +82 -0
  576. data/lib/datadog/tracing/sampling/span/rule_parser.rb +104 -0
  577. data/lib/datadog/tracing/sampling/span/sampler.rb +75 -0
  578. data/lib/datadog/tracing/span.rb +24 -20
  579. data/lib/datadog/tracing/span_operation.rb +15 -16
  580. data/lib/datadog/tracing/sync_writer.rb +5 -5
  581. data/lib/datadog/tracing/trace_digest.rb +88 -2
  582. data/lib/datadog/tracing/trace_operation.rb +60 -16
  583. data/lib/datadog/tracing/trace_segment.rb +13 -8
  584. data/lib/datadog/tracing/tracer.rb +49 -21
  585. data/lib/datadog/tracing/utils.rb +50 -0
  586. data/lib/datadog/tracing/workers/trace_writer.rb +9 -9
  587. data/lib/datadog/tracing/workers.rb +3 -3
  588. data/lib/datadog/tracing/writer.rb +12 -5
  589. data/lib/datadog/tracing.rb +8 -8
  590. data/lib/ddtrace/auto_instrument.rb +9 -2
  591. data/lib/ddtrace/transport/ext.rb +7 -1
  592. data/lib/ddtrace/transport/http/adapters/net.rb +3 -2
  593. data/lib/ddtrace/transport/http/adapters/test.rb +1 -1
  594. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +2 -2
  595. data/lib/ddtrace/transport/http/api/map.rb +1 -1
  596. data/lib/ddtrace/transport/http/api.rb +4 -4
  597. data/lib/ddtrace/transport/http/builder.rb +5 -5
  598. data/lib/ddtrace/transport/http/client.rb +4 -3
  599. data/lib/ddtrace/transport/http/response.rb +35 -5
  600. data/lib/ddtrace/transport/http/statistics.rb +1 -1
  601. data/lib/ddtrace/transport/http/traces.rb +5 -5
  602. data/lib/ddtrace/transport/http.rb +12 -9
  603. data/lib/ddtrace/transport/io/client.rb +5 -3
  604. data/lib/ddtrace/transport/io/response.rb +1 -1
  605. data/lib/ddtrace/transport/io/traces.rb +3 -3
  606. data/lib/ddtrace/transport/io.rb +3 -3
  607. data/lib/ddtrace/transport/statistics.rb +2 -2
  608. data/lib/ddtrace/transport/trace_formatter.rb +14 -10
  609. data/lib/ddtrace/transport/traces.rb +8 -6
  610. data/lib/ddtrace/version.rb +1 -1
  611. data/lib/ddtrace.rb +6 -5
  612. metadata +160 -44
  613. data/.editorconfig +0 -22
  614. data/.gitignore +0 -70
  615. data/CONTRIBUTING.md +0 -81
  616. data/ddtrace.gemspec +0 -59
  617. data/docs/0.x-trace.png +0 -0
  618. data/docs/1.0-trace.png +0 -0
  619. data/docs/AutoInstrumentation.md +0 -36
  620. data/docs/Deprecation.md +0 -8
  621. data/docs/DevelopmentGuide.md +0 -259
  622. data/docs/GettingStarted.md +0 -2671
  623. data/docs/ProfilingDevelopment.md +0 -110
  624. data/docs/PublicApi.md +0 -14
  625. data/docs/UpgradeGuide.md +0 -736
  626. data/lib/datadog/profiling/recorder.rb +0 -117
  627. data/lib/datadog/profiling/transport/client.rb +0 -16
  628. data/lib/datadog/profiling/transport/http/api/endpoint.rb +0 -107
  629. data/lib/datadog/profiling/transport/http/api/instance.rb +0 -38
  630. data/lib/datadog/profiling/transport/http/api/spec.rb +0 -42
  631. data/lib/datadog/profiling/transport/http/api.rb +0 -45
  632. data/lib/datadog/profiling/transport/http/builder.rb +0 -30
  633. data/lib/datadog/profiling/transport/http/client.rb +0 -35
  634. data/lib/datadog/profiling/transport/http/response.rb +0 -23
  635. data/lib/datadog/profiling/transport/http.rb +0 -112
  636. data/lib/datadog/profiling/transport/io/client.rb +0 -29
  637. data/lib/datadog/profiling/transport/io/response.rb +0 -18
  638. data/lib/datadog/profiling/transport/io.rb +0 -32
  639. data/lib/datadog/profiling/transport/parcel.rb +0 -19
  640. data/lib/datadog/profiling/transport/request.rb +0 -17
  641. data/lib/datadog/profiling/transport/response.rb +0 -10
  642. data/lib/datadog/tracing/distributed/headers/b3.rb +0 -55
  643. data/lib/datadog/tracing/distributed/headers/b3_single.rb +0 -67
  644. data/lib/datadog/tracing/distributed/headers/datadog.rb +0 -52
  645. data/lib/datadog/tracing/distributed/parser.rb +0 -70
  646. data/lib/datadog/tracing/propagation/grpc.rb +0 -88
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 14636ceebc61d9de8ea83328295cb728de928bd0cf80af29f6c4f73d759ff243
4
- data.tar.gz: 92110181e57676c407a782a3729a19499b3175fd653162ff260b79be8f75a502
3
+ metadata.gz: 1ba4a81593411a12abfa1665b3910e49e35429b1b266779e93accb0f84a478d2
4
+ data.tar.gz: e72362dc1a1e682a3c52b8af8017fcd12e60d353843cdd129f65a55dbb0c312d
5
5
  SHA512:
6
- metadata.gz: 0dc73ef73c3269adfb1cbf50ba22df0f06b5e9a0237f8bec8428e1b4f9445e45f20fb5ede5c88355e18f4562b2f561b0a4f089715ff44aabf52130a6915e4498
7
- data.tar.gz: f44f40e302ae841147d5bbd62ebc0fe716ee6b30e8776820efd4c39fd3f9c184b0919dc3752b30316c87e0cde19f5380a42ad6cb9290e319183b8440fef11be1
6
+ metadata.gz: a083b23cfadccc78e67a5aa2a3ae067bc868e4721d92d1fb9fcbadc7536332fabd20f6638fb157712e5e909afd3e3e505a2011838a4f0e98dbebaa64a38f7db6
7
+ data.tar.gz: 81b27dbbf685c01ee99ab79a8774aefca4a2feb93363a41e1a3465b01b1b07f571d5bdd75a73880658ae05254a3d742651bdf8df98fd48c040f73bb6a16702d0
data/CHANGELOG.md CHANGED
@@ -2,6 +2,300 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [1.9.0] - 2023-01-30
6
+
7
+ As of ddtrace 1.9.0, CPU Profiling 2.0 is now in opt-in (that is, disabled by default) public beta. For more details, check the release notes.
8
+
9
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.9.0
10
+
11
+ ### Added
12
+
13
+ * Tracing: Add `Stripe` instrumentation ([#2557][])
14
+ * Tracing: Add configurable response codes considered as errors for `Net/HTTP`, `httprb` and `httpclient` ([#2501][], [#2576][])([@caramcc][])
15
+ * Tracing: Flexible header matching for HTTP propagator ([#2504][])
16
+ * Tracing: `OpenTelemetry` Traces support ([#2496][])
17
+ * Tracing: W3C: Propagate unknown values as-is ([#2485][])
18
+ * Appsec: Add event kit API ([#2512][])
19
+ * Profiling: Allow profiler development on arm64 macOS ([#2573][])
20
+ * Core: Add `profiling_enabled` state to environment logger output ([#2541][])
21
+ * Core: Add 'type' to `OptionDefinition` ([#2493][])
22
+ * Allow `debase-ruby_core_source` 3.2.0 to be used ([#2526][])
23
+
24
+ ### Changed
25
+
26
+ * Profiling: Upgrade to `libdatadog` to `1.0.1.1.0` ([#2530][])
27
+ * Appsec: Update appsec rules `1.4.3` ([#2580][])
28
+ * Ci: Update CI Visibility metadata extraction ([#2586][])
29
+
30
+ ### Fixed
31
+
32
+ * Profiling: Fix wrong `libdatadog` version being picked during profiler build ([#2531][])
33
+ * Tracing: Support `PG` calls with a block ([#2522][])
34
+ * Ci: Fix error in `teamcity` env vars ([#2562][])
35
+
36
+ ## [1.8.0] - 2022-12-14
37
+
38
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.8.0
39
+
40
+ As of ddtrace 1.8.0, CPU Profiling 2.0 is now in opt-in (that is, disabled by default) public beta. For more details,
41
+ check the release notes.
42
+
43
+ ### Added
44
+
45
+ * Core: Profiling: [PROF-6559] Mark Ruby CPU Profiling 2.0 as being in beta ([#2489][])
46
+ * Tracing: Attempt to parse future version of TraceContext ([#2473][])
47
+ * Tracing: Add DD_TRACE_PROPAGATION_STYLE option ([#2466][])
48
+ * Integrations: Tracing: SQL comment propagation full mode with traceparent ([#2464][])
49
+ * Integrations: Tracing: Wire W3C propagator to HTTP & gRPC propagation ([#2458][])
50
+ * Integrations: Tracing: Auto-instrumentation with service_name from environmental variable ([#2455][])
51
+ * Core: Integrations: Tracing: Deprecation notice for B3 propagation configuration ([#2454][])
52
+ * Tracing: Add W3C Trace Context propagator ([#2451][])
53
+ * Integrations: Tracing: Redis 5 Instrumentation ([#2428][])
54
+
55
+ ### Changed
56
+
57
+ * Tracing: Changes `error.msg` to `error.message` for UNC ([#2469][])
58
+ * Tracing: Semicolons not allowed in 'origin' ([#2461][])
59
+ * Core: Dev/refactor: Tracing: Dev/internal: Move Utils#next_id and constants to Tracing::Utils ([#2463][])
60
+ * Core: Dev/refactor: Tracing: Dev/internal: Move Tracing config settings from Core to Tracing ([#2459][])
61
+ * Core: Dev/refactor: Tracing: Dev/internal: Move Tracing diagnostic code from Core to Tracing ([#2453][])
62
+
63
+ ### Fixed
64
+
65
+ * Integrations: Tracing: Improve redis integration patching ([#2470][])
66
+ * Tracing: Extra testing from W3C spec ([#2460][])
67
+
68
+ ## [1.7.0] - 2022-11-29
69
+
70
+ ### Added
71
+ * Integrations: Support que 2 ([#2382][]) ([@danhodge][])
72
+ * Tracing: Unified tagging `span.kind` as `server` and `client` ([#2365][])
73
+ * Tracing: Adds `span.kind` tag for `kafka`, `sidekiq`, `racecar`, `que`, `shoryuken`, `sneakers`, and `resque` ([#2420][], [#2419][], [#2413][], [#2394][])
74
+ * Tracing: Adds `span.kind` with values `producer` and `consumer` for `delayed_job` ([#2393][])
75
+ * Tracing: Adds `span.kind` as `client` for `redis` ([#2392][])
76
+ * Appsec: Pass HTTP client IP to WAF ([#2316][])
77
+ * Unified tagging `process_id` ([#2276][])
78
+
79
+ ### Changed
80
+ * Allow `debase-ruby_core_source` 0.10.18 to be used ([#2435][])
81
+ * Update AppSec ruleset to v1.4.2 ([#2390][])
82
+ * Refactored clearing of profile data after Ruby app forks ([#2362][], [#2367][])
83
+ * Tracing: Move distributed propagation to Contrib ([#2352][])
84
+
85
+ ### Fixed
86
+ * Fix ddtrace installation issue when users have CI=true ([#2378][])
87
+
88
+ ## [1.6.1] - 2022-11-16
89
+
90
+ ### Changed
91
+
92
+ * Limit `redis` version support to less than 5
93
+
94
+ ### Fixed
95
+
96
+ * [redis]: Fix frozen input for `Redis.new(...)`
97
+
98
+ ## [1.6.0] - 2022-11-15
99
+
100
+ ### Added
101
+
102
+ * Trace level tags propagation in distributed tracing ([#2260][])
103
+ * [hanami]: Hanami 1.x instrumentation ([#2230][])
104
+ * [pg, mysql2]: option `comment_propagation` for SQL comment propagation, default is `disabled` ([#2339][])([#2324][])
105
+
106
+ ### Changed
107
+
108
+ * [rack, sinatra]: Squash nested spans and improve patching mechanism.<br> No need to `register Datadog::Tracing::Contrib::Sinatra::Tracer`([#2217][])
109
+ * [rails, rack]: Fix Non-GET request method with rails exception controller ([#2317][])
110
+ * Upgrade to libdatadog 0.9.0.1.0 ([#2302][])
111
+ * Remove legacy profiling transport ([#2062][])
112
+
113
+ ### Fixed
114
+
115
+ * [redis]: Fix redis instance configuration, not on `client` ([#2363][])
116
+ ```
117
+ # Change your code from
118
+ Datadog.configure_onto(redis.client, service_name: '...')
119
+ # to
120
+ Datadog.configure_onto(redis, service_name: '...')
121
+ ```
122
+ * Allow `DD_TAGS` values to have the colon character ([#2292][])
123
+ * Ensure that `TraceSegment` can be reported correctly when they are dropped ([#2335][])
124
+ * Docs: Fixes upgrade guide on configure_onto ([#2307][])
125
+ * Fix environment logger with IO transport ([#2313][])
126
+
127
+ ## [1.5.2] - 2022-10-27
128
+
129
+ ### Deprecation notice
130
+
131
+ - `DD_TRACE_CLIENT_IP_HEADER_DISABLED` was changed to `DD_TRACE_CLIENT_IP_ENABLED`. Although the former still works we encourage usage of the latter instead.
132
+
133
+ ### Changed
134
+
135
+ - `http.client_ip` tag collection is made opt-in for APM. Note that `http.client_ip` is always collected when ASM is enabled as part of the security service provided ([#2321][], [#2331][])
136
+
137
+ ### Fixed
138
+
139
+ - Handle REQUEST_URI with base url ([#2328][], [#2330][])
140
+
141
+ ## [1.5.1] - 2022-10-19
142
+
143
+ ### Changed
144
+
145
+ * Update libddwaf to 1.5.1 ([#2306][])
146
+ * Improve libddwaf extension memory management ([#2306][])
147
+
148
+ ### Fixed
149
+
150
+ * Fix `URI::InvalidURIError` ([#2310][], [#2318][]) ([@yujideveloper][])
151
+ * Handle URLs with invalid characters ([#2311][], [#2319][])
152
+ * Fix missing appsec.event tag ([#2306][])
153
+ * Fix missing Rack and Rails request body parsing for AppSec analysis ([#2306][])
154
+ * Fix unneeded AppSec call in a Rack context when AppSec is disabled ([#2306][])
155
+ * Fix spurious AppSec instrumentation ([#2306][])
156
+
157
+ ## [1.5.0] - 2022-09-29
158
+
159
+ ### Deprecation notice
160
+
161
+ * `c.tracing.instrument :rack, { quantize: { base: ... } }` will change its default from `:exclude` to `:show` in a future version. Voluntarily moving to `:show` is recommended.
162
+ * `c.tracing.instrument :rack, { quantize: { query: { show: ... } }` will change its default to `:all` in a future version, together with `quantize.query.obfuscate` changing to `:internal`. Voluntarily moving to these future values is recommended.
163
+
164
+ ### Added
165
+
166
+ * Feature: Single Span Sampling ([#2128][])
167
+ * Add query string automatic redaction ([#2283][])
168
+ * Use full URL in `http.url` tag ([#2265][])
169
+ * Add `http.useragent` tag ([#2252][])
170
+ * Add `http.client_ip` tag for Rack-based frameworks ([#2248][])
171
+ * Ci-app: CI: Fetch committer and author in Bitrise ([#2258][])
172
+
173
+ ### Changed
174
+
175
+ * Bump allowed version of debase-ruby_core_source to include v0.10.17 ([#2267][])
176
+
177
+ ### Fixed
178
+
179
+ * Bug: Fix `service_nam` typo to `service_name` ([#2296][])
180
+ * Bug: Check AppSec Rails for railties instead of rails meta gem ([#2293][]) ([@seuros][])
181
+ * Ci-app: Correctly extract commit message from AppVeyor ([#2257][])
182
+
183
+ ## [1.4.2] - 2022-09-27
184
+
185
+ ### Fixed
186
+
187
+ OpenTracing context propagation ([#2191][], [#2289][])
188
+
189
+ ## [1.4.1] - 2022-09-15
190
+
191
+ ### Fixed
192
+
193
+ * Missing distributed traces when trace is dropped by priority sampling ([#2101][], [#2279][])
194
+ * Profiling support when Ruby is compiled without a shared library ([#2250][])
195
+
196
+ ## [1.4.0] - 2022-08-25
197
+
198
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.4.0
199
+
200
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0
201
+
202
+ ### Added
203
+
204
+ * gRPC: tag `grpc.client.deadline` ([#2200][])
205
+ * Implement telemetry, disable by default ([#2153][])
206
+
207
+ ### Changed
208
+
209
+ * Bump `libdatadog` dependency version ([#2229][])
210
+
211
+ ### Fixed
212
+
213
+ * Fix CI instrumentation configuration ([#2219][])
214
+
215
+ ## [1.3.0] - 2022-08-04
216
+
217
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.3.0
218
+
219
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.2.0...v1.3.0
220
+
221
+ ### Added
222
+
223
+ * Top-level span being tagged to avoid duplicate computation ([#2138][])
224
+
225
+ ### Changed
226
+
227
+ * ActiveSupport: Optionally disable tracing with Rails ([@marcotc][])
228
+ * Rack: Resource overwritten by nested application ([#2180][])
229
+ * Rake: Explicit task instrumentation to prevent memory bloat ([#2174][])
230
+ * Sidekiq and DelayedJob: Add spans to improve tracing ([#2170][])
231
+ * Drop Profiling support for Ruby 2.1 ([#2140][])
232
+ * Migrate `libddprof` dependency to `libdatadog` ([#2061][])
233
+
234
+ ### Fixed
235
+
236
+ * Fix OpenTracing propagation with TraceDigest ([#2201][])
237
+ * Fix SpanFilter dropping descendant spans ([#2074][])
238
+ * Redis: Fix Empty pipelined span being dropped ([#757][]) ([@sponomarev][])
239
+ * Fix profiler not restarting on `Process.daemon` ([#2150][])
240
+ * Fix setting service from Rails configuration ([#2118][]) ([@agrobbin][])
241
+ * Some document and development improvement ([@marocchino][]) ([@yukimurasawa][])
242
+
243
+ ## [1.2.0] - 2022-07-11
244
+
245
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.2.0
246
+
247
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...v1.2.0
248
+
249
+ Special thanks go to [@miketheman][] for gifting Datadog access to the `datadog` gem a few days ago.
250
+
251
+ ### Added
252
+
253
+ * Add Postgres (`pg` gem) instrumentation ([#2054][]) ([@jennchenn][])
254
+ * Add env var for debugging profiling native extension compilation issues ([#2069][])
255
+ * Teach Rest Client integration the `:split_by_domain` option ([#2079][]) ([@agrobbin][])
256
+ * Allow passing request_queuing option to Rack through Rails tracer ([#2082][]) ([@KieranP][])
257
+ * Add Utility to Collect Platform Information ([#2097][]) ([@jennchenn][])
258
+ * Add convenient interface for getting and setting tags using `[]` and `[]=` respectively ([#2076][]) ([@ioquatix][])
259
+ * Add b3 metadata in grpc ([#2110][]) ([@henrich-m][])
260
+
261
+ ### Changed
262
+
263
+ * Profiler now reports profiling data using the libddprof gem ([#2059][])
264
+ * Rename `Kernel#at_fork_blocks` monkey patch to `Kernel#ddtrace_at_fork_blocks` ([#2070][])
265
+ * Improved error message for enabling profiling when `pkg-config` system tool is not installed ([#2134][])
266
+
267
+ ### Fixed
268
+
269
+ * Prevent errors in `action_controller` integration when tracing is disabled ([#2027][]) ([@ahorner][])
270
+ * Fix profiler not building on ruby-head (3.2) due to VM refactoring ([#2066][])
271
+ * Span and trace IDs should not be zero ([#2113][]) ([@albertvaka][])
272
+ * Fix object_id usage as thread local key ([#2096][])
273
+ * Fix profiling not working on Heroku and AWS Elastic Beanstalk due to linking issues ([#2125][])
274
+
275
+ ## [1.1.0] - 2022-05-25
276
+
277
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.1.0
278
+
279
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0
280
+
281
+ ### Added
282
+
283
+ * [Application Security Monitoring](https://docs.datadoghq.com/security_platform/application_security/)
284
+ * Elasticsearch: v8.0 support ([#1985][])
285
+ * Sidekiq: Quantize args ([#1972][]) ([@dudo][])
286
+ * Profiling: Add libddprof dependency to power the new Ruby profiler ([#2028][])
287
+ * Helper to easily enable core dumps ([#2010][])
288
+
289
+ ### Changed
290
+
291
+ * Support spaces in environment variable DD_TAGS ([#2011][])
292
+
293
+ ### Fixed
294
+
295
+ * Fix "circular require considered harmful" warnings ([#1998][])
296
+ * Logging: Change ddsource to a scalar value ([#2022][])
297
+ * Improve exception logging ([#1992][])
298
+
5
299
  ## [1.0.0] - 2022-04-28
6
300
 
7
301
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0
@@ -1987,7 +2281,21 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
1987
2281
 
1988
2282
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
1989
2283
 
1990
- [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...master
2284
+ [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.9.0...master
2285
+ [1.9.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.8.0...v1.9.0
2286
+ [1.8.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.7.0...v1.8.0
2287
+ [1.7.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.6.1...v1.7.0
2288
+ [1.6.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.6.0...v1.6.1
2289
+ [1.6.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.5.2...v1.6.0
2290
+ [1.5.2]: https://github.com/DataDog/dd-trace-rb/compare/v1.5.1...v1.5.2
2291
+ [1.5.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.5.0...v1.5.1
2292
+ [1.5.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.2...v1.5.0
2293
+ [1.4.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.1...v1.4.2
2294
+ [1.4.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.0...v1.4.1
2295
+ [1.4.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0
2296
+ [1.3.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.2.0...v1.3.0
2297
+ [1.2.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...v1.2.0
2298
+ [1.1.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0
1991
2299
  [1.0.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta2...v1.0.0
1992
2300
  [1.0.0.beta2]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta1...v1.0.0.beta2
1993
2301
  [1.0.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v0.54.2...v1.0.0.beta1
@@ -2297,6 +2605,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2297
2605
  [#753]: https://github.com/DataDog/dd-trace-rb/issues/753
2298
2606
  [#754]: https://github.com/DataDog/dd-trace-rb/issues/754
2299
2607
  [#756]: https://github.com/DataDog/dd-trace-rb/issues/756
2608
+ [#757]: https://github.com/DataDog/dd-trace-rb/issues/757
2300
2609
  [#760]: https://github.com/DataDog/dd-trace-rb/issues/760
2301
2610
  [#762]: https://github.com/DataDog/dd-trace-rb/issues/762
2302
2611
  [#765]: https://github.com/DataDog/dd-trace-rb/issues/765
@@ -2812,6 +3121,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2812
3121
  [#1965]: https://github.com/DataDog/dd-trace-rb/issues/1965
2813
3122
  [#1968]: https://github.com/DataDog/dd-trace-rb/issues/1968
2814
3123
  [#1970]: https://github.com/DataDog/dd-trace-rb/issues/1970
3124
+ [#1972]: https://github.com/DataDog/dd-trace-rb/issues/1972
2815
3125
  [#1973]: https://github.com/DataDog/dd-trace-rb/issues/1973
2816
3126
  [#1974]: https://github.com/DataDog/dd-trace-rb/issues/1974
2817
3127
  [#1975]: https://github.com/DataDog/dd-trace-rb/issues/1975
@@ -2821,9 +3131,135 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2821
3131
  [#1982]: https://github.com/DataDog/dd-trace-rb/issues/1982
2822
3132
  [#1983]: https://github.com/DataDog/dd-trace-rb/issues/1983
2823
3133
  [#1984]: https://github.com/DataDog/dd-trace-rb/issues/1984
3134
+ [#1985]: https://github.com/DataDog/dd-trace-rb/issues/1985
2824
3135
  [#1989]: https://github.com/DataDog/dd-trace-rb/issues/1989
2825
3136
  [#1990]: https://github.com/DataDog/dd-trace-rb/issues/1990
2826
3137
  [#1991]: https://github.com/DataDog/dd-trace-rb/issues/1991
3138
+ [#1992]: https://github.com/DataDog/dd-trace-rb/issues/1992
3139
+ [#1998]: https://github.com/DataDog/dd-trace-rb/issues/1998
3140
+ [#2010]: https://github.com/DataDog/dd-trace-rb/issues/2010
3141
+ [#2011]: https://github.com/DataDog/dd-trace-rb/issues/2011
3142
+ [#2022]: https://github.com/DataDog/dd-trace-rb/issues/2022
3143
+ [#2027]: https://github.com/DataDog/dd-trace-rb/issues/2027
3144
+ [#2028]: https://github.com/DataDog/dd-trace-rb/issues/2028
3145
+ [#2054]: https://github.com/DataDog/dd-trace-rb/issues/2054
3146
+ [#2059]: https://github.com/DataDog/dd-trace-rb/issues/2059
3147
+ [#2061]: https://github.com/DataDog/dd-trace-rb/issues/2061
3148
+ [#2062]: https://github.com/DataDog/dd-trace-rb/issues/2062
3149
+ [#2066]: https://github.com/DataDog/dd-trace-rb/issues/2066
3150
+ [#2069]: https://github.com/DataDog/dd-trace-rb/issues/2069
3151
+ [#2070]: https://github.com/DataDog/dd-trace-rb/issues/2070
3152
+ [#2074]: https://github.com/DataDog/dd-trace-rb/issues/2074
3153
+ [#2076]: https://github.com/DataDog/dd-trace-rb/issues/2076
3154
+ [#2079]: https://github.com/DataDog/dd-trace-rb/issues/2079
3155
+ [#2082]: https://github.com/DataDog/dd-trace-rb/issues/2082
3156
+ [#2096]: https://github.com/DataDog/dd-trace-rb/issues/2096
3157
+ [#2097]: https://github.com/DataDog/dd-trace-rb/issues/2097
3158
+ [#2101]: https://github.com/DataDog/dd-trace-rb/issues/2101
3159
+ [#2110]: https://github.com/DataDog/dd-trace-rb/issues/2110
3160
+ [#2113]: https://github.com/DataDog/dd-trace-rb/issues/2113
3161
+ [#2118]: https://github.com/DataDog/dd-trace-rb/issues/2118
3162
+ [#2125]: https://github.com/DataDog/dd-trace-rb/issues/2125
3163
+ [#2128]: https://github.com/DataDog/dd-trace-rb/issues/2128
3164
+ [#2134]: https://github.com/DataDog/dd-trace-rb/issues/2134
3165
+ [#2138]: https://github.com/DataDog/dd-trace-rb/issues/2138
3166
+ [#2140]: https://github.com/DataDog/dd-trace-rb/issues/2140
3167
+ [#2150]: https://github.com/DataDog/dd-trace-rb/issues/2150
3168
+ [#2153]: https://github.com/DataDog/dd-trace-rb/issues/2153
3169
+ [#2158]: https://github.com/DataDog/dd-trace-rb/issues/2158
3170
+ [#2162]: https://github.com/DataDog/dd-trace-rb/issues/2162
3171
+ [#2163]: https://github.com/DataDog/dd-trace-rb/issues/2163
3172
+ [#2170]: https://github.com/DataDog/dd-trace-rb/issues/2170
3173
+ [#2173]: https://github.com/DataDog/dd-trace-rb/issues/2173
3174
+ [#2174]: https://github.com/DataDog/dd-trace-rb/issues/2174
3175
+ [#2180]: https://github.com/DataDog/dd-trace-rb/issues/2180
3176
+ [#2191]: https://github.com/DataDog/dd-trace-rb/issues/2191
3177
+ [#2200]: https://github.com/DataDog/dd-trace-rb/issues/2200
3178
+ [#2201]: https://github.com/DataDog/dd-trace-rb/issues/2201
3179
+ [#2217]: https://github.com/DataDog/dd-trace-rb/issues/2217
3180
+ [#2219]: https://github.com/DataDog/dd-trace-rb/issues/2219
3181
+ [#2229]: https://github.com/DataDog/dd-trace-rb/issues/2229
3182
+ [#2230]: https://github.com/DataDog/dd-trace-rb/issues/2230
3183
+ [#2248]: https://github.com/DataDog/dd-trace-rb/issues/2248
3184
+ [#2250]: https://github.com/DataDog/dd-trace-rb/issues/2250
3185
+ [#2252]: https://github.com/DataDog/dd-trace-rb/issues/2252
3186
+ [#2257]: https://github.com/DataDog/dd-trace-rb/issues/2257
3187
+ [#2258]: https://github.com/DataDog/dd-trace-rb/issues/2258
3188
+ [#2260]: https://github.com/DataDog/dd-trace-rb/issues/2260
3189
+ [#2265]: https://github.com/DataDog/dd-trace-rb/issues/2265
3190
+ [#2267]: https://github.com/DataDog/dd-trace-rb/issues/2267
3191
+ [#2276]: https://github.com/DataDog/dd-trace-rb/issues/2276
3192
+ [#2279]: https://github.com/DataDog/dd-trace-rb/issues/2279
3193
+ [#2283]: https://github.com/DataDog/dd-trace-rb/issues/2283
3194
+ [#2289]: https://github.com/DataDog/dd-trace-rb/issues/2289
3195
+ [#2292]: https://github.com/DataDog/dd-trace-rb/issues/2292
3196
+ [#2293]: https://github.com/DataDog/dd-trace-rb/issues/2293
3197
+ [#2296]: https://github.com/DataDog/dd-trace-rb/issues/2296
3198
+ [#2302]: https://github.com/DataDog/dd-trace-rb/issues/2302
3199
+ [#2306]: https://github.com/DataDog/dd-trace-rb/issues/2306
3200
+ [#2307]: https://github.com/DataDog/dd-trace-rb/issues/2307
3201
+ [#2310]: https://github.com/DataDog/dd-trace-rb/issues/2310
3202
+ [#2311]: https://github.com/DataDog/dd-trace-rb/issues/2311
3203
+ [#2313]: https://github.com/DataDog/dd-trace-rb/issues/2313
3204
+ [#2316]: https://github.com/DataDog/dd-trace-rb/issues/2316
3205
+ [#2317]: https://github.com/DataDog/dd-trace-rb/issues/2317
3206
+ [#2318]: https://github.com/DataDog/dd-trace-rb/issues/2318
3207
+ [#2319]: https://github.com/DataDog/dd-trace-rb/issues/2319
3208
+ [#2321]: https://github.com/DataDog/dd-trace-rb/issues/2321
3209
+ [#2324]: https://github.com/DataDog/dd-trace-rb/issues/2324
3210
+ [#2328]: https://github.com/DataDog/dd-trace-rb/issues/2328
3211
+ [#2330]: https://github.com/DataDog/dd-trace-rb/issues/2330
3212
+ [#2331]: https://github.com/DataDog/dd-trace-rb/issues/2331
3213
+ [#2335]: https://github.com/DataDog/dd-trace-rb/issues/2335
3214
+ [#2339]: https://github.com/DataDog/dd-trace-rb/issues/2339
3215
+ [#2352]: https://github.com/DataDog/dd-trace-rb/issues/2352
3216
+ [#2362]: https://github.com/DataDog/dd-trace-rb/issues/2362
3217
+ [#2363]: https://github.com/DataDog/dd-trace-rb/issues/2363
3218
+ [#2365]: https://github.com/DataDog/dd-trace-rb/issues/2365
3219
+ [#2367]: https://github.com/DataDog/dd-trace-rb/issues/2367
3220
+ [#2378]: https://github.com/DataDog/dd-trace-rb/issues/2378
3221
+ [#2382]: https://github.com/DataDog/dd-trace-rb/issues/2382
3222
+ [#2390]: https://github.com/DataDog/dd-trace-rb/issues/2390
3223
+ [#2392]: https://github.com/DataDog/dd-trace-rb/issues/2392
3224
+ [#2393]: https://github.com/DataDog/dd-trace-rb/issues/2393
3225
+ [#2394]: https://github.com/DataDog/dd-trace-rb/issues/2394
3226
+ [#2413]: https://github.com/DataDog/dd-trace-rb/issues/2413
3227
+ [#2419]: https://github.com/DataDog/dd-trace-rb/issues/2419
3228
+ [#2420]: https://github.com/DataDog/dd-trace-rb/issues/2420
3229
+ [#2428]: https://github.com/DataDog/dd-trace-rb/issues/2428
3230
+ [#2435]: https://github.com/DataDog/dd-trace-rb/issues/2435
3231
+ [#2451]: https://github.com/DataDog/dd-trace-rb/issues/2451
3232
+ [#2453]: https://github.com/DataDog/dd-trace-rb/issues/2453
3233
+ [#2454]: https://github.com/DataDog/dd-trace-rb/issues/2454
3234
+ [#2455]: https://github.com/DataDog/dd-trace-rb/issues/2455
3235
+ [#2458]: https://github.com/DataDog/dd-trace-rb/issues/2458
3236
+ [#2459]: https://github.com/DataDog/dd-trace-rb/issues/2459
3237
+ [#2460]: https://github.com/DataDog/dd-trace-rb/issues/2460
3238
+ [#2461]: https://github.com/DataDog/dd-trace-rb/issues/2461
3239
+ [#2463]: https://github.com/DataDog/dd-trace-rb/issues/2463
3240
+ [#2464]: https://github.com/DataDog/dd-trace-rb/issues/2464
3241
+ [#2466]: https://github.com/DataDog/dd-trace-rb/issues/2466
3242
+ [#2469]: https://github.com/DataDog/dd-trace-rb/issues/2469
3243
+ [#2470]: https://github.com/DataDog/dd-trace-rb/issues/2470
3244
+ [#2473]: https://github.com/DataDog/dd-trace-rb/issues/2473
3245
+ [#2485]: https://github.com/DataDog/dd-trace-rb/issues/2485
3246
+ [#2489]: https://github.com/DataDog/dd-trace-rb/issues/2489
3247
+ [#2493]: https://github.com/DataDog/dd-trace-rb/issues/2493
3248
+ [#2496]: https://github.com/DataDog/dd-trace-rb/issues/2496
3249
+ [#2501]: https://github.com/DataDog/dd-trace-rb/issues/2501
3250
+ [#2504]: https://github.com/DataDog/dd-trace-rb/issues/2504
3251
+ [#2512]: https://github.com/DataDog/dd-trace-rb/issues/2512
3252
+ [#2522]: https://github.com/DataDog/dd-trace-rb/issues/2522
3253
+ [#2526]: https://github.com/DataDog/dd-trace-rb/issues/2526
3254
+ [#2530]: https://github.com/DataDog/dd-trace-rb/issues/2530
3255
+ [#2531]: https://github.com/DataDog/dd-trace-rb/issues/2531
3256
+ [#2541]: https://github.com/DataDog/dd-trace-rb/issues/2541
3257
+ [#2557]: https://github.com/DataDog/dd-trace-rb/issues/2557
3258
+ [#2562]: https://github.com/DataDog/dd-trace-rb/issues/2562
3259
+ [#2573]: https://github.com/DataDog/dd-trace-rb/issues/2573
3260
+ [#2576]: https://github.com/DataDog/dd-trace-rb/issues/2576
3261
+ [#2580]: https://github.com/DataDog/dd-trace-rb/issues/2580
3262
+ [#2586]: https://github.com/DataDog/dd-trace-rb/issues/2586
2827
3263
  [@AdrianLC]: https://github.com/AdrianLC
2828
3264
  [@Azure7111]: https://github.com/Azure7111
2829
3265
  [@BabyGroot]: https://github.com/BabyGroot
@@ -2836,6 +3272,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2836
3272
  [@Jared-Prime]: https://github.com/Jared-Prime
2837
3273
  [@Joas1988]: https://github.com/Joas1988
2838
3274
  [@JustSnow]: https://github.com/JustSnow
3275
+ [@KieranP]: https://github.com/KieranP
2839
3276
  [@MMartyn]: https://github.com/MMartyn
2840
3277
  [@NobodysNightmare]: https://github.com/NobodysNightmare
2841
3278
  [@Redapted]: https://github.com/Redapted
@@ -2846,7 +3283,9 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2846
3283
  [@agirlnamedsophia]: https://github.com/agirlnamedsophia
2847
3284
  [@agrobbin]: https://github.com/agrobbin
2848
3285
  [@ahammel]: https://github.com/ahammel
3286
+ [@ahorner]: https://github.com/ahorner
2849
3287
  [@al-kudryavtsev]: https://github.com/al-kudryavtsev
3288
+ [@albertvaka]: https://github.com/albertvaka
2850
3289
  [@alksl]: https://github.com/alksl
2851
3290
  [@alloy]: https://github.com/alloy
2852
3291
  [@aurelian]: https://github.com/aurelian
@@ -2859,6 +3298,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2859
3298
  [@brafales]: https://github.com/brafales
2860
3299
  [@bzf]: https://github.com/bzf
2861
3300
  [@callumj]: https://github.com/callumj
3301
+ [@caramcc]: https://github.com/caramcc
2862
3302
  [@carlallen]: https://github.com/carlallen
2863
3303
  [@chychkan]: https://github.com/chychkan
2864
3304
  [@cjford]: https://github.com/cjford
@@ -2866,6 +3306,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2866
3306
  [@components]: https://github.com/components
2867
3307
  [@cswatt]: https://github.com/cswatt
2868
3308
  [@cwoodcox]: https://github.com/cwoodcox
3309
+ [@danhodge]: https://github.com/danhodge
2869
3310
  [@dasch]: https://github.com/dasch
2870
3311
  [@dim]: https://github.com/dim
2871
3312
  [@dirk]: https://github.com/dirk
@@ -2892,11 +3333,14 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2892
3333
  [@guizmaii]: https://github.com/guizmaii
2893
3334
  [@hatstand]: https://github.com/hatstand
2894
3335
  [@hawknewton]: https://github.com/hawknewton
3336
+ [@henrich-m]: https://github.com/henrich-m
2895
3337
  [@hs-bguven]: https://github.com/hs-bguven
2896
3338
  [@illdelph]: https://github.com/illdelph
3339
+ [@ioquatix]: https://github.com/ioquatix
2897
3340
  [@jamiehodge]: https://github.com/jamiehodge
2898
3341
  [@janz93]: https://github.com/janz93
2899
3342
  [@jeffjo]: https://github.com/jeffjo
3343
+ [@jennchenn]: https://github.com/jennchenn
2900
3344
  [@jfrancoist]: https://github.com/jfrancoist
2901
3345
  [@joeyAghion]: https://github.com/joeyAghion
2902
3346
  [@jpaulgs]: https://github.com/jpaulgs
@@ -2910,12 +3354,15 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2910
3354
  [@link04]: https://github.com/link04
2911
3355
  [@lloeki]: https://github.com/lloeki
2912
3356
  [@mantrala]: https://github.com/mantrala
3357
+ [@marcotc]: https://github.com/marcotc
3358
+ [@marocchino]: https://github.com/marocchino
2913
3359
  [@masato-hi]: https://github.com/masato-hi
2914
3360
  [@matchbookmac]: https://github.com/matchbookmac
2915
3361
  [@mberlanda]: https://github.com/mberlanda
2916
3362
  [@mdehoog]: https://github.com/mdehoog
2917
3363
  [@mdross95]: https://github.com/mdross95
2918
3364
  [@michaelkl]: https://github.com/michaelkl
3365
+ [@miketheman]: https://github.com/miketheman
2919
3366
  [@mriddle]: https://github.com/mriddle
2920
3367
  [@mscrivo]: https://github.com/mscrivo
2921
3368
  [@mstruve]: https://github.com/mstruve
@@ -2936,10 +3383,12 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2936
3383
  [@saturnflyer]: https://github.com/saturnflyer
2937
3384
  [@sco11morgan]: https://github.com/sco11morgan
2938
3385
  [@senny]: https://github.com/senny
3386
+ [@seuros]: https://github.com/seuros
2939
3387
  [@shayonj]: https://github.com/shayonj
2940
3388
  [@sinsoku]: https://github.com/sinsoku
2941
3389
  [@skcc321]: https://github.com/skcc321
2942
3390
  [@soulcutter]: https://github.com/soulcutter
3391
+ [@sponomarev]: https://github.com/sponomarev
2943
3392
  [@stefanahman]: https://github.com/stefanahman
2944
3393
  [@steveh]: https://github.com/steveh
2945
3394
  [@stormsilver]: https://github.com/stormsilver
@@ -2954,4 +3403,6 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2954
3403
  [@vramaiah]: https://github.com/vramaiah
2955
3404
  [@walterking]: https://github.com/walterking
2956
3405
  [@y-yagi]: https://github.com/y-yagi
2957
- [@zachmccormick]: https://github.com/zachmccormick
3406
+ [@yujideveloper]: https://github.com/yujideveloper
3407
+ [@yukimurasawa]: https://github.com/yukimurasawa
3408
+ [@zachmccormick]: https://github.com/zachmccormick
data/LICENSE-3rdparty.csv CHANGED
@@ -1,3 +1,7 @@
1
1
  Component,Origin,License,Copyright
2
- datadog/core/vendor/multipart-post,https://github.com/socketry/multipart-post,MIT,"Copyright (c) 2007-2013 Nick Sieger."
3
- ddtrace/contrib/active_record/vendor,https://github.com/rails/rails/,MIT,"Copyright (c) 2005-2018 David Heinemeier Hansson"
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
+ lib/datadog/tracing/contrib/utils/quantization/http.rb,https://github.com/ruby/uri,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
5
+ 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."
6
+ msgpack,https://rubygems.org/gems/msgpack,Apache-2.0,"Copyright (c) 2008-2015 Sadayuki Furuhashi"
7
+ 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,17 +1,17 @@
1
- ***Version 1.0.0 is in beta! Check out our [upgrade guide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/UpgradeGuide.md#from-0x-to-10) for more details.***
2
-
3
1
  # Datadog Trace Client
4
2
 
5
- ![Gem](https://img.shields.io/gem/v/ddtrace)
3
+ [![Gem](https://img.shields.io/gem/v/ddtrace)](https://rubygems.org/gems/ddtrace/)
6
4
  [![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)
7
5
  [![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://www.rubydoc.info/gems/ddtrace/)
6
+ [![YARD documentation](https://img.shields.io/badge/YARD-documentation-blue)](https://s3.amazonaws.com/gems.datadoghq.com/trace/docs/index.html)
9
7
 
10
8
  ``ddtrace`` is Datadog’s tracing client for Ruby. It is used to trace requests as they flow across web servers,
11
9
  databases and microservices so that developers have great visiblity into bottlenecks and troublesome requests.
12
10
 
13
11
  ## Getting started
14
12
 
13
+ **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).**
14
+
15
15
  For a basic product overview, check out our [setup documentation][setup docs].
16
16
 
17
17
  For installation, configuration, and details about using the API, check out our [API documentation][api docs] and [gem documentation][gem docs].
@@ -22,7 +22,12 @@ For contributing, checkout the [contribution guidelines][contribution docs] and
22
22
 
23
23
  [setup docs]: https://docs.datadoghq.com/tracing/setup/ruby/
24
24
  [api docs]: https://github.com/DataDog/dd-trace-rb/blob/master/docs/GettingStarted.md
25
- [gem docs]: http://gems.datadoghq.com/trace/docs/
25
+ [gem docs]: https://s3.amazonaws.com/gems.datadoghq.com/trace/docs/index.html
26
26
  [visualization docs]: https://docs.datadoghq.com/tracing/visualization/
27
27
  [contribution docs]: https://github.com/DataDog/dd-trace-rb/blob/master/CONTRIBUTING.md
28
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