ddtrace 0.41.0 → 0.52.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (572) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +22 -0
  3. data/.gitignore +7 -1
  4. data/CHANGELOG.md +1496 -354
  5. data/CONTRIBUTING.md +3 -7
  6. data/LICENSE-3rdparty.csv +2 -0
  7. data/README.md +1 -0
  8. data/bin/ddtracerb +15 -0
  9. data/ddtrace.gemspec +18 -38
  10. data/docs/DevelopmentGuide.md +55 -2
  11. data/docs/GettingStarted.md +338 -79
  12. data/docs/ProfilingDevelopment.md +107 -0
  13. data/ext/ddtrace_profiling_native_extension/extconf.rb +28 -0
  14. data/ext/ddtrace_profiling_native_extension/profiling.c +17 -0
  15. data/lib/datadog/ci.rb +17 -0
  16. data/lib/datadog/ci/configuration/components.rb +31 -0
  17. data/lib/datadog/ci/configuration/settings.rb +37 -0
  18. data/lib/datadog/ci/context_flush.rb +29 -0
  19. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +31 -0
  20. data/lib/datadog/ci/contrib/cucumber/ext.rb +20 -0
  21. data/lib/datadog/ci/contrib/cucumber/formatter.rb +98 -0
  22. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +27 -0
  23. data/lib/datadog/ci/contrib/cucumber/integration.rb +48 -0
  24. data/lib/datadog/ci/contrib/cucumber/patcher.rb +26 -0
  25. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +31 -0
  26. data/lib/datadog/ci/contrib/rspec/example.rb +74 -0
  27. data/lib/datadog/ci/contrib/rspec/ext.rb +19 -0
  28. data/lib/datadog/ci/contrib/rspec/integration.rb +49 -0
  29. data/lib/datadog/ci/contrib/rspec/patcher.rb +26 -0
  30. data/lib/datadog/ci/ext/app_types.rb +10 -0
  31. data/lib/datadog/ci/ext/environment.rb +443 -0
  32. data/lib/datadog/ci/ext/settings.rb +11 -0
  33. data/lib/datadog/ci/ext/test.rb +35 -0
  34. data/lib/datadog/ci/extensions.rb +18 -0
  35. data/lib/datadog/ci/test.rb +77 -0
  36. data/lib/datadog/contrib.rb +69 -0
  37. data/lib/datadog/core/environment/cgroup.rb +52 -0
  38. data/lib/datadog/core/environment/class_count.rb +20 -0
  39. data/lib/datadog/core/environment/container.rb +91 -0
  40. data/lib/datadog/core/environment/ext.rb +27 -0
  41. data/lib/datadog/core/environment/gc.rb +19 -0
  42. data/lib/datadog/core/environment/identity.rb +51 -0
  43. data/lib/datadog/core/environment/socket.rb +17 -0
  44. data/lib/datadog/core/environment/thread_count.rb +19 -0
  45. data/lib/datadog/core/environment/variable_helpers.rb +42 -0
  46. data/lib/ddtrace.rb +22 -48
  47. data/lib/ddtrace/analytics.rb +3 -0
  48. data/lib/ddtrace/auto_instrument.rb +5 -0
  49. data/lib/ddtrace/auto_instrument_base.rb +7 -0
  50. data/lib/ddtrace/buffer.rb +233 -135
  51. data/lib/ddtrace/chunker.rb +1 -0
  52. data/lib/ddtrace/configuration.rb +132 -24
  53. data/lib/ddtrace/configuration/agent_settings_resolver.rb +231 -0
  54. data/lib/ddtrace/configuration/base.rb +9 -11
  55. data/lib/ddtrace/configuration/components.rb +167 -26
  56. data/lib/ddtrace/configuration/dependency_resolver.rb +1 -0
  57. data/lib/ddtrace/configuration/option.rb +1 -0
  58. data/lib/ddtrace/configuration/option_definition.rb +2 -3
  59. data/lib/ddtrace/configuration/option_definition_set.rb +1 -0
  60. data/lib/ddtrace/configuration/option_set.rb +1 -0
  61. data/lib/ddtrace/configuration/options.rb +7 -9
  62. data/lib/ddtrace/configuration/pin_setup.rb +1 -0
  63. data/lib/ddtrace/configuration/settings.rb +132 -12
  64. data/lib/ddtrace/context.rb +41 -20
  65. data/lib/ddtrace/context_flush.rb +15 -2
  66. data/lib/ddtrace/context_provider.rb +17 -5
  67. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +1 -0
  68. data/lib/ddtrace/contrib/action_cable/event.rb +6 -4
  69. data/lib/ddtrace/contrib/action_cable/events.rb +1 -0
  70. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +1 -0
  71. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +1 -0
  72. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +1 -0
  73. data/lib/ddtrace/contrib/action_cable/ext.rb +1 -0
  74. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +1 -0
  75. data/lib/ddtrace/contrib/action_cable/integration.rb +8 -0
  76. data/lib/ddtrace/contrib/action_cable/patcher.rb +1 -0
  77. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +22 -13
  78. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +2 -1
  79. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +1 -0
  80. data/lib/ddtrace/contrib/action_pack/ext.rb +1 -0
  81. data/lib/ddtrace/contrib/action_pack/integration.rb +8 -0
  82. data/lib/ddtrace/contrib/action_pack/patcher.rb +1 -0
  83. data/lib/ddtrace/contrib/action_pack/utils.rb +2 -1
  84. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +1 -0
  85. data/lib/ddtrace/contrib/action_view/event.rb +4 -7
  86. data/lib/ddtrace/contrib/action_view/events.rb +1 -0
  87. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +2 -0
  88. data/lib/ddtrace/contrib/action_view/events/render_template.rb +2 -0
  89. data/lib/ddtrace/contrib/action_view/ext.rb +1 -0
  90. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +1 -0
  91. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +1 -0
  92. data/lib/ddtrace/contrib/action_view/integration.rb +8 -0
  93. data/lib/ddtrace/contrib/action_view/patcher.rb +5 -4
  94. data/lib/ddtrace/contrib/action_view/utils.rb +2 -1
  95. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +1 -0
  96. data/lib/ddtrace/contrib/active_model_serializers/event.rb +3 -2
  97. data/lib/ddtrace/contrib/active_model_serializers/events.rb +1 -0
  98. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +1 -0
  99. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +1 -0
  100. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +1 -0
  101. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +1 -0
  102. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +1 -0
  103. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +31 -0
  104. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +108 -18
  105. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +1 -0
  106. data/lib/ddtrace/contrib/active_record/event.rb +3 -2
  107. data/lib/ddtrace/contrib/active_record/events.rb +1 -0
  108. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +1 -0
  109. data/lib/ddtrace/contrib/active_record/events/sql.rb +1 -0
  110. data/lib/ddtrace/contrib/active_record/ext.rb +1 -0
  111. data/lib/ddtrace/contrib/active_record/integration.rb +8 -0
  112. data/lib/ddtrace/contrib/active_record/patcher.rb +1 -0
  113. data/lib/ddtrace/contrib/active_record/utils.rb +69 -21
  114. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +105 -3
  115. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +26 -4
  116. data/lib/ddtrace/contrib/active_support/cache/redis.rb +2 -5
  117. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +1 -0
  118. data/lib/ddtrace/contrib/active_support/ext.rb +4 -0
  119. data/lib/ddtrace/contrib/active_support/integration.rb +8 -1
  120. data/lib/ddtrace/contrib/active_support/notifications/event.rb +15 -3
  121. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +3 -1
  122. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +10 -5
  123. data/lib/ddtrace/contrib/active_support/patcher.rb +1 -0
  124. data/lib/ddtrace/contrib/analytics.rb +1 -0
  125. data/lib/ddtrace/contrib/auto_instrument.rb +49 -0
  126. data/lib/ddtrace/contrib/aws/configuration/settings.rb +1 -0
  127. data/lib/ddtrace/contrib/aws/ext.rb +1 -0
  128. data/lib/ddtrace/contrib/aws/instrumentation.rb +32 -1
  129. data/lib/ddtrace/contrib/aws/integration.rb +1 -0
  130. data/lib/ddtrace/contrib/aws/parsed_context.rb +1 -0
  131. data/lib/ddtrace/contrib/aws/patcher.rb +6 -1
  132. data/lib/ddtrace/contrib/aws/services.rb +4 -0
  133. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +1 -0
  134. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -0
  135. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
  136. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +1 -0
  137. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +1 -0
  138. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +3 -1
  139. data/lib/ddtrace/contrib/configurable.rb +65 -38
  140. data/lib/ddtrace/contrib/configuration/resolver.rb +71 -5
  141. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +21 -20
  142. data/lib/ddtrace/contrib/configuration/settings.rb +8 -6
  143. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +1 -0
  144. data/lib/ddtrace/contrib/dalli/ext.rb +1 -0
  145. data/lib/ddtrace/contrib/dalli/instrumentation.rb +2 -1
  146. data/lib/ddtrace/contrib/dalli/integration.rb +1 -0
  147. data/lib/ddtrace/contrib/dalli/patcher.rb +2 -39
  148. data/lib/ddtrace/contrib/dalli/quantize.rb +1 -0
  149. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +3 -0
  150. data/lib/ddtrace/contrib/delayed_job/ext.rb +3 -0
  151. data/lib/ddtrace/contrib/delayed_job/integration.rb +1 -0
  152. data/lib/ddtrace/contrib/delayed_job/patcher.rb +1 -0
  153. data/lib/ddtrace/contrib/delayed_job/plugin.rb +39 -15
  154. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +1 -0
  155. data/lib/ddtrace/contrib/elasticsearch/ext.rb +1 -0
  156. data/lib/ddtrace/contrib/elasticsearch/integration.rb +1 -0
  157. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -0
  158. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +6 -2
  159. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +1 -0
  160. data/lib/ddtrace/contrib/ethon/easy_patch.rb +13 -11
  161. data/lib/ddtrace/contrib/ethon/ext.rb +2 -0
  162. data/lib/ddtrace/contrib/ethon/integration.rb +1 -0
  163. data/lib/ddtrace/contrib/ethon/multi_patch.rb +2 -1
  164. data/lib/ddtrace/contrib/ethon/patcher.rb +4 -2
  165. data/lib/ddtrace/contrib/excon/configuration/settings.rb +1 -0
  166. data/lib/ddtrace/contrib/excon/ext.rb +1 -0
  167. data/lib/ddtrace/contrib/excon/integration.rb +1 -0
  168. data/lib/ddtrace/contrib/excon/middleware.rb +10 -7
  169. data/lib/ddtrace/contrib/excon/patcher.rb +1 -0
  170. data/lib/ddtrace/contrib/extensions.rb +90 -14
  171. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +1 -0
  172. data/lib/ddtrace/contrib/faraday/connection.rb +1 -0
  173. data/lib/ddtrace/contrib/faraday/ext.rb +1 -0
  174. data/lib/ddtrace/contrib/faraday/integration.rb +1 -0
  175. data/lib/ddtrace/contrib/faraday/middleware.rb +2 -3
  176. data/lib/ddtrace/contrib/faraday/patcher.rb +3 -38
  177. data/lib/ddtrace/contrib/faraday/rack_builder.rb +1 -0
  178. data/lib/ddtrace/contrib/grape/configuration/settings.rb +8 -0
  179. data/lib/ddtrace/contrib/grape/endpoint.rb +68 -32
  180. data/lib/ddtrace/contrib/grape/ext.rb +2 -0
  181. data/lib/ddtrace/contrib/grape/instrumentation.rb +4 -3
  182. data/lib/ddtrace/contrib/grape/integration.rb +1 -0
  183. data/lib/ddtrace/contrib/grape/patcher.rb +2 -43
  184. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +1 -0
  185. data/lib/ddtrace/contrib/graphql/ext.rb +1 -0
  186. data/lib/ddtrace/contrib/graphql/integration.rb +1 -0
  187. data/lib/ddtrace/contrib/graphql/patcher.rb +1 -0
  188. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +2 -0
  189. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +13 -8
  190. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +2 -1
  191. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -4
  192. data/lib/ddtrace/contrib/grpc/ext.rb +1 -0
  193. data/lib/ddtrace/contrib/grpc/integration.rb +1 -0
  194. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +1 -0
  195. data/lib/ddtrace/contrib/grpc/patcher.rb +3 -37
  196. data/lib/ddtrace/contrib/http/circuit_breaker.rb +2 -3
  197. data/lib/ddtrace/contrib/http/configuration/settings.rb +1 -0
  198. data/lib/ddtrace/contrib/http/ext.rb +1 -0
  199. data/lib/ddtrace/contrib/http/instrumentation.rb +9 -8
  200. data/lib/ddtrace/contrib/http/integration.rb +1 -0
  201. data/lib/ddtrace/contrib/http/patcher.rb +2 -1
  202. data/lib/ddtrace/contrib/http_annotation_helper.rb +1 -0
  203. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +33 -0
  204. data/lib/ddtrace/contrib/httpclient/ext.rb +18 -0
  205. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +148 -0
  206. data/lib/ddtrace/contrib/httpclient/integration.rb +44 -0
  207. data/lib/ddtrace/contrib/httpclient/patcher.rb +39 -0
  208. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +1 -0
  209. data/lib/ddtrace/contrib/httprb/ext.rb +1 -0
  210. data/lib/ddtrace/contrib/httprb/instrumentation.rb +17 -22
  211. data/lib/ddtrace/contrib/httprb/integration.rb +1 -0
  212. data/lib/ddtrace/contrib/httprb/patcher.rb +8 -4
  213. data/lib/ddtrace/contrib/integration.rb +4 -3
  214. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +1 -0
  215. data/lib/ddtrace/contrib/kafka/consumer_event.rb +1 -0
  216. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +1 -0
  217. data/lib/ddtrace/contrib/kafka/event.rb +4 -3
  218. data/lib/ddtrace/contrib/kafka/events.rb +1 -0
  219. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +1 -0
  220. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +1 -0
  221. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +1 -0
  222. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +1 -0
  223. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +1 -0
  224. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +1 -0
  225. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +1 -0
  226. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +1 -0
  227. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +1 -0
  228. data/lib/ddtrace/contrib/kafka/ext.rb +1 -0
  229. data/lib/ddtrace/contrib/kafka/integration.rb +1 -0
  230. data/lib/ddtrace/contrib/kafka/patcher.rb +1 -0
  231. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +19 -0
  232. data/lib/ddtrace/contrib/lograge/ext.rb +11 -0
  233. data/lib/ddtrace/contrib/lograge/instrumentation.rb +39 -0
  234. data/lib/ddtrace/contrib/lograge/integration.rb +46 -0
  235. data/lib/ddtrace/contrib/lograge/patcher.rb +26 -0
  236. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +1 -0
  237. data/lib/ddtrace/contrib/mongodb/ext.rb +1 -0
  238. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +5 -2
  239. data/lib/ddtrace/contrib/mongodb/integration.rb +1 -0
  240. data/lib/ddtrace/contrib/mongodb/parsers.rb +1 -0
  241. data/lib/ddtrace/contrib/mongodb/patcher.rb +3 -2
  242. data/lib/ddtrace/contrib/mongodb/subscribers.rb +3 -3
  243. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +1 -0
  244. data/lib/ddtrace/contrib/mysql2/ext.rb +1 -0
  245. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +2 -1
  246. data/lib/ddtrace/contrib/mysql2/integration.rb +1 -0
  247. data/lib/ddtrace/contrib/mysql2/patcher.rb +2 -1
  248. data/lib/ddtrace/contrib/patchable.rb +21 -9
  249. data/lib/ddtrace/contrib/patcher.rb +12 -8
  250. data/lib/ddtrace/contrib/presto/configuration/settings.rb +1 -0
  251. data/lib/ddtrace/contrib/presto/ext.rb +1 -0
  252. data/lib/ddtrace/contrib/presto/instrumentation.rb +2 -1
  253. data/lib/ddtrace/contrib/presto/integration.rb +1 -0
  254. data/lib/ddtrace/contrib/presto/patcher.rb +7 -3
  255. data/lib/ddtrace/contrib/qless/configuration/settings.rb +36 -0
  256. data/lib/ddtrace/contrib/qless/ext.rb +21 -0
  257. data/lib/ddtrace/contrib/qless/integration.rb +39 -0
  258. data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
  259. data/lib/ddtrace/contrib/qless/qless_job.rb +74 -0
  260. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +34 -0
  261. data/lib/ddtrace/contrib/que/configuration/settings.rb +2 -0
  262. data/lib/ddtrace/contrib/que/ext.rb +20 -19
  263. data/lib/ddtrace/contrib/que/integration.rb +1 -0
  264. data/lib/ddtrace/contrib/que/patcher.rb +1 -0
  265. data/lib/ddtrace/contrib/que/tracer.rb +4 -2
  266. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +1 -0
  267. data/lib/ddtrace/contrib/racecar/event.rb +4 -2
  268. data/lib/ddtrace/contrib/racecar/events.rb +1 -0
  269. data/lib/ddtrace/contrib/racecar/events/batch.rb +1 -0
  270. data/lib/ddtrace/contrib/racecar/events/consume.rb +1 -0
  271. data/lib/ddtrace/contrib/racecar/events/message.rb +1 -0
  272. data/lib/ddtrace/contrib/racecar/ext.rb +1 -0
  273. data/lib/ddtrace/contrib/racecar/integration.rb +1 -0
  274. data/lib/ddtrace/contrib/racecar/patcher.rb +1 -0
  275. data/lib/ddtrace/contrib/rack/configuration/settings.rb +4 -3
  276. data/lib/ddtrace/contrib/rack/ext.rb +1 -0
  277. data/lib/ddtrace/contrib/rack/integration.rb +8 -0
  278. data/lib/ddtrace/contrib/rack/middlewares.rb +8 -12
  279. data/lib/ddtrace/contrib/rack/patcher.rb +2 -3
  280. data/lib/ddtrace/contrib/rack/request_queue.rb +7 -1
  281. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +11 -0
  282. data/lib/ddtrace/contrib/rails/configuration/settings.rb +1 -0
  283. data/lib/ddtrace/contrib/rails/ext.rb +1 -0
  284. data/lib/ddtrace/contrib/rails/framework.rb +26 -1
  285. data/lib/ddtrace/contrib/rails/integration.rb +1 -0
  286. data/lib/ddtrace/contrib/rails/log_injection.rb +1 -40
  287. data/lib/ddtrace/contrib/rails/middlewares.rb +1 -0
  288. data/lib/ddtrace/contrib/rails/patcher.rb +29 -8
  289. data/lib/ddtrace/contrib/rails/railtie.rb +1 -0
  290. data/lib/ddtrace/contrib/rails/utils.rb +5 -0
  291. data/lib/ddtrace/contrib/rake/configuration/settings.rb +1 -0
  292. data/lib/ddtrace/contrib/rake/ext.rb +1 -0
  293. data/lib/ddtrace/contrib/rake/instrumentation.rb +6 -3
  294. data/lib/ddtrace/contrib/rake/integration.rb +2 -1
  295. data/lib/ddtrace/contrib/rake/patcher.rb +2 -1
  296. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +15 -5
  297. data/lib/ddtrace/contrib/redis/configuration/settings.rb +6 -0
  298. data/lib/ddtrace/contrib/redis/ext.rb +2 -0
  299. data/lib/ddtrace/contrib/redis/integration.rb +1 -0
  300. data/lib/ddtrace/contrib/redis/patcher.rb +21 -3
  301. data/lib/ddtrace/contrib/redis/quantize.rb +29 -0
  302. data/lib/ddtrace/contrib/redis/tags.rb +6 -1
  303. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  304. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +7 -7
  305. data/lib/ddtrace/contrib/registerable.rb +5 -4
  306. data/lib/ddtrace/contrib/registry.rb +3 -2
  307. data/lib/ddtrace/contrib/resque/configuration/settings.rb +19 -1
  308. data/lib/ddtrace/contrib/resque/ext.rb +1 -0
  309. data/lib/ddtrace/contrib/resque/integration.rb +3 -2
  310. data/lib/ddtrace/contrib/resque/patcher.rb +5 -4
  311. data/lib/ddtrace/contrib/resque/resque_job.rb +26 -2
  312. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +1 -0
  313. data/lib/ddtrace/contrib/rest_client/ext.rb +1 -0
  314. data/lib/ddtrace/contrib/rest_client/integration.rb +1 -0
  315. data/lib/ddtrace/contrib/rest_client/patcher.rb +3 -1
  316. data/lib/ddtrace/contrib/rest_client/request_patch.rb +3 -4
  317. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +19 -0
  318. data/lib/ddtrace/contrib/semantic_logger/ext.rb +11 -0
  319. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +43 -0
  320. data/lib/ddtrace/contrib/semantic_logger/integration.rb +48 -0
  321. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +26 -0
  322. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +1 -0
  323. data/lib/ddtrace/contrib/sequel/database.rb +2 -1
  324. data/lib/ddtrace/contrib/sequel/dataset.rb +2 -1
  325. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  326. data/lib/ddtrace/contrib/sequel/integration.rb +1 -0
  327. data/lib/ddtrace/contrib/sequel/patcher.rb +3 -2
  328. data/lib/ddtrace/contrib/sequel/utils.rb +6 -6
  329. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +3 -0
  330. data/lib/ddtrace/contrib/shoryuken/ext.rb +1 -0
  331. data/lib/ddtrace/contrib/shoryuken/integration.rb +1 -0
  332. data/lib/ddtrace/contrib/shoryuken/patcher.rb +1 -0
  333. data/lib/ddtrace/contrib/shoryuken/tracer.rb +9 -2
  334. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +1 -0
  335. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +2 -0
  336. data/lib/ddtrace/contrib/sidekiq/ext.rb +1 -0
  337. data/lib/ddtrace/contrib/sidekiq/integration.rb +1 -0
  338. data/lib/ddtrace/contrib/sidekiq/patcher.rb +1 -0
  339. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +6 -7
  340. data/lib/ddtrace/contrib/sidekiq/tracing.rb +1 -1
  341. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +1 -0
  342. data/lib/ddtrace/contrib/sinatra/env.rb +2 -3
  343. data/lib/ddtrace/contrib/sinatra/ext.rb +1 -0
  344. data/lib/ddtrace/contrib/sinatra/headers.rb +2 -3
  345. data/lib/ddtrace/contrib/sinatra/integration.rb +1 -0
  346. data/lib/ddtrace/contrib/sinatra/patcher.rb +3 -1
  347. data/lib/ddtrace/contrib/sinatra/tracer.rb +14 -6
  348. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +13 -6
  349. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +2 -0
  350. data/lib/ddtrace/contrib/sneakers/ext.rb +12 -11
  351. data/lib/ddtrace/contrib/sneakers/integration.rb +1 -0
  352. data/lib/ddtrace/contrib/sneakers/patcher.rb +1 -0
  353. data/lib/ddtrace/contrib/sneakers/tracer.rb +17 -21
  354. data/lib/ddtrace/contrib/status_code_matcher.rb +70 -0
  355. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +1 -0
  356. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +5 -6
  357. data/lib/ddtrace/contrib/sucker_punch/ext.rb +1 -0
  358. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +5 -0
  359. data/lib/ddtrace/contrib/sucker_punch/integration.rb +1 -0
  360. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +2 -0
  361. data/lib/ddtrace/correlation.rb +3 -1
  362. data/lib/ddtrace/diagnostics/environment_logger.rb +9 -7
  363. data/lib/ddtrace/diagnostics/health.rb +1 -0
  364. data/lib/ddtrace/distributed_tracing/headers/b3.rb +1 -0
  365. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +1 -0
  366. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +1 -0
  367. data/lib/ddtrace/distributed_tracing/headers/headers.rb +2 -0
  368. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +2 -3
  369. data/lib/ddtrace/encoding.rb +3 -0
  370. data/lib/ddtrace/error.rb +78 -8
  371. data/lib/ddtrace/event.rb +1 -0
  372. data/lib/ddtrace/ext/analytics.rb +1 -0
  373. data/lib/ddtrace/ext/app_types.rb +1 -0
  374. data/lib/ddtrace/ext/correlation.rb +1 -0
  375. data/lib/ddtrace/ext/diagnostics.rb +1 -0
  376. data/lib/ddtrace/ext/distributed.rb +9 -2
  377. data/lib/ddtrace/ext/environment.rb +8 -0
  378. data/lib/ddtrace/ext/errors.rb +1 -0
  379. data/lib/ddtrace/ext/forced_tracing.rb +1 -0
  380. data/lib/ddtrace/ext/git.rb +20 -0
  381. data/lib/ddtrace/ext/http.rb +2 -1
  382. data/lib/ddtrace/ext/integration.rb +1 -0
  383. data/lib/ddtrace/ext/manual_tracing.rb +1 -0
  384. data/lib/ddtrace/ext/metrics.rb +1 -0
  385. data/lib/ddtrace/ext/net.rb +1 -0
  386. data/lib/ddtrace/ext/priority.rb +1 -0
  387. data/lib/ddtrace/ext/profiling.rb +56 -0
  388. data/lib/ddtrace/ext/runtime.rb +2 -7
  389. data/lib/ddtrace/ext/sampling.rb +1 -0
  390. data/lib/ddtrace/ext/sql.rb +1 -0
  391. data/lib/ddtrace/ext/test.rb +9 -0
  392. data/lib/ddtrace/ext/transport.rb +3 -0
  393. data/lib/ddtrace/forced_tracing.rb +3 -0
  394. data/lib/ddtrace/logger.rb +2 -1
  395. data/lib/ddtrace/metrics.rb +84 -24
  396. data/lib/ddtrace/opentelemetry/extensions.rb +2 -1
  397. data/lib/ddtrace/opentelemetry/span.rb +1 -0
  398. data/lib/ddtrace/opentracer.rb +21 -39
  399. data/lib/ddtrace/opentracer/binary_propagator.rb +1 -0
  400. data/lib/ddtrace/opentracer/carrier.rb +1 -0
  401. data/lib/ddtrace/opentracer/distributed_headers.rb +4 -0
  402. data/lib/ddtrace/opentracer/global_tracer.rb +1 -0
  403. data/lib/ddtrace/opentracer/propagator.rb +1 -0
  404. data/lib/ddtrace/opentracer/rack_propagator.rb +1 -0
  405. data/lib/ddtrace/opentracer/scope.rb +1 -0
  406. data/lib/ddtrace/opentracer/scope_manager.rb +1 -0
  407. data/lib/ddtrace/opentracer/span.rb +3 -6
  408. data/lib/ddtrace/opentracer/span_context.rb +1 -0
  409. data/lib/ddtrace/opentracer/span_context_factory.rb +1 -0
  410. data/lib/ddtrace/opentracer/text_map_propagator.rb +1 -0
  411. data/lib/ddtrace/opentracer/thread_local_scope.rb +2 -0
  412. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +1 -0
  413. data/lib/ddtrace/opentracer/tracer.rb +1 -0
  414. data/lib/ddtrace/patcher.rb +28 -6
  415. data/lib/ddtrace/pin.rb +9 -61
  416. data/lib/ddtrace/pipeline.rb +1 -0
  417. data/lib/ddtrace/pipeline/span_filter.rb +2 -1
  418. data/lib/ddtrace/pipeline/span_processor.rb +1 -0
  419. data/lib/ddtrace/profiling.rb +151 -0
  420. data/lib/ddtrace/profiling/backtrace_location.rb +33 -0
  421. data/lib/ddtrace/profiling/buffer.rb +42 -0
  422. data/lib/ddtrace/profiling/collectors/stack.rb +257 -0
  423. data/lib/ddtrace/profiling/encoding/profile.rb +38 -0
  424. data/lib/ddtrace/profiling/event.rb +14 -0
  425. data/lib/ddtrace/profiling/events/stack.rb +81 -0
  426. data/lib/ddtrace/profiling/exporter.rb +24 -0
  427. data/lib/ddtrace/profiling/ext/cpu.rb +67 -0
  428. data/lib/ddtrace/profiling/ext/cthread.rb +156 -0
  429. data/lib/ddtrace/profiling/ext/forking.rb +98 -0
  430. data/lib/ddtrace/profiling/flush.rb +44 -0
  431. data/lib/ddtrace/profiling/native_extension.rb +18 -0
  432. data/lib/ddtrace/profiling/pprof/builder.rb +120 -0
  433. data/lib/ddtrace/profiling/pprof/converter.rb +90 -0
  434. data/lib/ddtrace/profiling/pprof/message_set.rb +15 -0
  435. data/lib/ddtrace/profiling/pprof/payload.rb +19 -0
  436. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  437. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +82 -0
  438. data/lib/ddtrace/profiling/pprof/stack_sample.rb +117 -0
  439. data/lib/ddtrace/profiling/pprof/string_table.rb +11 -0
  440. data/lib/ddtrace/profiling/pprof/template.rb +119 -0
  441. data/lib/ddtrace/profiling/preload.rb +4 -0
  442. data/lib/ddtrace/profiling/profiler.rb +31 -0
  443. data/lib/ddtrace/profiling/recorder.rb +96 -0
  444. data/lib/ddtrace/profiling/scheduler.rb +134 -0
  445. data/lib/ddtrace/profiling/tasks/setup.rb +82 -0
  446. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +41 -0
  447. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +46 -0
  448. data/lib/ddtrace/profiling/transport/client.rb +15 -0
  449. data/lib/ddtrace/profiling/transport/http.rb +120 -0
  450. data/lib/ddtrace/profiling/transport/http/api.rb +44 -0
  451. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +101 -0
  452. data/lib/ddtrace/profiling/transport/http/api/instance.rb +37 -0
  453. data/lib/ddtrace/profiling/transport/http/api/spec.rb +41 -0
  454. data/lib/ddtrace/profiling/transport/http/builder.rb +29 -0
  455. data/lib/ddtrace/profiling/transport/http/client.rb +34 -0
  456. data/lib/ddtrace/profiling/transport/http/response.rb +22 -0
  457. data/lib/ddtrace/profiling/transport/io.rb +31 -0
  458. data/lib/ddtrace/profiling/transport/io/client.rb +28 -0
  459. data/lib/ddtrace/profiling/transport/io/response.rb +17 -0
  460. data/lib/ddtrace/profiling/transport/parcel.rb +18 -0
  461. data/lib/ddtrace/profiling/transport/request.rb +16 -0
  462. data/lib/ddtrace/profiling/transport/response.rb +9 -0
  463. data/lib/ddtrace/propagation/grpc_propagator.rb +18 -4
  464. data/lib/ddtrace/propagation/http_propagator.rb +18 -2
  465. data/lib/ddtrace/quantization/hash.rb +1 -0
  466. data/lib/ddtrace/quantization/http.rb +4 -0
  467. data/lib/ddtrace/runtime/metrics.rb +21 -14
  468. data/lib/ddtrace/sampler.rb +2 -1
  469. data/lib/ddtrace/sampling.rb +1 -0
  470. data/lib/ddtrace/sampling/matcher.rb +1 -0
  471. data/lib/ddtrace/sampling/rate_limiter.rb +66 -16
  472. data/lib/ddtrace/sampling/rule.rb +2 -1
  473. data/lib/ddtrace/sampling/rule_sampler.rb +6 -10
  474. data/lib/ddtrace/span.rb +44 -19
  475. data/lib/ddtrace/sync_writer.rb +17 -15
  476. data/lib/ddtrace/tasks/exec.rb +47 -0
  477. data/lib/ddtrace/tasks/help.rb +15 -0
  478. data/lib/ddtrace/tracer.rb +68 -57
  479. data/lib/ddtrace/transport/http.rb +51 -38
  480. data/lib/ddtrace/transport/http/adapters/net.rb +28 -8
  481. data/lib/ddtrace/transport/http/adapters/registry.rb +2 -0
  482. data/lib/ddtrace/transport/http/adapters/test.rb +1 -0
  483. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +3 -4
  484. data/lib/ddtrace/transport/http/api.rb +1 -0
  485. data/lib/ddtrace/transport/http/api/endpoint.rb +1 -0
  486. data/lib/ddtrace/transport/http/api/fallbacks.rb +1 -0
  487. data/lib/ddtrace/transport/http/api/instance.rb +1 -0
  488. data/lib/ddtrace/transport/http/api/map.rb +1 -0
  489. data/lib/ddtrace/transport/http/api/spec.rb +1 -0
  490. data/lib/ddtrace/transport/http/builder.rb +8 -1
  491. data/lib/ddtrace/transport/http/client.rb +3 -1
  492. data/lib/ddtrace/transport/http/env.rb +9 -0
  493. data/lib/ddtrace/transport/http/response.rb +1 -0
  494. data/lib/ddtrace/transport/http/statistics.rb +3 -2
  495. data/lib/ddtrace/transport/http/traces.rb +6 -6
  496. data/lib/ddtrace/transport/io.rb +2 -1
  497. data/lib/ddtrace/transport/io/client.rb +17 -9
  498. data/lib/ddtrace/transport/io/response.rb +2 -3
  499. data/lib/ddtrace/transport/io/traces.rb +10 -1
  500. data/lib/ddtrace/transport/parcel.rb +7 -0
  501. data/lib/ddtrace/transport/request.rb +1 -0
  502. data/lib/ddtrace/transport/response.rb +1 -0
  503. data/lib/ddtrace/transport/statistics.rb +1 -0
  504. data/lib/ddtrace/transport/traces.rb +21 -3
  505. data/lib/ddtrace/utils.rb +23 -12
  506. data/lib/ddtrace/utils/compression.rb +28 -0
  507. data/lib/ddtrace/utils/database.rb +1 -0
  508. data/lib/ddtrace/utils/forking.rb +53 -0
  509. data/lib/ddtrace/utils/object_set.rb +40 -0
  510. data/lib/ddtrace/utils/only_once.rb +41 -0
  511. data/lib/ddtrace/utils/sequence.rb +18 -0
  512. data/lib/ddtrace/utils/string_table.rb +46 -0
  513. data/lib/ddtrace/utils/time.rb +34 -2
  514. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  515. data/lib/ddtrace/vendor/active_record/connection_specification.rb +1 -0
  516. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  517. data/lib/ddtrace/vendor/multipart-post/multipart.rb +13 -0
  518. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +9 -0
  519. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +117 -0
  520. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +58 -0
  521. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +136 -0
  522. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +10 -0
  523. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +33 -0
  524. data/lib/ddtrace/version.rb +15 -2
  525. data/lib/ddtrace/worker.rb +1 -0
  526. data/lib/ddtrace/workers.rb +8 -2
  527. data/lib/ddtrace/workers/async.rb +15 -5
  528. data/lib/ddtrace/workers/loop.rb +32 -5
  529. data/lib/ddtrace/workers/polling.rb +13 -5
  530. data/lib/ddtrace/workers/queue.rb +3 -1
  531. data/lib/ddtrace/workers/runtime_metrics.rb +22 -4
  532. data/lib/ddtrace/workers/trace_writer.rb +14 -16
  533. data/lib/ddtrace/writer.rb +33 -8
  534. metadata +149 -388
  535. data/.circleci/config.yml +0 -548
  536. data/.circleci/images/primary/Dockerfile-2.0.0 +0 -73
  537. data/.circleci/images/primary/Dockerfile-2.1.10 +0 -73
  538. data/.circleci/images/primary/Dockerfile-2.2.10 +0 -73
  539. data/.circleci/images/primary/Dockerfile-2.3.8 +0 -75
  540. data/.circleci/images/primary/Dockerfile-2.4.6 +0 -73
  541. data/.circleci/images/primary/Dockerfile-2.5.6 +0 -73
  542. data/.circleci/images/primary/Dockerfile-2.6.4 +0 -73
  543. data/.circleci/images/primary/Dockerfile-2.7.0 +0 -73
  544. data/.circleci/images/primary/Dockerfile-jruby-9.2 +0 -77
  545. data/.dockerignore +0 -1
  546. data/.env +0 -26
  547. data/.github/CODEOWNERS +0 -1
  548. data/.gitlab-ci.yml +0 -27
  549. data/.rspec +0 -1
  550. data/.rubocop.yml +0 -85
  551. data/.simplecov +0 -38
  552. data/Appraisals +0 -1071
  553. data/Gemfile +0 -7
  554. data/Rakefile +0 -768
  555. data/benchmarks/postgres_database.yml +0 -9
  556. data/benchmarks/sidekiq_test.rb +0 -154
  557. data/docker-compose.yml +0 -370
  558. data/lib/ddtrace/augmentation.rb +0 -13
  559. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  560. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  561. data/lib/ddtrace/augmentation/shim.rb +0 -102
  562. data/lib/ddtrace/environment.rb +0 -41
  563. data/lib/ddtrace/monkey.rb +0 -58
  564. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  565. data/lib/ddtrace/runtime/class_count.rb +0 -17
  566. data/lib/ddtrace/runtime/container.rb +0 -73
  567. data/lib/ddtrace/runtime/gc.rb +0 -16
  568. data/lib/ddtrace/runtime/identity.rb +0 -41
  569. data/lib/ddtrace/runtime/object_space.rb +0 -19
  570. data/lib/ddtrace/runtime/socket.rb +0 -14
  571. data/lib/ddtrace/runtime/thread_count.rb +0 -16
  572. data/tasks/release_gem.rake +0 -28
