ddtrace 1.12.1 → 1.23.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (509) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +613 -9
  3. data/LICENSE-3rdparty.csv +1 -1
  4. data/bin/ddprofrb +15 -0
  5. data/bin/ddtracerb +3 -1
  6. data/ext/{ddtrace_profiling_loader/ddtrace_profiling_loader.c → datadog_profiling_loader/datadog_profiling_loader.c} +2 -2
  7. data/ext/{ddtrace_profiling_loader → datadog_profiling_loader}/extconf.rb +3 -3
  8. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/NativeExtensionDesign.md +3 -5
  9. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id.h +0 -3
  10. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_from_pthread.c +3 -22
  11. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_noop.c +0 -1
  12. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_cpu_and_wall_time_worker.c +338 -108
  13. data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +422 -0
  14. data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.h +101 -0
  15. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.c +22 -14
  16. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.h +4 -0
  17. data/ext/datadog_profiling_native_extension/collectors_gc_profiling_helper.c +156 -0
  18. data/ext/datadog_profiling_native_extension/collectors_gc_profiling_helper.h +5 -0
  19. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_idle_sampling_helper.c +3 -0
  20. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.c +111 -118
  21. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.h +11 -4
  22. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.c +545 -144
  23. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.h +3 -2
  24. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/extconf.rb +68 -17
  25. data/ext/datadog_profiling_native_extension/heap_recorder.c +1047 -0
  26. data/ext/datadog_profiling_native_extension/heap_recorder.h +166 -0
  27. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/helpers.h +6 -0
  28. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/http_transport.c +60 -32
  29. data/ext/datadog_profiling_native_extension/libdatadog_helpers.c +62 -0
  30. data/ext/datadog_profiling_native_extension/libdatadog_helpers.h +42 -0
  31. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/native_extension_helpers.rb +50 -4
  32. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.c +155 -32
  33. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.h +16 -0
  34. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/profiling.c +19 -3
  35. data/ext/datadog_profiling_native_extension/ruby_helpers.c +267 -0
  36. data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/ruby_helpers.h +33 -0
  37. data/ext/datadog_profiling_native_extension/stack_recorder.c +1040 -0
  38. data/ext/datadog_profiling_native_extension/stack_recorder.h +27 -0
  39. data/ext/datadog_profiling_native_extension/time_helpers.c +53 -0
  40. data/ext/datadog_profiling_native_extension/time_helpers.h +26 -0
  41. data/lib/datadog/appsec/assets/waf_rules/processors.json +92 -0
  42. data/lib/datadog/appsec/assets/waf_rules/recommended.json +698 -75
  43. data/lib/datadog/appsec/assets/waf_rules/scanners.json +114 -0
  44. data/lib/datadog/appsec/assets/waf_rules/strict.json +98 -8
  45. data/lib/datadog/appsec/assets.rb +8 -0
  46. data/lib/datadog/appsec/component.rb +21 -2
  47. data/lib/datadog/appsec/configuration/settings.rb +167 -189
  48. data/lib/datadog/appsec/configuration.rb +0 -79
  49. data/lib/datadog/appsec/contrib/auto_instrument.rb +2 -4
  50. data/lib/datadog/appsec/contrib/devise/event.rb +57 -0
  51. data/lib/datadog/appsec/contrib/devise/ext.rb +13 -0
  52. data/lib/datadog/appsec/contrib/devise/integration.rb +42 -0
  53. data/lib/datadog/appsec/contrib/devise/patcher/authenticatable_patch.rb +76 -0
  54. data/lib/datadog/appsec/contrib/devise/patcher/registration_controller_patch.rb +54 -0
  55. data/lib/datadog/appsec/contrib/devise/patcher.rb +45 -0
  56. data/lib/datadog/appsec/contrib/devise/resource.rb +35 -0
  57. data/lib/datadog/appsec/contrib/devise/tracking.rb +57 -0
  58. data/lib/datadog/appsec/contrib/rack/ext.rb +2 -1
  59. data/lib/datadog/appsec/contrib/rack/gateway/request.rb +6 -2
  60. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +8 -6
  61. data/lib/datadog/appsec/contrib/rack/reactive/request.rb +3 -8
  62. data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +3 -6
  63. data/lib/datadog/appsec/contrib/rack/reactive/response.rb +3 -6
  64. data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +3 -2
  65. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +77 -27
  66. data/lib/datadog/appsec/contrib/rails/ext.rb +3 -2
  67. data/lib/datadog/appsec/contrib/rails/framework.rb +1 -3
  68. data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +3 -2
  69. data/lib/datadog/appsec/contrib/rails/patcher.rb +17 -11
  70. data/lib/datadog/appsec/contrib/rails/reactive/action.rb +3 -6
  71. data/lib/datadog/appsec/contrib/sinatra/ext.rb +2 -1
  72. data/lib/datadog/appsec/contrib/sinatra/framework.rb +1 -3
  73. data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +6 -4
  74. data/lib/datadog/appsec/contrib/sinatra/patcher.rb +13 -7
  75. data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +3 -6
  76. data/lib/datadog/appsec/event.rb +106 -50
  77. data/lib/datadog/appsec/extensions.rb +1 -130
  78. data/lib/datadog/appsec/monitor/gateway/watcher.rb +3 -3
  79. data/lib/datadog/appsec/monitor/reactive/set_user.rb +3 -6
  80. data/lib/datadog/appsec/processor/actions.rb +49 -0
  81. data/lib/datadog/appsec/processor/rule_loader.rb +60 -0
  82. data/lib/datadog/appsec/processor/rule_merger.rb +22 -2
  83. data/lib/datadog/appsec/processor.rb +35 -7
  84. data/lib/datadog/appsec/rate_limiter.rb +1 -1
  85. data/lib/datadog/appsec/remote.rb +17 -11
  86. data/lib/datadog/appsec/response.rb +82 -4
  87. data/lib/datadog/appsec/sample_rate.rb +21 -0
  88. data/lib/datadog/appsec.rb +3 -4
  89. data/lib/datadog/auto_instrument.rb +3 -0
  90. data/lib/datadog/core/backport.rb +51 -0
  91. data/lib/datadog/core/configuration/agent_settings_resolver.rb +38 -29
  92. data/lib/datadog/core/configuration/base.rb +6 -16
  93. data/lib/datadog/core/configuration/components.rb +20 -7
  94. data/lib/datadog/core/configuration/ext.rb +28 -5
  95. data/lib/datadog/core/configuration/option.rb +271 -21
  96. data/lib/datadog/core/configuration/option_definition.rb +73 -32
  97. data/lib/datadog/core/configuration/options.rb +27 -15
  98. data/lib/datadog/core/configuration/settings.rb +398 -119
  99. data/lib/datadog/core/configuration.rb +24 -4
  100. data/lib/datadog/core/diagnostics/environment_logger.rb +132 -235
  101. data/lib/datadog/core/environment/class_count.rb +6 -6
  102. data/lib/datadog/core/environment/execution.rb +103 -0
  103. data/lib/datadog/core/environment/ext.rb +13 -11
  104. data/lib/datadog/core/environment/git.rb +25 -0
  105. data/lib/datadog/core/environment/identity.rb +18 -48
  106. data/lib/datadog/core/environment/platform.rb +7 -1
  107. data/lib/datadog/core/environment/variable_helpers.rb +0 -69
  108. data/lib/datadog/core/environment/yjit.rb +58 -0
  109. data/lib/datadog/core/error.rb +1 -0
  110. data/lib/datadog/core/git/ext.rb +6 -23
  111. data/lib/datadog/core/logging/ext.rb +3 -1
  112. data/lib/datadog/core/metrics/ext.rb +7 -5
  113. data/lib/datadog/core/remote/client/capabilities.rb +7 -2
  114. data/lib/datadog/core/remote/client.rb +3 -0
  115. data/lib/datadog/core/remote/component.rb +52 -48
  116. data/lib/datadog/core/remote/configuration/content.rb +28 -1
  117. data/lib/datadog/core/remote/configuration/repository.rb +3 -1
  118. data/lib/datadog/core/remote/ext.rb +2 -1
  119. data/lib/datadog/core/remote/negotiation.rb +20 -7
  120. data/lib/datadog/core/remote/tie/tracing.rb +39 -0
  121. data/lib/datadog/core/remote/tie.rb +27 -0
  122. data/lib/datadog/core/remote/transport/config.rb +60 -0
  123. data/lib/datadog/core/remote/transport/http/api/instance.rb +39 -0
  124. data/lib/datadog/core/remote/transport/http/api/spec.rb +21 -0
  125. data/lib/datadog/core/remote/transport/http/api.rb +58 -0
  126. data/lib/datadog/core/remote/transport/http/builder.rb +219 -0
  127. data/lib/datadog/core/remote/transport/http/client.rb +48 -0
  128. data/lib/datadog/core/remote/transport/http/config.rb +280 -0
  129. data/lib/datadog/core/remote/transport/http/negotiation.rb +146 -0
  130. data/lib/datadog/core/remote/transport/http.rb +179 -0
  131. data/lib/datadog/core/{transport → remote/transport}/negotiation.rb +25 -23
  132. data/lib/datadog/core/remote/worker.rb +11 -5
  133. data/lib/datadog/core/runtime/ext.rb +22 -12
  134. data/lib/datadog/core/runtime/metrics.rb +43 -0
  135. data/lib/datadog/core/telemetry/client.rb +28 -10
  136. data/lib/datadog/core/telemetry/emitter.rb +9 -11
  137. data/lib/datadog/core/telemetry/event.rb +250 -44
  138. data/lib/datadog/core/telemetry/ext.rb +8 -1
  139. data/lib/datadog/core/telemetry/heartbeat.rb +3 -7
  140. data/lib/datadog/core/telemetry/http/ext.rb +13 -8
  141. data/lib/datadog/core/telemetry/http/response.rb +4 -0
  142. data/lib/datadog/core/telemetry/http/transport.rb +10 -3
  143. data/lib/datadog/core/telemetry/request.rb +59 -0
  144. data/lib/datadog/core/transport/ext.rb +49 -0
  145. data/lib/datadog/core/transport/http/adapters/net.rb +168 -0
  146. data/lib/datadog/core/transport/http/adapters/registry.rb +29 -0
  147. data/lib/datadog/core/transport/http/adapters/test.rb +89 -0
  148. data/lib/datadog/core/transport/http/adapters/unix_socket.rb +83 -0
  149. data/lib/datadog/core/transport/http/api/endpoint.rb +31 -0
  150. data/lib/datadog/core/transport/http/api/fallbacks.rb +26 -0
  151. data/lib/datadog/core/transport/http/api/map.rb +18 -0
  152. data/lib/datadog/core/transport/http/env.rb +62 -0
  153. data/lib/datadog/core/transport/http/response.rb +60 -0
  154. data/lib/datadog/core/transport/parcel.rb +22 -0
  155. data/lib/datadog/core/transport/request.rb +17 -0
  156. data/lib/datadog/core/transport/response.rb +64 -0
  157. data/lib/datadog/core/utils/duration.rb +52 -0
  158. data/lib/datadog/core/utils/hash.rb +47 -0
  159. data/lib/datadog/core/utils/network.rb +1 -1
  160. data/lib/datadog/core/utils/safe_dup.rb +27 -20
  161. data/lib/datadog/core/utils/url.rb +25 -0
  162. data/lib/datadog/core/utils.rb +1 -1
  163. data/lib/datadog/core/workers/async.rb +3 -2
  164. data/lib/datadog/core/workers/polling.rb +2 -2
  165. data/lib/datadog/kit/appsec/events.rb +139 -89
  166. data/lib/datadog/kit/enable_core_dumps.rb +5 -6
  167. data/lib/datadog/kit/identity.rb +80 -65
  168. data/lib/datadog/opentelemetry/api/context.rb +10 -3
  169. data/lib/datadog/opentelemetry/sdk/propagator.rb +5 -3
  170. data/lib/datadog/opentelemetry/sdk/span_processor.rb +48 -5
  171. data/lib/datadog/opentelemetry/sdk/trace/span.rb +167 -0
  172. data/lib/datadog/opentelemetry/trace.rb +58 -0
  173. data/lib/datadog/opentelemetry.rb +4 -0
  174. data/lib/datadog/opentracer/text_map_propagator.rb +2 -1
  175. data/lib/datadog/opentracer.rb +9 -0
  176. data/lib/datadog/profiling/collectors/code_provenance.rb +10 -4
  177. data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +43 -20
  178. data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +3 -1
  179. data/lib/datadog/profiling/collectors/info.rb +101 -0
  180. data/lib/datadog/profiling/collectors/thread_context.rb +17 -2
  181. data/lib/datadog/profiling/component.rb +248 -97
  182. data/lib/datadog/profiling/exporter.rb +26 -5
  183. data/lib/datadog/profiling/ext.rb +2 -12
  184. data/lib/datadog/profiling/flush.rb +10 -5
  185. data/lib/datadog/profiling/http_transport.rb +23 -6
  186. data/lib/datadog/profiling/load_native_extension.rb +25 -6
  187. data/lib/datadog/profiling/native_extension.rb +1 -22
  188. data/lib/datadog/profiling/profiler.rb +36 -13
  189. data/lib/datadog/profiling/scheduler.rb +20 -15
  190. data/lib/datadog/profiling/stack_recorder.rb +19 -4
  191. data/lib/datadog/profiling/tag_builder.rb +5 -0
  192. data/lib/datadog/profiling/tasks/exec.rb +3 -3
  193. data/lib/datadog/profiling/tasks/help.rb +3 -3
  194. data/lib/datadog/profiling.rb +28 -79
  195. data/lib/datadog/tracing/component.rb +70 -11
  196. data/lib/datadog/tracing/configuration/agent_settings_resolver.rb +13 -0
  197. data/lib/datadog/tracing/configuration/dynamic/option.rb +71 -0
  198. data/lib/datadog/tracing/configuration/dynamic.rb +64 -0
  199. data/lib/datadog/tracing/configuration/ext.rb +40 -33
  200. data/lib/datadog/tracing/configuration/http.rb +74 -0
  201. data/lib/datadog/tracing/configuration/settings.rb +136 -99
  202. data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +10 -6
  203. data/lib/datadog/tracing/contrib/action_cable/ext.rb +21 -18
  204. data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +10 -6
  205. data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +1 -1
  206. data/lib/datadog/tracing/contrib/action_mailer/ext.rb +21 -18
  207. data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +10 -7
  208. data/lib/datadog/tracing/contrib/action_pack/ext.rb +11 -8
  209. data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +10 -6
  210. data/lib/datadog/tracing/contrib/action_view/ext.rb +13 -10
  211. data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +14 -7
  212. data/lib/datadog/tracing/contrib/active_job/ext.rb +26 -23
  213. data/lib/datadog/tracing/contrib/active_job/log_injection.rb +1 -1
  214. data/lib/datadog/tracing/contrib/active_job/patcher.rb +1 -1
  215. data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +10 -6
  216. data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +13 -10
  217. data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +29 -15
  218. data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +10 -7
  219. data/lib/datadog/tracing/contrib/active_record/events/sql.rb +2 -6
  220. data/lib/datadog/tracing/contrib/active_record/ext.rb +18 -15
  221. data/lib/datadog/tracing/contrib/active_record/utils.rb +1 -1
  222. data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +106 -202
  223. data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +3 -0
  224. data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +10 -7
  225. data/lib/datadog/tracing/contrib/active_support/ext.rb +19 -16
  226. data/lib/datadog/tracing/contrib/analytics.rb +0 -1
  227. data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +15 -7
  228. data/lib/datadog/tracing/contrib/aws/ext.rb +38 -24
  229. data/lib/datadog/tracing/contrib/aws/instrumentation.rb +16 -5
  230. data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +20 -0
  231. data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +3 -2
  232. data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +14 -14
  233. data/lib/datadog/tracing/contrib/concurrent_ruby/ext.rb +4 -2
  234. data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +3 -10
  235. data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +2 -1
  236. data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +19 -2
  237. data/lib/datadog/tracing/contrib/concurrent_ruby/promises_future_patch.rb +22 -0
  238. data/lib/datadog/tracing/contrib/configurable.rb +1 -1
  239. data/lib/datadog/tracing/contrib/configuration/settings.rb +1 -1
  240. data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +21 -7
  241. data/lib/datadog/tracing/contrib/dalli/ext.rb +27 -11
  242. data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +17 -8
  243. data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +14 -7
  244. data/lib/datadog/tracing/contrib/delayed_job/ext.rb +17 -14
  245. data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +15 -7
  246. data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +22 -15
  247. data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +104 -99
  248. data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +17 -9
  249. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +48 -3
  250. data/lib/datadog/tracing/contrib/ethon/ext.rb +20 -11
  251. data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +6 -3
  252. data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +20 -10
  253. data/lib/datadog/tracing/contrib/excon/ext.rb +17 -8
  254. data/lib/datadog/tracing/contrib/excon/middleware.rb +25 -5
  255. data/lib/datadog/tracing/contrib/ext.rb +26 -1
  256. data/lib/datadog/tracing/contrib/extensions.rb +38 -2
  257. data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +27 -10
  258. data/lib/datadog/tracing/contrib/faraday/ext.rb +17 -8
  259. data/lib/datadog/tracing/contrib/faraday/middleware.rb +22 -6
  260. data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +9 -6
  261. data/lib/datadog/tracing/contrib/grape/ext.rb +17 -14
  262. data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +9 -6
  263. data/lib/datadog/tracing/contrib/graphql/ext.rb +8 -5
  264. data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +40 -9
  265. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +39 -20
  266. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +37 -18
  267. data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +0 -4
  268. data/lib/datadog/tracing/contrib/grpc/ext.rb +17 -13
  269. data/lib/datadog/tracing/contrib/grpc/formatting.rb +127 -0
  270. data/lib/datadog/tracing/contrib/hanami/configuration/settings.rb +3 -2
  271. data/lib/datadog/tracing/contrib/hanami/ext.rb +10 -8
  272. data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +5 -8
  273. data/lib/datadog/tracing/contrib/http/configuration/settings.rb +34 -11
  274. data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +2 -2
  275. data/lib/datadog/tracing/contrib/http/ext.rb +17 -9
  276. data/lib/datadog/tracing/contrib/http/instrumentation.rb +27 -7
  277. data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +34 -11
  278. data/lib/datadog/tracing/contrib/httpclient/ext.rb +18 -9
  279. data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +22 -5
  280. data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +34 -11
  281. data/lib/datadog/tracing/contrib/httprb/ext.rb +17 -9
  282. data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +22 -5
  283. data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +10 -6
  284. data/lib/datadog/tracing/contrib/kafka/ext.rb +43 -39
  285. data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +3 -2
  286. data/lib/datadog/tracing/contrib/lograge/ext.rb +3 -1
  287. data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +2 -17
  288. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +15 -7
  289. data/lib/datadog/tracing/contrib/mongodb/ext.rb +21 -16
  290. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +16 -5
  291. data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +22 -14
  292. data/lib/datadog/tracing/contrib/mysql2/ext.rb +16 -10
  293. data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +22 -7
  294. data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +53 -0
  295. data/lib/datadog/tracing/contrib/opensearch/ext.rb +38 -0
  296. data/lib/datadog/tracing/contrib/opensearch/integration.rb +44 -0
  297. data/lib/datadog/tracing/contrib/opensearch/patcher.rb +135 -0
  298. data/lib/datadog/tracing/contrib/opensearch/quantize.rb +81 -0
  299. data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +23 -14
  300. data/lib/datadog/tracing/contrib/pg/ext.rb +23 -19
  301. data/lib/datadog/tracing/contrib/pg/instrumentation.rb +49 -9
  302. data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +15 -7
  303. data/lib/datadog/tracing/contrib/presto/ext.rb +26 -20
  304. data/lib/datadog/tracing/contrib/presto/instrumentation.rb +14 -5
  305. data/lib/datadog/tracing/contrib/propagation/sql_comment/ext.rb +12 -10
  306. data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +1 -1
  307. data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +13 -8
  308. data/lib/datadog/tracing/contrib/qless/ext.rb +15 -12
  309. data/lib/datadog/tracing/contrib/que/configuration/settings.rb +22 -12
  310. data/lib/datadog/tracing/contrib/que/ext.rb +1 -0
  311. data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +10 -7
  312. data/lib/datadog/tracing/contrib/racecar/event.rb +5 -5
  313. data/lib/datadog/tracing/contrib/racecar/ext.rb +21 -18
  314. data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +17 -12
  315. data/lib/datadog/tracing/contrib/rack/ext.rb +19 -16
  316. data/lib/datadog/tracing/contrib/rack/header_collection.rb +3 -0
  317. data/lib/datadog/tracing/contrib/rack/header_tagging.rb +63 -0
  318. data/lib/datadog/tracing/contrib/rack/middlewares.rb +16 -50
  319. data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +0 -2
  320. data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +20 -15
  321. data/lib/datadog/tracing/contrib/rails/ext.rb +8 -5
  322. data/lib/datadog/tracing/contrib/rails/log_injection.rb +7 -10
  323. data/lib/datadog/tracing/contrib/rails/patcher.rb +10 -41
  324. data/lib/datadog/tracing/contrib/rails/railtie.rb +3 -3
  325. data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +14 -10
  326. data/lib/datadog/tracing/contrib/rake/ext.rb +15 -12
  327. data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +18 -9
  328. data/lib/datadog/tracing/contrib/redis/ext.rb +23 -15
  329. data/lib/datadog/tracing/contrib/redis/instrumentation.rb +5 -40
  330. data/lib/datadog/tracing/contrib/redis/patcher.rb +34 -21
  331. data/lib/datadog/tracing/contrib/redis/tags.rb +16 -7
  332. data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +46 -33
  333. data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +14 -7
  334. data/lib/datadog/tracing/contrib/resque/ext.rb +10 -7
  335. data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +17 -9
  336. data/lib/datadog/tracing/contrib/rest_client/ext.rb +16 -8
  337. data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +25 -5
  338. data/lib/datadog/tracing/contrib/roda/configuration/settings.rb +10 -6
  339. data/lib/datadog/tracing/contrib/roda/ext.rb +1 -0
  340. data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +3 -2
  341. data/lib/datadog/tracing/contrib/semantic_logger/ext.rb +3 -1
  342. data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +4 -20
  343. data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +10 -6
  344. data/lib/datadog/tracing/contrib/sequel/ext.rb +11 -8
  345. data/lib/datadog/tracing/contrib/sequel/utils.rb +7 -7
  346. data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +15 -8
  347. data/lib/datadog/tracing/contrib/shoryuken/ext.rb +15 -12
  348. data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +19 -11
  349. data/lib/datadog/tracing/contrib/sidekiq/ext.rb +33 -30
  350. data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +12 -9
  351. data/lib/datadog/tracing/contrib/sinatra/env.rb +0 -17
  352. data/lib/datadog/tracing/contrib/sinatra/ext.rb +22 -19
  353. data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +3 -14
  354. data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +15 -8
  355. data/lib/datadog/tracing/contrib/sneakers/ext.rb +2 -0
  356. data/lib/datadog/tracing/contrib/sneakers/tracer.rb +1 -1
  357. data/lib/datadog/tracing/contrib/span_attribute_schema.rb +74 -10
  358. data/lib/datadog/tracing/contrib/stripe/configuration/settings.rb +10 -6
  359. data/lib/datadog/tracing/contrib/stripe/ext.rb +1 -0
  360. data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +10 -6
  361. data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +16 -13
  362. data/lib/datadog/tracing/contrib/trilogy/configuration/settings.rb +58 -0
  363. data/lib/datadog/tracing/contrib/trilogy/ext.rb +27 -0
  364. data/lib/datadog/tracing/contrib/trilogy/instrumentation.rb +94 -0
  365. data/lib/datadog/tracing/contrib/trilogy/integration.rb +43 -0
  366. data/lib/datadog/{ci/contrib/cucumber → tracing/contrib/trilogy}/patcher.rb +10 -6
  367. data/lib/datadog/tracing/contrib/utils/database.rb +5 -3
  368. data/lib/datadog/tracing/contrib/utils/quantization/http.rb +11 -11
  369. data/lib/datadog/tracing/contrib.rb +2 -0
  370. data/lib/datadog/tracing/correlation.rb +29 -12
  371. data/lib/datadog/tracing/diagnostics/environment_logger.rb +165 -0
  372. data/lib/datadog/tracing/diagnostics/ext.rb +21 -19
  373. data/lib/datadog/tracing/distributed/b3_multi.rb +2 -2
  374. data/lib/datadog/tracing/distributed/b3_single.rb +1 -1
  375. data/lib/datadog/tracing/distributed/datadog.rb +0 -1
  376. data/lib/datadog/tracing/distributed/propagation.rb +35 -34
  377. data/lib/datadog/tracing/distributed/trace_context.rb +52 -17
  378. data/lib/datadog/tracing/metadata/ext.rb +9 -6
  379. data/lib/datadog/tracing/metadata/tagging.rb +3 -3
  380. data/lib/datadog/tracing/remote.rb +78 -0
  381. data/lib/datadog/tracing/sampling/matcher.rb +23 -3
  382. data/lib/datadog/tracing/sampling/rule.rb +7 -2
  383. data/lib/datadog/tracing/sampling/rule_sampler.rb +31 -0
  384. data/lib/datadog/tracing/span_operation.rb +3 -15
  385. data/lib/datadog/tracing/sync_writer.rb +3 -3
  386. data/lib/datadog/tracing/trace_digest.rb +31 -0
  387. data/lib/datadog/tracing/trace_operation.rb +17 -5
  388. data/lib/datadog/tracing/trace_segment.rb +5 -2
  389. data/lib/datadog/tracing/tracer.rb +12 -1
  390. data/lib/datadog/{core → tracing}/transport/http/api/instance.rb +1 -1
  391. data/lib/datadog/{core → tracing}/transport/http/api/spec.rb +1 -1
  392. data/lib/datadog/tracing/transport/http/api.rb +43 -0
  393. data/lib/datadog/{core → tracing}/transport/http/builder.rb +13 -68
  394. data/lib/datadog/tracing/transport/http/client.rb +57 -0
  395. data/lib/datadog/tracing/transport/http/statistics.rb +47 -0
  396. data/lib/datadog/tracing/transport/http/traces.rb +152 -0
  397. data/lib/datadog/tracing/transport/http.rb +125 -0
  398. data/lib/datadog/tracing/transport/io/client.rb +89 -0
  399. data/lib/datadog/tracing/transport/io/response.rb +27 -0
  400. data/lib/datadog/tracing/transport/io/traces.rb +101 -0
  401. data/lib/datadog/tracing/transport/io.rb +30 -0
  402. data/lib/datadog/tracing/transport/serializable_trace.rb +126 -0
  403. data/lib/datadog/tracing/transport/statistics.rb +77 -0
  404. data/lib/datadog/tracing/transport/trace_formatter.rb +240 -0
  405. data/lib/datadog/tracing/transport/traces.rb +224 -0
  406. data/lib/datadog/tracing/workers/trace_writer.rb +6 -4
  407. data/lib/datadog/tracing/workers.rb +4 -2
  408. data/lib/datadog/tracing/writer.rb +5 -2
  409. data/lib/datadog/tracing.rb +8 -2
  410. data/lib/ddtrace/transport/ext.rb +22 -14
  411. data/lib/ddtrace/version.rb +9 -12
  412. data/lib/ddtrace.rb +1 -1
  413. metadata +157 -139
  414. data/ext/ddtrace_profiling_native_extension/libdatadog_helpers.h +0 -25
  415. data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +0 -110
  416. data/ext/ddtrace_profiling_native_extension/stack_recorder.c +0 -591
  417. data/ext/ddtrace_profiling_native_extension/stack_recorder.h +0 -14
  418. data/ext/ddtrace_profiling_native_extension/time_helpers.c +0 -17
  419. data/ext/ddtrace_profiling_native_extension/time_helpers.h +0 -10
  420. data/lib/datadog/ci/configuration/components.rb +0 -32
  421. data/lib/datadog/ci/configuration/settings.rb +0 -53
  422. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +0 -33
  423. data/lib/datadog/ci/contrib/cucumber/ext.rb +0 -20
  424. data/lib/datadog/ci/contrib/cucumber/formatter.rb +0 -94
  425. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +0 -28
  426. data/lib/datadog/ci/contrib/cucumber/integration.rb +0 -47
  427. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +0 -33
  428. data/lib/datadog/ci/contrib/rspec/example.rb +0 -68
  429. data/lib/datadog/ci/contrib/rspec/ext.rb +0 -19
  430. data/lib/datadog/ci/contrib/rspec/integration.rb +0 -48
  431. data/lib/datadog/ci/contrib/rspec/patcher.rb +0 -27
  432. data/lib/datadog/ci/ext/app_types.rb +0 -9
  433. data/lib/datadog/ci/ext/environment.rb +0 -575
  434. data/lib/datadog/ci/ext/settings.rb +0 -10
  435. data/lib/datadog/ci/ext/test.rb +0 -35
  436. data/lib/datadog/ci/extensions.rb +0 -19
  437. data/lib/datadog/ci/flush.rb +0 -38
  438. data/lib/datadog/ci/test.rb +0 -81
  439. data/lib/datadog/ci.rb +0 -20
  440. data/lib/datadog/core/configuration/dependency_resolver.rb +0 -28
  441. data/lib/datadog/core/configuration/option_definition_set.rb +0 -22
  442. data/lib/datadog/core/configuration/option_set.rb +0 -10
  443. data/lib/datadog/core/telemetry/collector.rb +0 -231
  444. data/lib/datadog/core/telemetry/v1/app_event.rb +0 -52
  445. data/lib/datadog/core/telemetry/v1/application.rb +0 -92
  446. data/lib/datadog/core/telemetry/v1/configuration.rb +0 -25
  447. data/lib/datadog/core/telemetry/v1/dependency.rb +0 -43
  448. data/lib/datadog/core/telemetry/v1/host.rb +0 -59
  449. data/lib/datadog/core/telemetry/v1/integration.rb +0 -64
  450. data/lib/datadog/core/telemetry/v1/product.rb +0 -36
  451. data/lib/datadog/core/telemetry/v1/telemetry_request.rb +0 -106
  452. data/lib/datadog/core/transport/config.rb +0 -58
  453. data/lib/datadog/core/transport/http/api.rb +0 -57
  454. data/lib/datadog/core/transport/http/client.rb +0 -45
  455. data/lib/datadog/core/transport/http/config.rb +0 -268
  456. data/lib/datadog/core/transport/http/negotiation.rb +0 -144
  457. data/lib/datadog/core/transport/http.rb +0 -169
  458. data/lib/datadog/core/utils/object_set.rb +0 -43
  459. data/lib/datadog/core/utils/string_table.rb +0 -47
  460. data/lib/datadog/profiling/backtrace_location.rb +0 -34
  461. data/lib/datadog/profiling/buffer.rb +0 -43
  462. data/lib/datadog/profiling/collectors/old_stack.rb +0 -301
  463. data/lib/datadog/profiling/encoding/profile.rb +0 -41
  464. data/lib/datadog/profiling/event.rb +0 -15
  465. data/lib/datadog/profiling/events/stack.rb +0 -82
  466. data/lib/datadog/profiling/old_recorder.rb +0 -107
  467. data/lib/datadog/profiling/pprof/builder.rb +0 -125
  468. data/lib/datadog/profiling/pprof/converter.rb +0 -102
  469. data/lib/datadog/profiling/pprof/message_set.rb +0 -16
  470. data/lib/datadog/profiling/pprof/payload.rb +0 -20
  471. data/lib/datadog/profiling/pprof/pprof.proto +0 -212
  472. data/lib/datadog/profiling/pprof/pprof_pb.rb +0 -81
  473. data/lib/datadog/profiling/pprof/stack_sample.rb +0 -139
  474. data/lib/datadog/profiling/pprof/string_table.rb +0 -12
  475. data/lib/datadog/profiling/pprof/template.rb +0 -118
  476. data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +0 -43
  477. data/lib/datadog/profiling/trace_identifiers/helper.rb +0 -45
  478. data/lib/datadog/tracing/contrib/sinatra/headers.rb +0 -35
  479. data/lib/ddtrace/transport/http/adapters/net.rb +0 -168
  480. data/lib/ddtrace/transport/http/adapters/registry.rb +0 -27
  481. data/lib/ddtrace/transport/http/adapters/test.rb +0 -85
  482. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +0 -77
  483. data/lib/ddtrace/transport/http/api/endpoint.rb +0 -29
  484. data/lib/ddtrace/transport/http/api/fallbacks.rb +0 -24
  485. data/lib/ddtrace/transport/http/api/instance.rb +0 -35
  486. data/lib/ddtrace/transport/http/api/map.rb +0 -16
  487. data/lib/ddtrace/transport/http/api/spec.rb +0 -17
  488. data/lib/ddtrace/transport/http/api.rb +0 -39
  489. data/lib/ddtrace/transport/http/builder.rb +0 -176
  490. data/lib/ddtrace/transport/http/client.rb +0 -52
  491. data/lib/ddtrace/transport/http/env.rb +0 -58
  492. data/lib/ddtrace/transport/http/response.rb +0 -58
  493. data/lib/ddtrace/transport/http/statistics.rb +0 -43
  494. data/lib/ddtrace/transport/http/traces.rb +0 -144
  495. data/lib/ddtrace/transport/http.rb +0 -117
  496. data/lib/ddtrace/transport/io/client.rb +0 -85
  497. data/lib/ddtrace/transport/io/response.rb +0 -25
  498. data/lib/ddtrace/transport/io/traces.rb +0 -99
  499. data/lib/ddtrace/transport/io.rb +0 -28
  500. data/lib/ddtrace/transport/parcel.rb +0 -20
  501. data/lib/ddtrace/transport/request.rb +0 -15
  502. data/lib/ddtrace/transport/response.rb +0 -60
  503. data/lib/ddtrace/transport/serializable_trace.rb +0 -122
  504. data/lib/ddtrace/transport/statistics.rb +0 -75
  505. data/lib/ddtrace/transport/trace_formatter.rb +0 -198
  506. data/lib/ddtrace/transport/traces.rb +0 -216
  507. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_idle_sampling_helper.h +0 -0
  508. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/setup_signal_handler.c +0 -0
  509. /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/setup_signal_handler.h +0 -0