@@ -1,17 +1,22 @@
1
+ # typed: true
1
2
  require 'json'
2
3
 
3
4
  require 'ddtrace/ext/net'
4
- require 'ddtrace/runtime/socket'
5
+ require 'datadog/core/environment/socket'
5
6
 
7
+ require 'ddtrace/configuration/agent_settings_resolver'
6
8
  require 'ddtrace/transport/http'
7
9
  require 'ddtrace/transport/io'
8
10
  require 'ddtrace/encoding'
9
11
  require 'ddtrace/workers'
10
12
  require 'ddtrace/diagnostics/environment_logger'
13
+ require 'ddtrace/utils/only_once'
11
14
 
12
15
  module Datadog
13
16
  # Processor that sends traces and metadata to the agent
14
17
  class Writer
18
+ DEPRECATION_WARN_ONLY_ONCE = Datadog::Utils::OnlyOnce.new
19
+
15
20
  attr_reader \
16
21
  :priority_sampler,
17
22
  :transport,
@@ -23,6 +28,8 @@ module Datadog
23
28
  @flush_interval = options.fetch(:flush_interval, Workers::AsyncTransport::DEFAULT_FLUSH_INTERVAL)
24
29
  transport_options = options.fetch(:transport_options, {})
25
30
 
31
+ transport_options[:agent_settings] = options[:agent_settings] if options.key?(:agent_settings)
32
+
26
33
  # priority sampling
27
34
  if options[:priority_sampler]
28
35
  @priority_sampler = options[:priority_sampler]
@@ -31,7 +38,7 @@ module Datadog
31
38
 
32
39
  # transport and buffers
33
40
  @transport = options.fetch(:transport) do
34
- Transport::HTTP.default(transport_options)
41
+ Transport::HTTP.default(**transport_options)
35
42
  end
36
43
 
37
44
  # handles the thread creation after an eventual fork
@@ -42,13 +49,23 @@ module Datadog
42
49
 
43
50
  # one worker for traces
44
51
  @worker = nil
52
+
53
+ # Once stopped, this writer instance cannot be restarted.
54
+ # This allow for graceful shutdown, while preventing
55
+ # the host application from inadvertently start new
56
+ # threads during shutdown.
57
+ @stopped = false
45
58
  end
46
59
 
47
60
  def start
48
61
  @mutex_after_fork.synchronize do
62
+ return false if @stopped
63
+
49
64
  pid = Process.pid
50
65
  return if @worker && pid == @pid
66
+
51
67
  @pid = pid
68
+
52
69
  start_worker
53
70
  true
54
71
  end
@@ -67,14 +84,24 @@ module Datadog
67
84
  @worker.start
68
85
  end
69
86
 
87
+ # Gracefully shuts down this writer.
88
+ #
89
+ # Once stopped methods calls won't fail, but
90
+ # no internal work will be performed.
91
+ #
92
+ # It is not possible to restart a stopped writer instance.
70
93
  def stop