data/CHANGELOG.md CHANGED
@@ -2,21 +2,392 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [1.23.2] - 2024-06-13
6
+
7
+ ### Fixed
8
+
9
+ * Profiling: Fix rpath for linking to libdatadog when loading from extension dir ([#3683][])
10
+
11
+ ## [1.23.1] - 2024-06-06
12
+
13
+ ### Fixed
14
+
15
+ * AppSec: Fix undefined method error when Tracing disabled ([#3650][])
16
+
17
+ ## [1.23.0] - 2024-05-09
18
+
19
+ ### Added
20
+
21
+ * Profiling: Enable endpoint profiling for Sidekiq and similar background job processors ([#3619][])
22
+
23
+ ### Fixed
24
+
25
+ * Fix no such file or directory issue when using single step instrumentation ([#3623][])
26
+ * Fix error during telemetry debug logging attempt ([#3618][])
27
+
28
+ ## [1.22.0] - 2024-04-16
29
+
30
+ ### Added
31
+
32
+ * Tracing: Add sampling rules by trace resouce and tags ([#3587][], [#3585][])
33
+ * Appsec: Add WAF vendor header support ([#3528][])
34
+
35
+ ### Changed
36
+
37
+ * Upgrade `Telemetry` to V2 ([#3551][])
38
+ * Upgrade to libdatadog 7 ([#3536][])
39
+ * Profiling: Enable Garbage Collection profiling by default ([#3558][])
40
+ * Profiling: Skip heap samples with age 0 ([#3573][])
41
+ * Profiling: Support falling back into extension directory when loading profiler ([#3582][])
42
+
43
+ ### Fixed
44
+
45
+ * Appsec: Fix MIME-style newlines with strict base64 encoding ([#3565][])
46
+
47
+ ## [2.0.0.beta1] - 2024-03-22
48
+
49
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v2.0.0.beta1
50
+
51
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v2.0.0.beta1
52
+
53
+ See https://github.com/DataDog/dd-trace-rb/blob/v2.0.0.beta1/docs/UpgradeGuide2.md.
54
+
55
+ ## [1.21.1] - 2024-03-20
56
+
57
+ ### Added
58
+
59
+ * Backports auto instrument shim with `datadog/auto_instrument` ([#3535][])
60
+
61
+ ### Fixed
62
+
63
+ * Fix ActiveRecord resolving invalid string ([#3523][])
64
+ * Revert `http.route` tagging to fix instrumentation failure for Rails 7.1 apps ([#3539][])
65
+ * Fix wrong permissions on released gem files ([#3531][])
66
+
67
+ ## [1.21.0] - 2024-03-14
68
+
69
+ ### Highlights
70
+ Allocation profiling is now in beta, and timeline profiling is enabled by default.
71
+ For more details, check the [release notes](https://github.com/DataDog/dd-trace-rb/releases/tag/v1.21.0)
72
+
73
+ ### Added
74
+
75
+ * APM source code integration ([#3463][])
76
+ * Core: Reduce startup logs verbosity ([#3468][])
77
+ * Tracing: Add Concurrent::Async instrumentation ([#3427][])
78
+ * Profiling: System info support ([#3357][])
79
+ * Profiling: Add bin/ddprofrb ([#3501][])
80
+
81
+ ### Changed
82
+
83
+ * Bump datadog-ci dependency to 0.8.1 ([#3518][])
84
+ * Upgrade to libdatadog 6 ([#3455][])
85
+ * Core: Allow suppressing error logs for Core::Remote::Negotiation ([#3495][])
86
+ * Tracing: Add `http.route` tag to rack ([#3345][])
87
+ * Tracing: Logs deprecation warning for `use` removal ([#3438][])
88
+ * Profiling: Allocation sampling overhead improvements ([#3434][], [#3440][])
89
+ * Profiling: Enable timeline by default ([#3428][])
90
+ * Profiling: Rename Profiling files to reflect "datadog" instead of "ddtrace" ([#3502][])
91
+ * Profiling: Replace `profiling.advanced.experimental_allocation_enabled` with `profiling.allocation_enabled` and remove experimental warning ([#3520][])
92
+
93
+ ### Fixed
94
+
95
+ * Core: Fix rare remote configuration worker thread leak ([#3519][])
96
+ * Tracing: Fix `Datadog::Tracing.reject!` with correct metrics ([#3491][])
97
+ * Tracing: Guard PG result with `nil` check ([#3511][])
98
+ * Profiling: Add workaround for Ruby VM bug causing crash in gc_finalize_deferred ([#3473][])
99
+ * Profiling: Fix missing profiling code hotspots when using ddtrace+otel ([#3466][])
100
+ * Profiling: Stop worker on clock failure ([#3439][])
101
+ * Profiling: Upgrade libdatadog to fix incorrect platform detection for x86_64-linux-gnu/aarch64-linux-gnu ([#3503][])
102
+
103
+ ## [1.20.0] - 2024-02-05
104
+
105
+ ### Added
106
+
107
+ * Tracing: Add `Trilogy` instrumentation ([#3274][])
108
+ * Rack: Add remote configuration boot tags ([#3315][])
109
+ * Faraday: Add `on_error` option ([#3431][])
110
+ * Profiling: Add dynamic allocation sampling ([#3395][])
111
+
112
+ ### Changed
113
+
114
+ * Bump `datadog-ci` dependency to 0.7.0 ([#3408][])
115
+ * Improve performance of gathering ClassCount metric ([#3386][])
116
+
117
+ ### Fixed
118
+
119
+ * OpenTelemetry: Fix internal loading ([#3400][])
120
+ * Core: Fix logger deadlock ([#3426][])
121
+ * Rack: Fix missing active trace ([#3420][])
122
+ * Redis: Fix instance configuration ([#3278][])
123
+
124
+ ## [1.19.0] - 2024-01-10
125
+
126
+ ### Highlights
127
+ Alpha support for memory profiling has been added. For more details, check the [release notes](https://github.com/DataDog/dd-trace-rb/releases/tag/v1.19.0)
128
+
129
+ ### Added
130
+ * Tracing: Add `on_error` settings for `mysql2` ([#3316][])
131
+ * Core: Add install_signature to app-started telemetry event ([#3349][])
132
+ * Profiling: Heap Profiling ([#3281][]) ([#3287][]) ([#3328][]) ([#3329][]) ([#3333][]) ([#3360][])
133
+ * Profiling: Redesign GC profiling to add timeline support and reduce overhead ([#3313][])
134
+ * Core: Use Ruby 3.3 stable for CI testing ([#3354][])
135
+
136
+ ### Changed
137
+ * Core: Bump `datadog-ci` dependency to 0.6.0 ([#3361][])
138
+ * Core: Bump debase-ruby_core_source dependency to 3.3.1 ([#3373][])
139
+ * Docs: Backport "List Ruby 3.3 as supported in the docs" to master branch ([#3374][])
140
+ * Profiling: Import upstream `rb_profile_frames` fix ([#3352][])
141
+ * Profiling: Allow the dynamic sampling rate overhead target to be set ([#3310][])
142
+ * Profiling: Split profiling tests into ractor and non-ractor suites. ([#3320][])
143
+
144
+ ### Fixed
145
+ * Docs: Fix `pg` doc markdown format ([#3317][])
146
+ * Tracing: Fix recursive `require` in Railtie ([#3365][])
147
+ * Profiling: Fix issues stemming from rb_gc_force_recycle ([#3366][])
148
+ * Profiling: Fix Ruby 3.3 CI being broken in master due to profiler ([#3356][])
149
+ * Profiling: Fix "no signals" workaround detection when mariadb is in use ([#3362][])
150
+
151
+ ## [1.18.0] - 2023-12-07
152
+
153
+ ### Added
154
+
155
+ * Tracing: Support lib injection for ARM64 architecture ([#3307][])
156
+ * Tracing: Add `error_handler` for `pg` instrumentation ([#3303][])
157
+ * Appsec: Enable "Trusted IPs", a.k.a passlist with optional monitoring ([#3229][])
158
+
159
+ ### Changed
160
+
161
+ * Mark ddtrace threads as fork-safe ([#3279][])
162
+ * Bump `datadog-ci` dependency to 0.5.0 ([#3308][])
163
+ * Bump `debase-ruby_core_source` dependency to 3.2.3 ([#3284][])
164
+ * Profiling: Disable profiler on Ruby 3.3 when running with RUBY_MN_THREADS=1 ([#3259][])
165
+ * Profiling: Run without "no signals" workaround on passenger 6.0.19+ ([#3280][])
166
+
167
+ ### Fixed
168
+
169
+ * Tracing: Fix `pg` instrumentation `enabled` settings ([#3271][])
170
+ * Profiling: Fix potential crash by importing upstream `rb_profile_frames` fix ([#3289][])
171
+ * Appsec: Call `devise` RegistrationsController block ([#3286][])
172
+
173
+ ## [1.17.0] - 2023-11-22
174
+
175
+ For W3C Trace Context, this release adds [`tracecontext`](https://www.w3.org/TR/trace-context/) to the default trace propagation extraction and injection styles. The new defaults are:
176
+ * Extraction: `Datadog,b3multi,b3,tracecontext`
177
+ * Injection: `Datadog,tracecontext`
178
+
179
+ And to increase interoperability with `tracecontext`, 128-bit Trace ID generation is now the default.
180
+
181
+ For OpenTelemetry, this release adds support for converting [OpenTelemetry Trace Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/general/trace/) into equivalent Datadog trace semantics. Also, it's now possible to configure top-level Datadog span fields using OpenTelemetry span attributes (https://github.com/DataDog/dd-trace-rb/pull/3262).
182
+
183
+ For CI Visibility, you can now manually create CI traces and spans with the [newly released API](https://github.com/DataDog/datadog-ci-rb/releases/tag/v0.4.0).
184
+
185
+ ### Added
186
+
187
+ * OpenTelemetry: Parse OpenTelemetry semantic conventions to Datadog's ([#3273][])
188
+ * OpenTelemetry: Support span reserved attribute overrides ([#3262][])
189
+ * Tracing: Ensure W3C `tracestate` is always propagated ([#3255][])
190
+
191
+ ### Changed
192
+
193
+ * Tracing: Set 128-bit trace_id to true by default ([#3266][])
194
+ * Tracing: Default trace propagation styles to `Datadog,b3multi,b3,tracecontext` ([#3248][],[#3267][])
195
+ * Ci-App: Upgraded `datadog-ci` dependency to 0.4 ([#3270][])
196
+
197
+ ## [1.16.2] - 2023-11-10
198
+
199
+ This release reverts a change to appsec response body parsing that was introduced in [1.16.0 ](https://github.com/DataDog/dd-trace-rb/releases/tag/v1.16.0) that may cause memory leaks.
200
+
201
+ ### Fixed
202
+ * Appsec: [Revert parse response body fix introduced in 1.16.0](https://github.com/DataDog/dd-trace-rb/pull/3153) ([#3252][])
203
+
204
+ ## [1.16.1] - 2023-11-08
205
+
206
+ ### Fixed
207
+
208
+ * Tracing: Fix `concurrent-ruby` future propagation without `active_trace` ([#3242][])
209
+ * Tracing: Fix host injection error handling ([#3240][])
210
+
211
+ ## [1.16.0] - 2023-11-03
212
+
213
+ **This release includes a security change for the Tracing Redis integration:**
214
+
215
+ Currently, the Datadog Agent removes command arguments from the resource name. However there are cases, like Redis compressed keys, where this obfuscation cannot correctly remove command arguments. To safeguard that situation, the resource name set by the tracer will only be the command (e.g. `SET`) with no arguments. To retain the previous behavior and keep arguments in the span resource, with the potential risk of some command arguments not being fully obfuscated, set ``DD_REDIS_COMMAND_ARGS=true`` or set the option `c.instrument :redis, command_args: true`.
216
+
217
+ ### Added
218
+
219
+ * Tracing: Propagate trace through `Concurrent::Promises.future` ([#1522][])
220
+ * Core: Name `Datadog::Core::Remote::Worker` thread ([#3207][])
221
+
222
+ ### Changed
223
+
224
+ * Tracing: Redis - Omit command arguments from span.resource by default ([#3235][])
225
+ * Ci-app: Bump `datadog-ci` dependency from 0.2.0 to 0.3.0 ([#3223][])
226
+
227
+ ### Fixed
228
+
229
+ * Appsec: ASM parse response body ([#3153][])
230
+ * Appsec: ASM make sure to append content type and length information ([#3204][])
231
+ * Appsec: Make sure function that checks content-type header value accepts nil content-type header value ([#3234][])
232
+ * Profiling: Shut down profiler if any components failed ([#3197][])
233
+ * Tracing: Fix `ActiveSupport` instrumentation of custom cache stores ([#3206][])
234
+
235
+ ## [1.15.0] - 2023-10-09
236
+
237
+ ### Highlights
238
+
239
+ * Timeline view for Profiler beta
240
+ * Configure AppSec blocking responses via configuration or Remote Configuration
241
+ * CI visibility to configure with agentless mode
242
+
243
+ For more details, check the [release notes](https://github.com/DataDog/dd-trace-rb/releases/tag/v1.15.0)
244
+
245
+ ### Added
246
+
247
+ * Enable allocation counting feature by default for some Ruby 3 versions ([#3176][])
248
+ * Detect `WebMock` `Cucumber` and `Rails.env` to disable telemetry and remote configuration for development environment ([#3065][], [#3062][], [#3145][])
249
+ * Profiling: Import java-profiler PID controller and port it to C ([#3190][])
250
+ * Profiling: Record allocation type when sampling objects ([#3096][])
251
+ * Profiling: Include `ruby vm type` in profiler allocation samples ([#3074][])
252
+ * Tracing: Support `Rack` 3 ([#3132][])
253
+ * Tracing: Support `Opensearch` 3 ([#3189][])
254
+ * Tracing: `grpc` adds `client_error_handler` option ([#3095][])
255
+ * Tracing: Add `async` option for `test_mode` configuration ([#3158][])
256
+ * Tracing: Implements `_dd.base_service` tag ([#3018][])
257
+ * Appsec: Allow blocking response template configuration via ENV variables ([#2975][])
258
+ * Appsec: ASM API security. Schema extraction ([#3131][], [#3166][], [#3177][])
259
+ * Appsec: Enable configuring blocking response via Remote Configuration ([#3099][])
260
+ * Ci-app: Validate git tags ([#3100][])
261
+ * Ci-app: Add agentless mode ([#3186][])
262
+
263
+ ### Changed
264
+
265
+ * Appsec: Skip passing waf addresses when the value is empty ([#3188][])
266
+ * Profiling: Restore support for Ruby 3.3 ([#3167][])
267
+ * Profiling: Add approximate thread state categorization for timeline ([#3162][])
268
+ * Profiling: Wire up allocation sampling into `CpuAndWallTimeWorker` ([#3103][])
269
+ * Tracing: `dalli` disable memcached command tag by default ([#3171][])
270
+ * Tracing: Use first valid extracted style for distributed tracing ([#2879][])
271
+ * Tracing: Rename configuration option `on_set` to `after_set` ([#3107][])
272
+ * Tracing: Rename `experimental_default_proc` to `default_proc` ([#3091][])
273
+ * Tracing: Use `peer.service` for sql comment propagation ([#3127][])
274
+ * Ci-app: Fix `Datadog::CI::Environment` to support the new CI specs ([#3080][])
275
+ * Bump `datadog-ci` dependency to 0.2 ([#3186][])
276
+ * Bump `debase-ruby_core_source` dependency to 3.2.2 ([#3163][])
277
+ * Upgrade `libdatadog` 5 ([#3169][], [#3104][])
278
+ * Upgrade `libddwaf-rb` 1.11.0 ([#3087][])
279
+ * Update AppSec rules to 1.8.0 ([#3140][], [#3139][])
280
+
281
+ ### Fixed
282
+
283
+ * Profiling: Add workaround for incorrect invoke location when logging gem is in use ([#3183][])
284
+ * Profiling: Fix missing endpoint profiling when `request_queuing` is enabled in `rack` instrumentation ([#3109][])
285
+ * Appsec: Span tags reporting the number of WAF failed loaded rules ([#3106][])
286
+ * Tracing: Fix tagging with empty data ([#3102][])
287
+ * Tracing: Fix `rails.cache.backend` span tag with multiple stores ([#3060][])
288
+
289
+ ### Removed
290
+
291
+ * Profiling: Remove legacy profiler codepath ([#3172][])
292
+ * Ci-app: Remove CI module and add a dependency on [`datadog-ci` gem](https://github.com/DataDog/datadog-ci-rb) ([#3128][])
293
+ * Tracing: Remove `depends_on` option from configuration DSL ([#3085][])
294
+ * Tracing: Remove `delegate_to` option from configuration DSL ([#3086][])
295
+
296
+ ## [1.14.0] - 2023-08-24
297
+
298
+ ### Added
299
+
300
+ * Cucumber 8.0.0 support, test CI visibility with cucumber versions 6-8 ([#3061][])
301
+ * Tracing: Add `ddsource` to #to_log_format ([#3025][])
302
+ * Core: include peer service configurations in telemetry payload ([#3056][])
303
+ * Tracing: Improve quantization ([#3041][])
304
+
305
+ ### Changed
306
+
307
+ * Profiling: Disable profiler on Ruby 3.3 due to incompatibility ([#3054][])
308
+ * Core: EnvironmentLogger adjustments ([#3020][], [#3057][])
309
+
310
+ ### Fixed
311
+
312
+ * Appsec: Fix ASM setting for automated user events. ([#3070][])
313
+ * Tracing: Fix ActiveRecord adapter name for Rails 7 ([#3051][])
314
+
315
+ ## [1.13.1] - 2023-08-14
316
+
317
+ ### Fixed
318
+
319
+ * Tracing: `net/http` instrumentation excludes query string for `http.url` tag ([#3045][])
320
+ * Tracing: Remove `log_tags` warning when given hash for log injection ([#3022][])
321
+ * Tracing: Fix OpenSearch integration loading ([#3019][])
322
+ * Core: Fix default hostname/port when mixing http and uds configuration ([#3037][])
323
+ * Core: Disable Telemetry and Remote Configuration in development environments ([#3039][])
324
+ * Profiling: Improve `Datadog::Profiling::HttpTransport` error logging ([#3038][])
325
+ * Docs: Document known issues with hanging Resque workers ([#3033][])
326
+
327
+ ## [1.13.0] - 2023-07-31
328
+
329
+ ### Added
330
+
331
+ * Core: Add support for `Option` precedence ([#2915][])
332
+ * Core: Add support for unsetting options ([#2972][])
333
+ * Core: Gauge primitive `RubyVM::YJIT.runtime_stats`, if `YJIT` is enabled ([#2711][], [#2959][])([@HeyNonster][])
334
+ * Core: Add Telemetry `app-client-configuration-change` event ([#2977][])
335
+ * Core: Improve our `SafeDup` module ([#2960][])
336
+ * Tracing: Add `OpenSearch` Integration ([#2940][])
337
+ * Tracing: Implement `peer.service` tag to integrations ([#2982][])
338
+ * Tracing: Add mandatory rpc and grpc tags for `grpc` integration ([#2620][], [#2962][])
339
+ * Tracing: Include `_dd.profiling.enabled` tag ([#2913][])
340
+ * Tracing: Support host injection ([#2941][], [#3007][])
341
+ * Tracing: Implement Dynamic Configuration for tracing ([#2848][], [#2973][])
342
+ * Tracing: Add for dynamic log injection configuration ([#2992][])
343
+ * Tracing: Add sampling configuration with `DD_TRACE_SAMPLING_RULES` ([#2968][])
344
+ * Tracing: Add HTTP header tagging with `DD_TRACE_HEADER_TAGS` for clients and servers ([#2946][], [#2935][])
345
+ * Profiling: Add fallback name/invoke location for unnamed threads started in native code ([#2993][])
346
+ * Profiling: Use invoke location as a fallback for nameless threads in the profiler ([#2950][])
347
+ * Profiling: Add fallback name for main thread in profiling data ([#2939][])
348
+ * Ci-app: Add `Minitest` CI integration ([#2932][]) ([@bravehager][])
349
+ * Appsec: `Devise` integration and automatic user events ([#2877][])
350
+ * Appsec: Handle disabled tracing and appsec events ([#2572][])
351
+ * Appsec: Automate user events check for UUID in safe mode ([#2952][])
352
+ * Docs: Add Ruby 3.2 support to compatibility matrix ([#2971][])
353
+
354
+ ### Changed
355
+
356
+ * Core: Set maximum supported Ruby version ([#2497][])
357
+ * Core: Prevent telemetry requests from being traced ([#2961][])
358
+ * Core: Add `env` and `type` to Core configuration option ([#2983][], [#2988][], [#2994][])
359
+ * Core: Remove `lazy` from Core configuration option ([#2931][], [#2999][])
360
+ * Profiling: Bump `libdatadog` dependency to version 3 ([#2948][])
361
+ * Profiling: Improve error message when `ddtrace_profiling_loader` fails to load ([#2957][])
362
+ * Tracing: Improve log injection runtime conditionals ([#2926][], [#2882][])
363
+
364
+ ### Fixed
365
+
366
+ * Core: Fix polynomial-time regular expressions ([#2814][])
367
+ * Core: Fix environment variable for dynamic configuration polling interval ([#2967][])
368
+ * Core: Reduce remote configuration error logging noise ([#3011][])
369
+ * Tracing: Fix manual log injection for 128 bit trace_id ([#2974][])
370
+ * Tracing: Ensure the GRPC client interceptor return the response ([#2928][]) ([@KJTsanaktsidis][])
371
+ * Tracing: Remove dynamic input used in regular expression ([#2867][])
372
+ * Tracing: Fix distributed tracing header formats ([#3005][] )
373
+ * Profiling: Fix profiler `libmysqlclient` version detection with `mysql2-aurora` gem ([#2956][])
374
+ * Profiling: Automatically enable profiler "no signals" workaround for `passenger` web server ([#2978][])
375
+
5
376
  ## [1.12.1] - 2023-06-14
6
377
 
7
378
  ### Added
8
- Appsec: Add `appsec.blocked` tag to span ([#2895][])
9
- Profiling: Add workaround for legacy profiler incompatibility with ruby-cloud-profiler gem ([#2891][])
10
- Core: Allow setting remote configuration service name ([#2853][])
379
+ * Appsec: Add `appsec.blocked` tag to span ([#2895][])
380
+ * Profiling: Add workaround for legacy profiler incompatibility with ruby-cloud-profiler gem ([#2891][])
381
+ * Core: Allow setting remote configuration service name ([#2853][])
11
382
 
12
383
  ### Changed
13
- Appsec: Change the value format for the WAF address `server.request.query` ([#2903][])
14
- Profiling: Log pkg-config command when building profiling native extension
384
+ * Appsec: Change the value format for the WAF address `server.request.query` ([#2903][])
385
+ * Profiling: Log pkg-config command when building profiling native extension
15
386
 
16
387
  ### Fixed
17
- Appsec: Update blocked response content_type resolution ([#2900][])
18
- Appsec: Ensure to use service entry span. ([#2898][])
19
- Tracing: Fix AWS integration constant loading ([#2896][])
388
+ * Appsec: Update blocked response content_type resolution ([#2900][])
389
+ * Appsec: Ensure to use service entry span. ([#2898][])
390
+ * Tracing: Fix AWS integration constant loading ([#2896][])
20
391
 
21
392
  ## [1.12.0] - 2023-06-02
22
393
 
@@ -2454,7 +2825,26 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
2454
2825
 
2455
2826
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2456
2827
 
2457
- [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.12.1...master
2828
+
2829
+ [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.2...master
2830
+ [1.23.2]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.1...v1.23.2
2831
+ [1.23.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.23.0...v1.23.1
2832
+ [1.23.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.22.0...v1.23.0
2833
+ [1.22.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v1.22.0
2834
+ [2.0.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.1...v2.0.0.beta1
2835
+ [1.21.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.21.0...v1.21.1
2836
+ [1.21.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.20.0...v1.21.0
2837
+ [1.20.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.19.0...v1.20.0
2838
+ [1.19.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.18.0...v1.19.0
2839
+ [1.18.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.17.0...v1.18.0
2840
+ [1.17.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.16.2...v1.17.0
2841
+ [1.16.2]: https://github.com/DataDog/dd-trace-rb/compare/v1.16.1...v1.16.2
2842
+ [1.16.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.16.0...v1.16.1
2843
+ [1.16.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.15.0...v1.16.0
2844
+ [1.15.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.14.0...v1.15.0
2845
+ [1.14.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.13.1...1.14.0
2846
+ [1.13.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.13.0...1.13.1
2847
+ [1.13.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.12.1...v1.13.0
2458
2848
  [1.12.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.12.0...v1.12.1
2459
2849
  [1.12.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.11.1...v1.12.0
2460
2850
  [1.11.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.10.1...v1.11.1
@@ -3188,6 +3578,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3188
3578
  [#1509]: https://github.com/DataDog/dd-trace-rb/issues/1509
3189
3579
  [#1510]: https://github.com/DataDog/dd-trace-rb/issues/1510
3190
3580
  [#1511]: https://github.com/DataDog/dd-trace-rb/issues/1511
3581
+ [#1522]: https://github.com/DataDog/dd-trace-rb/issues/1522
3191
3582
  [#1523]: https://github.com/DataDog/dd-trace-rb/issues/1523
3192
3583
  [#1524]: https://github.com/DataDog/dd-trace-rb/issues/1524
3193
3584
  [#1529]: https://github.com/DataDog/dd-trace-rb/issues/1529
@@ -3427,6 +3818,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3427
3818
  [#2489]: https://github.com/DataDog/dd-trace-rb/issues/2489
3428
3819
  [#2493]: https://github.com/DataDog/dd-trace-rb/issues/2493
3429
3820
  [#2496]: https://github.com/DataDog/dd-trace-rb/issues/2496
3821
+ [#2497]: https://github.com/DataDog/dd-trace-rb/issues/2497
3430
3822
  [#2501]: https://github.com/DataDog/dd-trace-rb/issues/2501
3431
3823
  [#2504]: https://github.com/DataDog/dd-trace-rb/issues/2504
3432
3824
  [#2512]: https://github.com/DataDog/dd-trace-rb/issues/2512
@@ -3439,6 +3831,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3439
3831
  [#2543]: https://github.com/DataDog/dd-trace-rb/issues/2543
3440
3832
  [#2557]: https://github.com/DataDog/dd-trace-rb/issues/2557
3441
3833
  [#2562]: https://github.com/DataDog/dd-trace-rb/issues/2562
3834
+ [#2572]: https://github.com/DataDog/dd-trace-rb/issues/2572
3442
3835
  [#2573]: https://github.com/DataDog/dd-trace-rb/issues/2573
3443
3836
  [#2576]: https://github.com/DataDog/dd-trace-rb/issues/2576
3444
3837
  [#2580]: https://github.com/DataDog/dd-trace-rb/issues/2580
@@ -3461,6 +3854,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3461
3854
  [#2614]: https://github.com/DataDog/dd-trace-rb/issues/2614
3462
3855
  [#2618]: https://github.com/DataDog/dd-trace-rb/issues/2618
3463
3856
  [#2619]: https://github.com/DataDog/dd-trace-rb/issues/2619
3857
+ [#2620]: https://github.com/DataDog/dd-trace-rb/issues/2620
3464
3858
  [#2634]: https://github.com/DataDog/dd-trace-rb/issues/2634
3465
3859
  [#2635]: https://github.com/DataDog/dd-trace-rb/issues/2635
3466
3860
  [#2642]: https://github.com/DataDog/dd-trace-rb/issues/2642
@@ -3488,6 +3882,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3488
3882
  [#2704]: https://github.com/DataDog/dd-trace-rb/issues/2704
3489
3883
  [#2705]: https://github.com/DataDog/dd-trace-rb/issues/2705
3490
3884
  [#2710]: https://github.com/DataDog/dd-trace-rb/issues/2710
3885
+ [#2711]: https://github.com/DataDog/dd-trace-rb/issues/2711
3491
3886
  [#2720]: https://github.com/DataDog/dd-trace-rb/issues/2720
3492
3887
  [#2726]: https://github.com/DataDog/dd-trace-rb/issues/2726
3493
3888
  [#2727]: https://github.com/DataDog/dd-trace-rb/issues/2727
@@ -3514,6 +3909,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3514
3909
  [#2805]: https://github.com/DataDog/dd-trace-rb/issues/2805
3515
3910
  [#2806]: https://github.com/DataDog/dd-trace-rb/issues/2806
3516
3911
  [#2810]: https://github.com/DataDog/dd-trace-rb/issues/2810
3912
+ [#2814]: https://github.com/DataDog/dd-trace-rb/issues/2814
3517
3913
  [#2815]: https://github.com/DataDog/dd-trace-rb/issues/2815
3518
3914
  [#2822]: https://github.com/DataDog/dd-trace-rb/issues/2822
3519
3915
  [#2824]: https://github.com/DataDog/dd-trace-rb/issues/2824
@@ -3521,6 +3917,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3521
3917
  [#2829]: https://github.com/DataDog/dd-trace-rb/issues/2829
3522
3918
  [#2836]: https://github.com/DataDog/dd-trace-rb/issues/2836
3523
3919
  [#2840]: https://github.com/DataDog/dd-trace-rb/issues/2840
3920
+ [#2848]: https://github.com/DataDog/dd-trace-rb/issues/2848
3524
3921
  [#2853]: https://github.com/DataDog/dd-trace-rb/issues/2853
3525
3922
  [#2854]: https://github.com/DataDog/dd-trace-rb/issues/2854
3526
3923
  [#2855]: https://github.com/DataDog/dd-trace-rb/issues/2855
@@ -3529,10 +3926,14 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3529
3926
  [#2860]: https://github.com/DataDog/dd-trace-rb/issues/2860
3530
3927
  [#2864]: https://github.com/DataDog/dd-trace-rb/issues/2864
3531
3928
  [#2866]: https://github.com/DataDog/dd-trace-rb/issues/2866
3929
+ [#2867]: https://github.com/DataDog/dd-trace-rb/issues/2867
3532
3930
  [#2869]: https://github.com/DataDog/dd-trace-rb/issues/2869
3533
3931
  [#2873]: https://github.com/DataDog/dd-trace-rb/issues/2873
3534
3932
  [#2874]: https://github.com/DataDog/dd-trace-rb/issues/2874
3535
3933
  [#2875]: https://github.com/DataDog/dd-trace-rb/issues/2875
3934
+ [#2877]: https://github.com/DataDog/dd-trace-rb/issues/2877
3935
+ [#2879]: https://github.com/DataDog/dd-trace-rb/issues/2879
3936
+ [#2882]: https://github.com/DataDog/dd-trace-rb/issues/2882
3536
3937
  [#2883]: https://github.com/DataDog/dd-trace-rb/issues/2883
3537
3938
  [#2890]: https://github.com/DataDog/dd-trace-rb/issues/2890
3538
3939
  [#2891]: https://github.com/DataDog/dd-trace-rb/issues/2891
@@ -3541,6 +3942,206 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3541
3942
  [#2898]: https://github.com/DataDog/dd-trace-rb/issues/2898
3542
3943
  [#2900]: https://github.com/DataDog/dd-trace-rb/issues/2900
3543
3944
  [#2903]: https://github.com/DataDog/dd-trace-rb/issues/2903
3945
+ [#2913]: https://github.com/DataDog/dd-trace-rb/issues/2913
3946
+ [#2915]: https://github.com/DataDog/dd-trace-rb/issues/2915
3947
+ [#2926]: https://github.com/DataDog/dd-trace-rb/issues/2926
3948
+ [#2928]: https://github.com/DataDog/dd-trace-rb/issues/2928
3949
+ [#2931]: https://github.com/DataDog/dd-trace-rb/issues/2931
3950
+ [#2932]: https://github.com/DataDog/dd-trace-rb/issues/2932
3951
+ [#2935]: https://github.com/DataDog/dd-trace-rb/issues/2935
3952
+ [#2939]: https://github.com/DataDog/dd-trace-rb/issues/2939
3953
+ [#2940]: https://github.com/DataDog/dd-trace-rb/issues/2940
3954
+ [#2941]: https://github.com/DataDog/dd-trace-rb/issues/2941
3955
+ [#2946]: https://github.com/DataDog/dd-trace-rb/issues/2946
3956
+ [#2948]: https://github.com/DataDog/dd-trace-rb/issues/2948
3957
+ [#2950]: https://github.com/DataDog/dd-trace-rb/issues/2950
3958
+ [#2952]: https://github.com/DataDog/dd-trace-rb/issues/2952
3959
+ [#2956]: https://github.com/DataDog/dd-trace-rb/issues/2956
3960
+ [#2957]: https://github.com/DataDog/dd-trace-rb/issues/2957
3961
+ [#2959]: https://github.com/DataDog/dd-trace-rb/issues/2959
3962
+ [#2960]: https://github.com/DataDog/dd-trace-rb/issues/2960
3963
+ [#2961]: https://github.com/DataDog/dd-trace-rb/issues/2961
3964
+ [#2962]: https://github.com/DataDog/dd-trace-rb/issues/2962
3965
+ [#2967]: https://github.com/DataDog/dd-trace-rb/issues/2967
3966
+ [#2968]: https://github.com/DataDog/dd-trace-rb/issues/2968
3967
+ [#2971]: https://github.com/DataDog/dd-trace-rb/issues/2971
3968
+ [#2972]: https://github.com/DataDog/dd-trace-rb/issues/2972
3969
+ [#2973]: https://github.com/DataDog/dd-trace-rb/issues/2973
3970
+ [#2974]: https://github.com/DataDog/dd-trace-rb/issues/2974
3971
+ [#2975]: https://github.com/DataDog/dd-trace-rb/issues/2975
3972
+ [#2977]: https://github.com/DataDog/dd-trace-rb/issues/2977
3973
+ [#2978]: https://github.com/DataDog/dd-trace-rb/issues/2978
3974
+ [#2982]: https://github.com/DataDog/dd-trace-rb/issues/2982
3975
+ [#2983]: https://github.com/DataDog/dd-trace-rb/issues/2983
3976
+ [#2988]: https://github.com/DataDog/dd-trace-rb/issues/2988
3977
+ [#2992]: https://github.com/DataDog/dd-trace-rb/issues/2992
3978
+ [#2993]: https://github.com/DataDog/dd-trace-rb/issues/2993
3979
+ [#2994]: https://github.com/DataDog/dd-trace-rb/issues/2994
3980
+ [#2999]: https://github.com/DataDog/dd-trace-rb/issues/2999
3981
+ [#3005]: https://github.com/DataDog/dd-trace-rb/issues/3005
3982
+ [#3007]: https://github.com/DataDog/dd-trace-rb/issues/3007
3983
+ [#3011]: https://github.com/DataDog/dd-trace-rb/issues/3011
3984
+ [#3018]: https://github.com/DataDog/dd-trace-rb/issues/3018
3985
+ [#3019]: https://github.com/DataDog/dd-trace-rb/issues/3019
3986
+ [#3020]: https://github.com/DataDog/dd-trace-rb/issues/3020
3987
+ [#3022]: https://github.com/DataDog/dd-trace-rb/issues/3022
3988
+ [#3025]: https://github.com/DataDog/dd-trace-rb/issues/3025
3989
+ [#3033]: https://github.com/DataDog/dd-trace-rb/issues/3033
3990
+ [#3037]: https://github.com/DataDog/dd-trace-rb/issues/3037
3991
+ [#3038]: https://github.com/DataDog/dd-trace-rb/issues/3038
3992
+ [#3039]: https://github.com/DataDog/dd-trace-rb/issues/3039
3993
+ [#3041]: https://github.com/DataDog/dd-trace-rb/issues/3041
3994
+ [#3045]: https://github.com/DataDog/dd-trace-rb/issues/3045
3995
+ [#3051]: https://github.com/DataDog/dd-trace-rb/issues/3051
3996
+ [#3054]: https://github.com/DataDog/dd-trace-rb/issues/3054
3997
+ [#3056]: https://github.com/DataDog/dd-trace-rb/issues/3056
3998
+ [#3057]: https://github.com/DataDog/dd-trace-rb/issues/3057
3999
+ [#3060]: https://github.com/DataDog/dd-trace-rb/issues/3060
4000
+ [#3061]: https://github.com/DataDog/dd-trace-rb/issues/3061
4001
+ [#3062]: https://github.com/DataDog/dd-trace-rb/issues/3062
4002
+ [#3065]: https://github.com/DataDog/dd-trace-rb/issues/3065
4003
+ [#3070]: https://github.com/DataDog/dd-trace-rb/issues/3070
4004
+ [#3074]: https://github.com/DataDog/dd-trace-rb/issues/3074
4005
+ [#3080]: https://github.com/DataDog/dd-trace-rb/issues/3080
4006
+ [#3085]: https://github.com/DataDog/dd-trace-rb/issues/3085
4007
+ [#3086]: https://github.com/DataDog/dd-trace-rb/issues/3086
4008
+ [#3087]: https://github.com/DataDog/dd-trace-rb/issues/3087
4009
+ [#3091]: https://github.com/DataDog/dd-trace-rb/issues/3091
4010
+ [#3095]: https://github.com/DataDog/dd-trace-rb/issues/3095
4011
+ [#3096]: https://github.com/DataDog/dd-trace-rb/issues/3096
4012
+ [#3099]: https://github.com/DataDog/dd-trace-rb/issues/3099
4013
+ [#3100]: https://github.com/DataDog/dd-trace-rb/issues/3100
4014
+ [#3102]: https://github.com/DataDog/dd-trace-rb/issues/3102
4015
+ [#3103]: https://github.com/DataDog/dd-trace-rb/issues/3103
4016
+ [#3104]: https://github.com/DataDog/dd-trace-rb/issues/3104
4017
+ [#3106]: https://github.com/DataDog/dd-trace-rb/issues/3106
4018
+ [#3107]: https://github.com/DataDog/dd-trace-rb/issues/3107
4019
+ [#3109]: https://github.com/DataDog/dd-trace-rb/issues/3109
4020
+ [#3127]: https://github.com/DataDog/dd-trace-rb/issues/3127
4021
+ [#3128]: https://github.com/DataDog/dd-trace-rb/issues/3128
4022
+ [#3131]: https://github.com/DataDog/dd-trace-rb/issues/3131
4023
+ [#3132]: https://github.com/DataDog/dd-trace-rb/issues/3132
4024
+ [#3139]: https://github.com/DataDog/dd-trace-rb/issues/3139
4025
+ [#3140]: https://github.com/DataDog/dd-trace-rb/issues/3140
4026
+ [#3145]: https://github.com/DataDog/dd-trace-rb/issues/3145
4027
+ [#3148]: https://github.com/DataDog/dd-trace-rb/issues/3148
4028
+ [#3150]: https://github.com/DataDog/dd-trace-rb/issues/3150
4029
+ [#3152]: https://github.com/DataDog/dd-trace-rb/issues/3152
4030
+ [#3153]: https://github.com/DataDog/dd-trace-rb/issues/3153
4031
+ [#3158]: https://github.com/DataDog/dd-trace-rb/issues/3158
4032
+ [#3162]: https://github.com/DataDog/dd-trace-rb/issues/3162
4033
+ [#3163]: https://github.com/DataDog/dd-trace-rb/issues/3163
4034
+ [#3166]: https://github.com/DataDog/dd-trace-rb/issues/3166
4035
+ [#3167]: https://github.com/DataDog/dd-trace-rb/issues/3167
4036
+ [#3169]: https://github.com/DataDog/dd-trace-rb/issues/3169
4037
+ [#3171]: https://github.com/DataDog/dd-trace-rb/issues/3171
4038
+ [#3172]: https://github.com/DataDog/dd-trace-rb/issues/3172
4039
+ [#3176]: https://github.com/DataDog/dd-trace-rb/issues/3176
4040
+ [#3177]: https://github.com/DataDog/dd-trace-rb/issues/3177
4041
+ [#3183]: https://github.com/DataDog/dd-trace-rb/issues/3183
4042
+ [#3186]: https://github.com/DataDog/dd-trace-rb/issues/3186
4043
+ [#3188]: https://github.com/DataDog/dd-trace-rb/issues/3188
4044
+ [#3189]: https://github.com/DataDog/dd-trace-rb/issues/3189
4045
+ [#3190]: https://github.com/DataDog/dd-trace-rb/issues/3190
4046
+ [#3197]: https://github.com/DataDog/dd-trace-rb/issues/3197
4047
+ [#3204]: https://github.com/DataDog/dd-trace-rb/issues/3204
4048
+ [#3206]: https://github.com/DataDog/dd-trace-rb/issues/3206
4049
+ [#3207]: https://github.com/DataDog/dd-trace-rb/issues/3207
4050
+ [#3223]: https://github.com/DataDog/dd-trace-rb/issues/3223
4051
+ [#3229]: https://github.com/DataDog/dd-trace-rb/issues/3229
4052
+ [#3234]: https://github.com/DataDog/dd-trace-rb/issues/3234
4053
+ [#3235]: https://github.com/DataDog/dd-trace-rb/issues/3235
4054
+ [#3240]: https://github.com/DataDog/dd-trace-rb/issues/3240
4055
+ [#3242]: https://github.com/DataDog/dd-trace-rb/issues/3242
4056
+ [#3248]: https://github.com/DataDog/dd-trace-rb/issues/3248
4057
+ [#3252]: https://github.com/DataDog/dd-trace-rb/issues/3252
4058
+ [#3255]: https://github.com/DataDog/dd-trace-rb/issues/3255
4059
+ [#3259]: https://github.com/DataDog/dd-trace-rb/issues/3259
4060
+ [#3262]: https://github.com/DataDog/dd-trace-rb/issues/3262
4061
+ [#3266]: https://github.com/DataDog/dd-trace-rb/issues/3266
4062
+ [#3267]: https://github.com/DataDog/dd-trace-rb/issues/3267
4063
+ [#3270]: https://github.com/DataDog/dd-trace-rb/issues/3270
4064
+ [#3271]: https://github.com/DataDog/dd-trace-rb/issues/3271
4065
+ [#3273]: https://github.com/DataDog/dd-trace-rb/issues/3273
4066
+ [#3274]: https://github.com/DataDog/dd-trace-rb/issues/3274
4067
+ [#3278]: https://github.com/DataDog/dd-trace-rb/issues/3278
4068
+ [#3279]: https://github.com/DataDog/dd-trace-rb/issues/3279
4069
+ [#3280]: https://github.com/DataDog/dd-trace-rb/issues/3280
4070
+ [#3281]: https://github.com/DataDog/dd-trace-rb/issues/3281
4071
+ [#3284]: https://github.com/DataDog/dd-trace-rb/issues/3284
4072
+ [#3286]: https://github.com/DataDog/dd-trace-rb/issues/3286
4073
+ [#3287]: https://github.com/DataDog/dd-trace-rb/issues/3287
4074
+ [#3289]: https://github.com/DataDog/dd-trace-rb/issues/3289
4075
+ [#3303]: https://github.com/DataDog/dd-trace-rb/issues/3303
4076
+ [#3307]: https://github.com/DataDog/dd-trace-rb/issues/3307
4077
+ [#3308]: https://github.com/DataDog/dd-trace-rb/issues/3308
4078
+ [#3310]: https://github.com/DataDog/dd-trace-rb/issues/3310
4079
+ [#3313]: https://github.com/DataDog/dd-trace-rb/issues/3313
4080
+ [#3315]: https://github.com/DataDog/dd-trace-rb/issues/3315
4081
+ [#3316]: https://github.com/DataDog/dd-trace-rb/issues/3316
4082
+ [#3317]: https://github.com/DataDog/dd-trace-rb/issues/3317
4083
+ [#3320]: https://github.com/DataDog/dd-trace-rb/issues/3320
4084
+ [#3328]: https://github.com/DataDog/dd-trace-rb/issues/3328
4085
+ [#3329]: https://github.com/DataDog/dd-trace-rb/issues/3329
4086
+ [#3333]: https://github.com/DataDog/dd-trace-rb/issues/3333
4087
+ [#3345]: https://github.com/DataDog/dd-trace-rb/issues/3345
4088
+ [#3349]: https://github.com/DataDog/dd-trace-rb/issues/3349
4089
+ [#3352]: https://github.com/DataDog/dd-trace-rb/issues/3352
4090
+ [#3354]: https://github.com/DataDog/dd-trace-rb/issues/3354
4091
+ [#3356]: https://github.com/DataDog/dd-trace-rb/issues/3356
4092
+ [#3357]: https://github.com/DataDog/dd-trace-rb/issues/3357
4093
+ [#3360]: https://github.com/DataDog/dd-trace-rb/issues/3360
4094
+ [#3361]: https://github.com/DataDog/dd-trace-rb/issues/3361
4095
+ [#3362]: https://github.com/DataDog/dd-trace-rb/issues/3362
4096
+ [#3365]: https://github.com/DataDog/dd-trace-rb/issues/3365
4097
+ [#3366]: https://github.com/DataDog/dd-trace-rb/issues/3366
4098
+ [#3373]: https://github.com/DataDog/dd-trace-rb/issues/3373
4099
+ [#3374]: https://github.com/DataDog/dd-trace-rb/issues/3374
4100
+ [#3386]: https://github.com/DataDog/dd-trace-rb/issues/3386
4101
+ [#3395]: https://github.com/DataDog/dd-trace-rb/issues/3395
4102
+ [#3400]: https://github.com/DataDog/dd-trace-rb/issues/3400
4103
+ [#3408]: https://github.com/DataDog/dd-trace-rb/issues/3408
4104
+ [#3420]: https://github.com/DataDog/dd-trace-rb/issues/3420
4105
+ [#3426]: https://github.com/DataDog/dd-trace-rb/issues/3426
4106
+ [#3427]: https://github.com/DataDog/dd-trace-rb/issues/3427
4107
+ [#3428]: https://github.com/DataDog/dd-trace-rb/issues/3428
4108
+ [#3431]: https://github.com/DataDog/dd-trace-rb/issues/3431
4109
+ [#3434]: https://github.com/DataDog/dd-trace-rb/issues/3434
4110
+ [#3438]: https://github.com/DataDog/dd-trace-rb/issues/3438
4111
+ [#3439]: https://github.com/DataDog/dd-trace-rb/issues/3439
4112
+ [#3440]: https://github.com/DataDog/dd-trace-rb/issues/3440
4113
+ [#3455]: https://github.com/DataDog/dd-trace-rb/issues/3455
4114
+ [#3463]: https://github.com/DataDog/dd-trace-rb/issues/3463
4115
+ [#3466]: https://github.com/DataDog/dd-trace-rb/issues/3466
4116
+ [#3468]: https://github.com/DataDog/dd-trace-rb/issues/3468
4117
+ [#3473]: https://github.com/DataDog/dd-trace-rb/issues/3473
4118
+ [#3491]: https://github.com/DataDog/dd-trace-rb/issues/3491
4119
+ [#3495]: https://github.com/DataDog/dd-trace-rb/issues/3495
4120
+ [#3501]: https://github.com/DataDog/dd-trace-rb/issues/3501
4121
+ [#3502]: https://github.com/DataDog/dd-trace-rb/issues/3502
4122
+ [#3503]: https://github.com/DataDog/dd-trace-rb/issues/3503
4123
+ [#3511]: https://github.com/DataDog/dd-trace-rb/issues/3511
4124
+ [#3518]: https://github.com/DataDog/dd-trace-rb/issues/3518
4125
+ [#3519]: https://github.com/DataDog/dd-trace-rb/issues/3519
4126
+ [#3520]: https://github.com/DataDog/dd-trace-rb/issues/3520
4127
+ [#3523]: https://github.com/DataDog/dd-trace-rb/issues/3523
4128
+ [#3528]: https://github.com/DataDog/dd-trace-rb/issues/3528
4129
+ [#3531]: https://github.com/DataDog/dd-trace-rb/issues/3531
4130
+ [#3535]: https://github.com/DataDog/dd-trace-rb/issues/3535
4131
+ [#3536]: https://github.com/DataDog/dd-trace-rb/issues/3536
4132
+ [#3539]: https://github.com/DataDog/dd-trace-rb/issues/3539
4133
+ [#3551]: https://github.com/DataDog/dd-trace-rb/issues/3551
4134
+ [#3558]: https://github.com/DataDog/dd-trace-rb/issues/3558
4135
+ [#3565]: https://github.com/DataDog/dd-trace-rb/issues/3565
4136
+ [#3573]: https://github.com/DataDog/dd-trace-rb/issues/3573
4137
+ [#3582]: https://github.com/DataDog/dd-trace-rb/issues/3582
4138
+ [#3585]: https://github.com/DataDog/dd-trace-rb/issues/3585
4139
+ [#3587]: https://github.com/DataDog/dd-trace-rb/issues/3587
4140
+ [#3618]: https://github.com/DataDog/dd-trace-rb/issues/3618
4141
+ [#3619]: https://github.com/DataDog/dd-trace-rb/issues/3619
4142
+ [#3623]: https://github.com/DataDog/dd-trace-rb/issues/3623
4143
+ [#3650]: https://github.com/DataDog/dd-trace-rb/issues/3650
4144
+ [#3683]: https://github.com/DataDog/dd-trace-rb/issues/3683
3544
4145
  [@AdrianLC]: https://github.com/AdrianLC
3545
4146
  [@Azure7111]: https://github.com/Azure7111
3546
4147
  [@BabyGroot]: https://github.com/BabyGroot
@@ -3548,11 +4149,13 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3548
4149
  [@Drowze]: https://github.com/Drowze
3549
4150
  [@EpiFouloux]: https://github.com/EpiFouloux
3550
4151
  [@EvNomad]: https://github.com/EvNomad
4152
+ [@HeyNonster]: https://github.com/HeyNonster
3551
4153
  [@HoneyryderChuck]: https://github.com/HoneyryderChuck
3552
4154
  [@JamesHarker]: https://github.com/JamesHarker
3553
4155
  [@Jared-Prime]: https://github.com/Jared-Prime
3554
4156
  [@Joas1988]: https://github.com/Joas1988
3555
4157
  [@JustSnow]: https://github.com/JustSnow
4158
+ [@KJTsanaktsidis]: https://github.com/KJTsanaktsidis
3556
4159
  [@KieranP]: https://github.com/KieranP
3557
4160
  [@MMartyn]: https://github.com/MMartyn
3558
4161
  [@NobodysNightmare]: https://github.com/NobodysNightmare
@@ -3577,6 +4180,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3577
4180
  [@bheemreddy181]: https://github.com/bheemreddy181
3578
4181
  [@blaines]: https://github.com/blaines
3579
4182
  [@brafales]: https://github.com/brafales
4183
+ [@bravehager]: https://github.com/bravehager
3580
4184
  [@bzf]: https://github.com/bzf
3581
4185
  [@callumj]: https://github.com/callumj
3582
4186
  [@caramcc]: https://github.com/caramcc