71
94
  @mutex_after_fork.synchronize { stop_worker }
72
95
  end
73
96
 
74
97
  def stop_worker
98
+ @stopped = true
99
+
75
100
  return if @worker.nil?
101
+
76
102
  @worker.stop
77
103
  @worker = nil
104
+
78
105
  true
79
106
  end
80
107
 
@@ -107,7 +134,7 @@ module Datadog
107
134
  # enqueue the trace for submission to the API
108
135
  def write(trace, services = nil)
109
136
  unless services.nil?
110
- Datadog::Patcher.do_once('Writer#write') do
137
+ DEPRECATION_WARN_ONLY_ONCE.run do
111
138
  Datadog.logger.warn(%(
112
139
  write: Writing services has been deprecated and no longer need to be provided.
113
140
  write(traces, services) can be updated to write(traces)
@@ -136,7 +163,7 @@ module Datadog
136
163
 
137
164
  if worker_local
138
165
  worker_local.enqueue_trace(trace)
139
- else
166
+ elsif !@stopped
140
167
  Datadog.logger.debug('Writer either failed to start or was stopped before #write could complete')
141
168
  end
142
169
  end
@@ -155,10 +182,8 @@ module Datadog
155
182
  traces.each do |trace|
156
183
  next if trace.first.nil?
157
184
 
158
- hostname = Datadog::Runtime::Socket.hostname
159
- unless hostname.nil? || hostname.empty?
160
- trace.first.set_tag(Ext::NET::TAG_HOSTNAME, hostname)
161
- end
185
+ hostname = Datadog::Core::Environment::Socket.hostname
186
+ trace.first.set_tag(Ext::NET::TAG_HOSTNAME, hostname) unless hostname.nil? || hostname.empty?
162
187
  end
163
188
  end
164
189
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.41.0
4
+ version: 0.52.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
8
- autorequire:
9
- bindir: exe
8
+ autorequire:
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-30 00:00:00.000000000 Z
11
+ date: 2021-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -25,409 +25,88 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dogstatsd-ruby
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 3.3.0
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: 3.3.0
41
- - !ruby/object:Gem::Dependency
42
- name: opentracing
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: 0.4.1
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 0.4.1
55
- - !ruby/object:Gem::Dependency
56
- name: concurrent-ruby
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '10.5'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '10.5'
83
- - !ruby/object:Gem::Dependency
84
- name: rubocop
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '='
88
- - !ruby/object:Gem::Version
89
- version: 0.49.1
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '='
95
- - !ruby/object:Gem::Version
96
- version: 0.49.1
97
- - !ruby/object:Gem::Dependency
98
- name: rspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '3.0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '3.0'
111
- - !ruby/object:Gem::Dependency
112
- name: rspec-collection_matchers
28
+ name: ffi
113
29
  requirement: !ruby/object:Gem::Requirement
114
30
  requirements:
115
31
  - - "~>"
116
32
  - !ruby/object:Gem::Version
117
- version: '1.1'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '1.1'
125
- - !ruby/object:Gem::Dependency
126
- name: minitest
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - '='
130
- - !ruby/object:Gem::Version
131
- version: 5.10.1
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - '='
137
- - !ruby/object:Gem::Version
138
- version: 5.10.1
139
- - !ruby/object:Gem::Dependency
140
- name: minitest-around
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - '='
144
- - !ruby/object:Gem::Version
145
- version: 0.5.0
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - '='
151
- - !ruby/object:Gem::Version
152
- version: 0.5.0
153
- - !ruby/object:Gem::Dependency
154
- name: minitest-stub_any_instance
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - '='
158
- - !ruby/object:Gem::Version
159
- version: 1.0.2
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - '='
165
- - !ruby/object:Gem::Version
166
- version: 1.0.2
167
- - !ruby/object:Gem::Dependency
168
- name: appraisal
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '2.2'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: '2.2'
181
- - !ruby/object:Gem::Dependency
182
- name: yard
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: '0.9'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: '0.9'
195
- - !ruby/object:Gem::Dependency
196
- name: webmock
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: '2.0'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '2.0'
209
- - !ruby/object:Gem::Dependency
210
- name: builder
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: sqlite3
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - "~>"
228
- - !ruby/object:Gem::Version
229
- version: 1.3.6
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - "~>"
235
- - !ruby/object:Gem::Version
236
- version: 1.3.6
237
- - !ruby/object:Gem::Dependency
238
- name: climate_control
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: 0.2.0
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - "~>"
249
- - !ruby/object:Gem::Version
250
- version: 0.2.0
251
- - !ruby/object:Gem::Dependency
252
- name: addressable
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: 2.4.0
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: 2.4.0
265
- - !ruby/object:Gem::Dependency
266
- name: benchmark-ips
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - "~>"
270
- - !ruby/object:Gem::Version
271
- version: '2.8'
272
- type: :development
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - "~>"
277
- - !ruby/object:Gem::Version
278
- version: '2.8'
279
- - !ruby/object:Gem::Dependency
280
- name: benchmark-memory
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - "~>"
284
- - !ruby/object:Gem::Version
285
- version: '0.1'
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - "~>"
291
- - !ruby/object:Gem::Version
292
- version: '0.1'
293
- - !ruby/object:Gem::Dependency
294
- name: memory_profiler
295
- requirement: !ruby/object:Gem::Requirement
296
- requirements:
297
- - - "~>"
298
- - !ruby/object:Gem::Version
299
- version: '0.9'
300
- type: :development
301
- prerelease: false
302
- version_requirements: !ruby/object:Gem::Requirement
303
- requirements:
304
- - - "~>"
305
- - !ruby/object:Gem::Version
306
- version: '0.9'
307
- - !ruby/object:Gem::Dependency
308
- name: redcarpet
309
- requirement: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - "~>"
312
- - !ruby/object:Gem::Version
313
- version: '3.4'
314
- type: :development
315
- prerelease: false
316
- version_requirements: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - "~>"
319
- - !ruby/object:Gem::Version
320
- version: '3.4'
321
- - !ruby/object:Gem::Dependency
322
- name: pry
323
- requirement: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - "~>"
326
- - !ruby/object:Gem::Version
327
- version: 0.10.4
328
- type: :development
329
- prerelease: false
330
- version_requirements: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - "~>"
333
- - !ruby/object:Gem::Version
334
- version: 0.10.4
335
- - !ruby/object:Gem::Dependency
336
- name: pry-stack_explorer
337
- requirement: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - "~>"
340
- - !ruby/object:Gem::Version
341
- version: 0.4.9.2
342
- type: :development
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - "~>"
347
- - !ruby/object:Gem::Version
348
- version: 0.4.9.2
349
- - !ruby/object:Gem::Dependency
350
- name: simplecov
351
- requirement: !ruby/object:Gem::Requirement
352
- requirements:
353
- - - "~>"
354
- - !ruby/object:Gem::Version
355
- version: '0.17'
356
- type: :development
357
- prerelease: false
358
- version_requirements: !ruby/object:Gem::Requirement
359
- requirements:
360
- - - "~>"
361
- - !ruby/object:Gem::Version
362
- version: '0.17'
363
- - !ruby/object:Gem::Dependency
364
- name: warning
365
- requirement: !ruby/object:Gem::Requirement
366
- requirements:
367
- - - "~>"
368
- - !ruby/object:Gem::Version
369
- version: '1'
370
- type: :development
33
+ version: '1.0'
34
+ type: :runtime
371
35
  prerelease: false
372
36
  version_requirements: !ruby/object:Gem::Requirement
373
37
  requirements:
374
38
  - - "~>"
375
39
  - !ruby/object:Gem::Version
376
- version: '1'
40
+ version: '1.0'
377
41
  description: |
378
42
  ddtrace is Datadog’s tracing client for Ruby. It is used to trace requests
379
43
  as they flow across web servers, databases and microservices so that developers
380
44
  have great visiblity into bottlenecks and troublesome requests.
381
45
  email:
382
46
  - dev@datadoghq.com
383
- executables: []
384
- extensions: []
47
+ executables:
48
+ - ddtracerb
49
+ extensions:
50
+ - ext/ddtrace_profiling_native_extension/extconf.rb
385
51
  extra_rdoc_files: []
386
52
  files:
387
- - ".circleci/config.yml"
388
- - ".circleci/images/primary/Dockerfile-2.0.0"
389
- - ".circleci/images/primary/Dockerfile-2.1.10"
390
- - ".circleci/images/primary/Dockerfile-2.2.10"
391
- - ".circleci/images/primary/Dockerfile-2.3.8"
392
- - ".circleci/images/primary/Dockerfile-2.4.6"
393
- - ".circleci/images/primary/Dockerfile-2.5.6"
394
- - ".circleci/images/primary/Dockerfile-2.6.4"
395
- - ".circleci/images/primary/Dockerfile-2.7.0"
396
- - ".circleci/images/primary/Dockerfile-jruby-9.2"
397
- - ".dockerignore"
398
- - ".env"
399
- - ".github/CODEOWNERS"
53
+ - ".editorconfig"
400
54
  - ".gitignore"
401
- - ".gitlab-ci.yml"
402
- - ".rspec"
403
- - ".rubocop.yml"
404
- - ".simplecov"
405
55
  - ".yardopts"
406
- - Appraisals
407
56
  - CHANGELOG.md
408
57
  - CONTRIBUTING.md
409
- - Gemfile
410
58
  - LICENSE
59
+ - LICENSE-3rdparty.csv
411
60
  - LICENSE.Apache
412
61
  - LICENSE.BSD3
413
62
  - NOTICE
414
63
  - README.md
415
- - Rakefile
416
- - benchmarks/postgres_database.yml
417
- - benchmarks/sidekiq_test.rb
64
+ - bin/ddtracerb
418
65
  - ddtrace.gemspec
419
- - docker-compose.yml
420
66
  - docs/DevelopmentGuide.md
421
67
  - docs/GettingStarted.md
68
+ - docs/ProfilingDevelopment.md
69
+ - ext/ddtrace_profiling_native_extension/extconf.rb
70
+ - ext/ddtrace_profiling_native_extension/profiling.c
71
+ - lib/datadog/ci.rb
72
+ - lib/datadog/ci/configuration/components.rb
73
+ - lib/datadog/ci/configuration/settings.rb
74
+ - lib/datadog/ci/context_flush.rb
75
+ - lib/datadog/ci/contrib/cucumber/configuration/settings.rb
76
+ - lib/datadog/ci/contrib/cucumber/ext.rb
77
+ - lib/datadog/ci/contrib/cucumber/formatter.rb
78
+ - lib/datadog/ci/contrib/cucumber/instrumentation.rb
79
+ - lib/datadog/ci/contrib/cucumber/integration.rb
80
+ - lib/datadog/ci/contrib/cucumber/patcher.rb
81
+ - lib/datadog/ci/contrib/rspec/configuration/settings.rb
82
+ - lib/datadog/ci/contrib/rspec/example.rb
83
+ - lib/datadog/ci/contrib/rspec/ext.rb
84
+ - lib/datadog/ci/contrib/rspec/integration.rb
85
+ - lib/datadog/ci/contrib/rspec/patcher.rb
86
+ - lib/datadog/ci/ext/app_types.rb
87
+ - lib/datadog/ci/ext/environment.rb
88
+ - lib/datadog/ci/ext/settings.rb
89
+ - lib/datadog/ci/ext/test.rb
90
+ - lib/datadog/ci/extensions.rb
91
+ - lib/datadog/ci/test.rb
92
+ - lib/datadog/contrib.rb
93
+ - lib/datadog/core/environment/cgroup.rb
94
+ - lib/datadog/core/environment/class_count.rb
95
+ - lib/datadog/core/environment/container.rb
96
+ - lib/datadog/core/environment/ext.rb
97
+ - lib/datadog/core/environment/gc.rb
98
+ - lib/datadog/core/environment/identity.rb
99
+ - lib/datadog/core/environment/socket.rb
100
+ - lib/datadog/core/environment/thread_count.rb
101
+ - lib/datadog/core/environment/variable_helpers.rb
422
102
  - lib/ddtrace.rb
423
103
  - lib/ddtrace/analytics.rb
424
- - lib/ddtrace/augmentation.rb
425
- - lib/ddtrace/augmentation/method_wrapper.rb
426
- - lib/ddtrace/augmentation/method_wrapping.rb
427
- - lib/ddtrace/augmentation/shim.rb
104
+ - lib/ddtrace/auto_instrument.rb
105
+ - lib/ddtrace/auto_instrument_base.rb
428
106
  - lib/ddtrace/buffer.rb
429
107
  - lib/ddtrace/chunker.rb
430
108
  - lib/ddtrace/configuration.rb
109
+ - lib/ddtrace/configuration/agent_settings_resolver.rb
431
110
  - lib/ddtrace/configuration/base.rb
432
111
  - lib/ddtrace/configuration/components.rb
433
112
  - lib/ddtrace/configuration/dependency_resolver.rb
@@ -477,6 +156,7 @@ files:
477
156
  - lib/ddtrace/contrib/active_model_serializers/ext.rb
478
157
  - lib/ddtrace/contrib/active_model_serializers/integration.rb
479
158
  - lib/ddtrace/contrib/active_model_serializers/patcher.rb
159
+ - lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb
480
160
  - lib/ddtrace/contrib/active_record/configuration/resolver.rb
481
161
  - lib/ddtrace/contrib/active_record/configuration/settings.rb
482
162
  - lib/ddtrace/contrib/active_record/event.rb
@@ -498,6 +178,7 @@ files:
498
178
  - lib/ddtrace/contrib/active_support/notifications/subscription.rb
499
179
  - lib/ddtrace/contrib/active_support/patcher.rb
500
180
  - lib/ddtrace/contrib/analytics.rb
181
+ - lib/ddtrace/contrib/auto_instrument.rb
501
182
  - lib/ddtrace/contrib/aws/configuration/settings.rb
502
183
  - lib/ddtrace/contrib/aws/ext.rb
503
184
  - lib/ddtrace/contrib/aws/instrumentation.rb
@@ -575,6 +256,11 @@ files:
575
256
  - lib/ddtrace/contrib/http/integration.rb
576
257
  - lib/ddtrace/contrib/http/patcher.rb
577
258
  - lib/ddtrace/contrib/http_annotation_helper.rb
259
+ - lib/ddtrace/contrib/httpclient/configuration/settings.rb
260
+ - lib/ddtrace/contrib/httpclient/ext.rb
261
+ - lib/ddtrace/contrib/httpclient/instrumentation.rb
262
+ - lib/ddtrace/contrib/httpclient/integration.rb
263
+ - lib/ddtrace/contrib/httpclient/patcher.rb
578
264
  - lib/ddtrace/contrib/httprb/configuration/settings.rb
579
265
  - lib/ddtrace/contrib/httprb/ext.rb
580
266
  - lib/ddtrace/contrib/httprb/instrumentation.rb
@@ -598,6 +284,11 @@ files:
598
284
  - lib/ddtrace/contrib/kafka/ext.rb
599
285
  - lib/ddtrace/contrib/kafka/integration.rb
600
286
  - lib/ddtrace/contrib/kafka/patcher.rb
287
+ - lib/ddtrace/contrib/lograge/configuration/settings.rb
288
+ - lib/ddtrace/contrib/lograge/ext.rb
289
+ - lib/ddtrace/contrib/lograge/instrumentation.rb
290
+ - lib/ddtrace/contrib/lograge/integration.rb
291
+ - lib/ddtrace/contrib/lograge/patcher.rb
601
292
  - lib/ddtrace/contrib/mongodb/configuration/settings.rb
602
293
  - lib/ddtrace/contrib/mongodb/ext.rb
603
294
  - lib/ddtrace/contrib/mongodb/instrumentation.rb
@@ -617,6 +308,12 @@ files:
617
308
  - lib/ddtrace/contrib/presto/instrumentation.rb
618
309
  - lib/ddtrace/contrib/presto/integration.rb
619
310
  - lib/ddtrace/contrib/presto/patcher.rb
311
+ - lib/ddtrace/contrib/qless/configuration/settings.rb
312
+ - lib/ddtrace/contrib/qless/ext.rb
313
+ - lib/ddtrace/contrib/qless/integration.rb
314
+ - lib/ddtrace/contrib/qless/patcher.rb
315
+ - lib/ddtrace/contrib/qless/qless_job.rb
316
+ - lib/ddtrace/contrib/qless/tracer_cleaner.rb
620
317
  - lib/ddtrace/contrib/que/configuration/settings.rb
621
318
  - lib/ddtrace/contrib/que/ext.rb
622
319
  - lib/ddtrace/contrib/que/integration.rb
@@ -637,6 +334,7 @@ files:
637
334
  - lib/ddtrace/contrib/rack/middlewares.rb
638
335
  - lib/ddtrace/contrib/rack/patcher.rb
639
336
  - lib/ddtrace/contrib/rack/request_queue.rb
337
+ - lib/ddtrace/contrib/rails/auto_instrument_railtie.rb
640
338
  - lib/ddtrace/contrib/rails/configuration/settings.rb
641
339
  - lib/ddtrace/contrib/rails/ext.rb
642
340
  - lib/ddtrace/contrib/rails/framework.rb
@@ -658,6 +356,7 @@ files:
658
356
  - lib/ddtrace/contrib/redis/patcher.rb
659
357
  - lib/ddtrace/contrib/redis/quantize.rb
660
358
  - lib/ddtrace/contrib/redis/tags.rb
359
+ - lib/ddtrace/contrib/redis/vendor/LICENSE
661
360
  - lib/ddtrace/contrib/redis/vendor/resolver.rb
662
361
  - lib/ddtrace/contrib/registerable.rb
663
362
  - lib/ddtrace/contrib/registry.rb
@@ -671,6 +370,11 @@ files:
671
370
  - lib/ddtrace/contrib/rest_client/integration.rb
672
371
  - lib/ddtrace/contrib/rest_client/patcher.rb
673
372
  - lib/ddtrace/contrib/rest_client/request_patch.rb
373
+ - lib/ddtrace/contrib/semantic_logger/configuration/settings.rb
374
+ - lib/ddtrace/contrib/semantic_logger/ext.rb
375
+ - lib/ddtrace/contrib/semantic_logger/instrumentation.rb
376
+ - lib/ddtrace/contrib/semantic_logger/integration.rb
377
+ - lib/ddtrace/contrib/semantic_logger/patcher.rb
674
378
  - lib/ddtrace/contrib/sequel/configuration/settings.rb
675
379
  - lib/ddtrace/contrib/sequel/database.rb
676
380
  - lib/ddtrace/contrib/sequel/dataset.rb
@@ -703,6 +407,7 @@ files:
703
407
  - lib/ddtrace/contrib/sneakers/integration.rb
704
408
  - lib/ddtrace/contrib/sneakers/patcher.rb
705
409
  - lib/ddtrace/contrib/sneakers/tracer.rb
410
+ - lib/ddtrace/contrib/status_code_matcher.rb
706
411
  - lib/ddtrace/contrib/sucker_punch/configuration/settings.rb
707
412
  - lib/ddtrace/contrib/sucker_punch/exception_handler.rb
708
413
  - lib/ddtrace/contrib/sucker_punch/ext.rb
@@ -718,7 +423,6 @@ files:
718
423
  - lib/ddtrace/distributed_tracing/headers/headers.rb
719
424
  - lib/ddtrace/distributed_tracing/headers/helpers.rb
720
425
  - lib/ddtrace/encoding.rb
721
- - lib/ddtrace/environment.rb
722
426
  - lib/ddtrace/error.rb
723
427
  - lib/ddtrace/event.rb
724
428
  - lib/ddtrace/ext/analytics.rb
@@ -729,20 +433,22 @@ files:
729
433
  - lib/ddtrace/ext/environment.rb
730
434
  - lib/ddtrace/ext/errors.rb
731
435
  - lib/ddtrace/ext/forced_tracing.rb
436
+ - lib/ddtrace/ext/git.rb
732
437
  - lib/ddtrace/ext/http.rb
733
438
  - lib/ddtrace/ext/integration.rb
734
439
  - lib/ddtrace/ext/manual_tracing.rb
735
440
  - lib/ddtrace/ext/metrics.rb
736
441
  - lib/ddtrace/ext/net.rb
737
442
  - lib/ddtrace/ext/priority.rb
443
+ - lib/ddtrace/ext/profiling.rb
738
444
  - lib/ddtrace/ext/runtime.rb
739
445
  - lib/ddtrace/ext/sampling.rb
740
446
  - lib/ddtrace/ext/sql.rb
447
+ - lib/ddtrace/ext/test.rb
741
448
  - lib/ddtrace/ext/transport.rb
742
449
  - lib/ddtrace/forced_tracing.rb
743
450
  - lib/ddtrace/logger.rb
744
451
  - lib/ddtrace/metrics.rb
745
- - lib/ddtrace/monkey.rb
746
452
  - lib/ddtrace/opentelemetry/extensions.rb
747
453
  - lib/ddtrace/opentelemetry/span.rb
748
454
  - lib/ddtrace/opentracer.rb
@@ -766,19 +472,55 @@ files:
766
472
  - lib/ddtrace/pipeline.rb
767
473
  - lib/ddtrace/pipeline/span_filter.rb
768
474
  - lib/ddtrace/pipeline/span_processor.rb
475
+ - lib/ddtrace/profiling.rb
476
+ - lib/ddtrace/profiling/backtrace_location.rb
477
+ - lib/ddtrace/profiling/buffer.rb
478
+ - lib/ddtrace/profiling/collectors/stack.rb
479
+ - lib/ddtrace/profiling/encoding/profile.rb
480
+ - lib/ddtrace/profiling/event.rb
481
+ - lib/ddtrace/profiling/events/stack.rb
482
+ - lib/ddtrace/profiling/exporter.rb
483
+ - lib/ddtrace/profiling/ext/cpu.rb
484
+ - lib/ddtrace/profiling/ext/cthread.rb
485
+ - lib/ddtrace/profiling/ext/forking.rb
486
+ - lib/ddtrace/profiling/flush.rb
487
+ - lib/ddtrace/profiling/native_extension.rb
488
+ - lib/ddtrace/profiling/pprof/builder.rb
489
+ - lib/ddtrace/profiling/pprof/converter.rb
490
+ - lib/ddtrace/profiling/pprof/message_set.rb
491
+ - lib/ddtrace/profiling/pprof/payload.rb
492
+ - lib/ddtrace/profiling/pprof/pprof.proto
493
+ - lib/ddtrace/profiling/pprof/pprof_pb.rb
494
+ - lib/ddtrace/profiling/pprof/stack_sample.rb
495
+ - lib/ddtrace/profiling/pprof/string_table.rb
496
+ - lib/ddtrace/profiling/pprof/template.rb
497
+ - lib/ddtrace/profiling/preload.rb
498
+ - lib/ddtrace/profiling/profiler.rb
499
+ - lib/ddtrace/profiling/recorder.rb
500
+ - lib/ddtrace/profiling/scheduler.rb
501
+ - lib/ddtrace/profiling/tasks/setup.rb
502
+ - lib/ddtrace/profiling/trace_identifiers/ddtrace.rb
503
+ - lib/ddtrace/profiling/trace_identifiers/helper.rb
504
+ - lib/ddtrace/profiling/transport/client.rb
505
+ - lib/ddtrace/profiling/transport/http.rb
506
+ - lib/ddtrace/profiling/transport/http/api.rb
507
+ - lib/ddtrace/profiling/transport/http/api/endpoint.rb
508
+ - lib/ddtrace/profiling/transport/http/api/instance.rb
509
+ - lib/ddtrace/profiling/transport/http/api/spec.rb
510
+ - lib/ddtrace/profiling/transport/http/builder.rb
511
+ - lib/ddtrace/profiling/transport/http/client.rb
512
+ - lib/ddtrace/profiling/transport/http/response.rb
513
+ - lib/ddtrace/profiling/transport/io.rb
514
+ - lib/ddtrace/profiling/transport/io/client.rb
515
+ - lib/ddtrace/profiling/transport/io/response.rb
516
+ - lib/ddtrace/profiling/transport/parcel.rb
517
+ - lib/ddtrace/profiling/transport/request.rb
518
+ - lib/ddtrace/profiling/transport/response.rb
769
519
  - lib/ddtrace/propagation/grpc_propagator.rb
770
520
  - lib/ddtrace/propagation/http_propagator.rb
771
521
  - lib/ddtrace/quantization/hash.rb
772
522
  - lib/ddtrace/quantization/http.rb
773
- - lib/ddtrace/runtime/cgroup.rb
774
- - lib/ddtrace/runtime/class_count.rb
775
- - lib/ddtrace/runtime/container.rb
776
- - lib/ddtrace/runtime/gc.rb
777
- - lib/ddtrace/runtime/identity.rb
778
523
  - lib/ddtrace/runtime/metrics.rb
779
- - lib/ddtrace/runtime/object_space.rb
780
- - lib/ddtrace/runtime/socket.rb
781
- - lib/ddtrace/runtime/thread_count.rb
782
524
  - lib/ddtrace/sampler.rb
783
525
  - lib/ddtrace/sampling.rb
784
526
  - lib/ddtrace/sampling/matcher.rb
@@ -787,6 +529,8 @@ files:
787
529
  - lib/ddtrace/sampling/rule_sampler.rb
788
530
  - lib/ddtrace/span.rb
789
531
  - lib/ddtrace/sync_writer.rb
532
+ - lib/ddtrace/tasks/exec.rb
533
+ - lib/ddtrace/tasks/help.rb
790
534
  - lib/ddtrace/tracer.rb
791
535
  - lib/ddtrace/transport/http.rb
792
536
  - lib/ddtrace/transport/http/adapters/net.rb
@@ -815,9 +559,24 @@ files:
815
559
  - lib/ddtrace/transport/statistics.rb
816
560
  - lib/ddtrace/transport/traces.rb
817
561
  - lib/ddtrace/utils.rb
562
+ - lib/ddtrace/utils/compression.rb
818
563
  - lib/ddtrace/utils/database.rb
564
+ - lib/ddtrace/utils/forking.rb
565
+ - lib/ddtrace/utils/object_set.rb
566
+ - lib/ddtrace/utils/only_once.rb
567
+ - lib/ddtrace/utils/sequence.rb
568
+ - lib/ddtrace/utils/string_table.rb
819
569
  - lib/ddtrace/utils/time.rb
570
+ - lib/ddtrace/vendor/active_record/MIT-LICENSE
820
571
  - lib/ddtrace/vendor/active_record/connection_specification.rb
572
+ - lib/ddtrace/vendor/multipart-post/LICENSE
573
+ - lib/ddtrace/vendor/multipart-post/multipart.rb
574
+ - lib/ddtrace/vendor/multipart-post/multipart/post.rb
575
+ - lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb
576
+ - lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb
577
+ - lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb
578
+ - lib/ddtrace/vendor/multipart-post/multipart/post/version.rb
579
+ - lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb
821
580
  - lib/ddtrace/version.rb
822
581
  - lib/ddtrace/worker.rb
823
582
  - lib/ddtrace/workers.rb
@@ -828,13 +587,12 @@ files:
828
587
  - lib/ddtrace/workers/runtime_metrics.rb
829
588
  - lib/ddtrace/workers/trace_writer.rb
830
589
  - lib/ddtrace/writer.rb
831
- - tasks/release_gem.rake
832
590
  homepage: https://github.com/DataDog/dd-trace-rb
833
591
  licenses:
834
592
  - BSD-3-Clause
835
593
  metadata:
836
594
  allowed_push_host: https://rubygems.org
837
- post_install_message:
595
+ post_install_message:
838
596
  rdoc_options: []
839
597
  require_paths:
840
598
  - lib
@@ -842,15 +600,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
842
600
  requirements:
843
601
  - - ">="
844
602
  - !ruby/object:Gem::Version
845
- version: 2.0.0
603
+ version: 2.1.0
604
+ - - "<"
605
+ - !ruby/object:Gem::Version
606
+ version: '3.2'
846
607
  required_rubygems_version: !ruby/object:Gem::Requirement
847
608
  requirements:
848
609
  - - ">="
849
610
  - !ruby/object:Gem::Version
850
611
  version: 2.0.0
851
612
  requirements: []
852
- rubygems_version: 3.0.3
853
- signing_key:
613
+ rubygems_version: 3.1.6
614
+ signing_key:
854
615
  specification_version: 4
855
616
  summary: Datadog tracing code for your Ruby applications
856
617
  test_files: []