ddtrace 0.44.0 → 0.48.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (386) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +183 -15
  3. data/.circleci/images/primary/Dockerfile-2.0.0 +11 -1
  4. data/.circleci/images/primary/Dockerfile-2.1.10 +11 -1
  5. data/.circleci/images/primary/Dockerfile-2.2.10 +11 -1
  6. data/.circleci/images/primary/Dockerfile-2.3.8 +10 -0
  7. data/.circleci/images/primary/Dockerfile-2.4.6 +10 -0
  8. data/.circleci/images/primary/Dockerfile-2.5.6 +10 -0
  9. data/.circleci/images/primary/Dockerfile-2.6.4 +10 -0
  10. data/.circleci/images/primary/Dockerfile-2.7.0 +10 -0
  11. data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +88 -0
  12. data/.circleci/images/primary/{Dockerfile-jruby-9.2 → Dockerfile-jruby-9.2.0.0} +1 -5
  13. data/.circleci/images/primary/Dockerfile-truffleruby-21.0.0 +73 -0
  14. data/.github/workflows/create-next-milestone.yml +2 -2
  15. data/.gitlab-ci.yml +18 -18
  16. data/.rubocop.yml +269 -7
  17. data/.rubocop_todo.yml +438 -0
  18. data/.simplecov +6 -0
  19. data/Appraisals +87 -9
  20. data/CHANGELOG.md +238 -1
  21. data/Gemfile +63 -3
  22. data/LICENSE-3rdparty.csv +2 -0
  23. data/README.md +1 -0
  24. data/Rakefile +65 -25
  25. data/bin/ddtracerb +15 -0
  26. data/ddtrace.gemspec +9 -36
  27. data/docker-compose.yml +75 -7
  28. data/docs/DevelopmentGuide.md +28 -0
  29. data/docs/GettingStarted.md +162 -68
  30. data/docs/ProfilingDevelopment.md +88 -0
  31. data/integration/README.md +67 -0
  32. data/integration/apps/rack/.dockerignore +1 -0
  33. data/integration/apps/rack/.envrc.sample +1 -0
  34. data/integration/apps/rack/.gitignore +4 -0
  35. data/integration/apps/rack/.rspec +1 -0
  36. data/integration/apps/rack/Dockerfile +28 -0
  37. data/integration/apps/rack/Dockerfile-ci +11 -0
  38. data/integration/apps/rack/Gemfile +24 -0
  39. data/integration/apps/rack/README.md +93 -0
  40. data/integration/apps/rack/app/acme.rb +80 -0
  41. data/integration/apps/rack/app/datadog.rb +17 -0
  42. data/integration/apps/rack/bin/run +22 -0
  43. data/integration/apps/rack/bin/setup +17 -0
  44. data/integration/apps/rack/bin/test +24 -0
  45. data/integration/apps/rack/config.ru +6 -0
  46. data/integration/apps/rack/config/puma.rb +14 -0
  47. data/integration/apps/rack/config/unicorn.rb +23 -0
  48. data/integration/apps/rack/docker-compose.ci.yml +62 -0
  49. data/integration/apps/rack/docker-compose.yml +78 -0
  50. data/integration/apps/rack/script/build-images +38 -0
  51. data/integration/apps/rack/script/ci +50 -0
  52. data/integration/apps/rack/spec/integration/basic_spec.rb +10 -0
  53. data/integration/apps/rack/spec/spec_helper.rb +16 -0
  54. data/integration/apps/rack/spec/support/integration_helper.rb +22 -0
  55. data/integration/apps/rails-five/.dockerignore +1 -0
  56. data/integration/apps/rails-five/.env +3 -0
  57. data/integration/apps/rails-five/.envrc.sample +1 -0
  58. data/integration/apps/rails-five/.gitignore +30 -0
  59. data/integration/apps/rails-five/Dockerfile +25 -0
  60. data/integration/apps/rails-five/Dockerfile-ci +11 -0
  61. data/integration/apps/rails-five/Gemfile +104 -0
  62. data/integration/apps/rails-five/README.md +94 -0
  63. data/integration/apps/rails-five/Rakefile +6 -0
  64. data/integration/apps/rails-five/app/channels/application_cable/channel.rb +4 -0
  65. data/integration/apps/rails-five/app/channels/application_cable/connection.rb +4 -0
  66. data/integration/apps/rails-five/app/controllers/application_controller.rb +2 -0
  67. data/integration/apps/rails-five/app/controllers/basic_controller.rb +36 -0
  68. data/integration/apps/rails-five/app/controllers/concerns/.keep +0 -0
  69. data/integration/apps/rails-five/app/controllers/health_controller.rb +9 -0
  70. data/integration/apps/rails-five/app/controllers/jobs_controller.rb +12 -0
  71. data/integration/apps/rails-five/app/jobs/application_job.rb +2 -0
  72. data/integration/apps/rails-five/app/jobs/test_job.rb +12 -0
  73. data/integration/apps/rails-five/app/mailers/application_mailer.rb +4 -0
  74. data/integration/apps/rails-five/app/models/application_record.rb +3 -0
  75. data/integration/apps/rails-five/app/models/concerns/.keep +0 -0
  76. data/integration/apps/rails-five/app/models/test.rb +2 -0
  77. data/integration/apps/rails-five/app/views/layouts/mailer.html.erb +13 -0
  78. data/integration/apps/rails-five/app/views/layouts/mailer.text.erb +1 -0
  79. data/integration/apps/rails-five/bin/bundle +3 -0
  80. data/integration/apps/rails-five/bin/rails +9 -0
  81. data/integration/apps/rails-five/bin/rake +9 -0
  82. data/integration/apps/rails-five/bin/run +24 -0
  83. data/integration/apps/rails-five/bin/setup +27 -0
  84. data/integration/apps/rails-five/bin/spring +17 -0
  85. data/integration/apps/rails-five/bin/test +21 -0
  86. data/integration/apps/rails-five/bin/update +28 -0
  87. data/integration/apps/rails-five/config.ru +5 -0
  88. data/integration/apps/rails-five/config/application.rb +97 -0
  89. data/integration/apps/rails-five/config/boot.rb +4 -0
  90. data/integration/apps/rails-five/config/cable.yml +10 -0
  91. data/integration/apps/rails-five/config/credentials.yml.enc +1 -0
  92. data/integration/apps/rails-five/config/database.yml +28 -0
  93. data/integration/apps/rails-five/config/environment.rb +5 -0
  94. data/integration/apps/rails-five/config/environments/development.rb +51 -0
  95. data/integration/apps/rails-five/config/environments/production.rb +82 -0
  96. data/integration/apps/rails-five/config/environments/test.rb +43 -0
  97. data/integration/apps/rails-five/config/initializers/datadog.rb +18 -0
  98. data/integration/apps/rails-five/config/initializers/filter_parameter_logging.rb +4 -0
  99. data/integration/apps/rails-five/config/initializers/resque.rb +4 -0
  100. data/integration/apps/rails-five/config/initializers/rollbar.rb +5 -0
  101. data/integration/apps/rails-five/config/initializers/wrap_parameters.rb +14 -0
  102. data/integration/apps/rails-five/config/locales/en.yml +33 -0
  103. data/integration/apps/rails-five/config/puma.rb +24 -0
  104. data/integration/apps/rails-five/config/routes.rb +11 -0
  105. data/integration/apps/rails-five/config/spring.rb +6 -0
  106. data/integration/apps/rails-five/config/unicorn.rb +29 -0
  107. data/integration/apps/rails-five/db/migrate/20190927215052_create_tests.rb +11 -0
  108. data/integration/apps/rails-five/db/schema.rb +23 -0
  109. data/integration/apps/rails-five/db/seeds.rb +7 -0
  110. data/integration/apps/rails-five/docker-compose.ci.yml +98 -0
  111. data/integration/apps/rails-five/docker-compose.yml +100 -0
  112. data/integration/apps/rails-five/lib/tasks/.keep +0 -0
  113. data/integration/apps/rails-five/log/.keep +0 -0
  114. data/integration/apps/rails-five/public/robots.txt +1 -0
  115. data/integration/apps/rails-five/script/build-images +35 -0
  116. data/integration/apps/rails-five/script/ci +50 -0
  117. data/integration/apps/rails-five/spec/integration/basic_spec.rb +10 -0
  118. data/integration/apps/rails-five/spec/spec_helper.rb +16 -0
  119. data/integration/apps/rails-five/spec/support/integration_helper.rb +22 -0
  120. data/integration/apps/rails-five/storage/.keep +0 -0
  121. data/integration/apps/rails-five/tmp/.keep +0 -0
  122. data/integration/apps/rails-five/vendor/.keep +0 -0
  123. data/integration/apps/ruby/.dockerignore +1 -0
  124. data/integration/apps/ruby/.envrc.sample +1 -0
  125. data/integration/apps/ruby/.gitignore +2 -0
  126. data/integration/apps/ruby/Dockerfile +25 -0
  127. data/integration/apps/ruby/Dockerfile-ci +11 -0
  128. data/integration/apps/ruby/Gemfile +11 -0
  129. data/integration/apps/ruby/README.md +70 -0
  130. data/integration/apps/ruby/agent.yaml +3 -0
  131. data/integration/apps/ruby/app/datadog.rb +13 -0
  132. data/integration/apps/ruby/app/fibonacci.rb +58 -0
  133. data/integration/apps/ruby/bin/run +20 -0
  134. data/integration/apps/ruby/bin/setup +17 -0
  135. data/integration/apps/ruby/bin/test +21 -0
  136. data/integration/apps/ruby/docker-compose.ci.yml +51 -0
  137. data/integration/apps/ruby/docker-compose.yml +63 -0
  138. data/integration/apps/ruby/script/build-images +38 -0
  139. data/integration/apps/ruby/script/ci +50 -0
  140. data/integration/images/agent/Dockerfile +2 -0
  141. data/integration/images/agent/agent.yaml +3 -0
  142. data/integration/images/include/datadog/analyzer.rb +71 -0
  143. data/integration/images/include/datadog/demo_env.rb +101 -0
  144. data/integration/images/include/http-health-check +33 -0
  145. data/integration/images/ruby/2.0/Dockerfile +54 -0
  146. data/integration/images/ruby/2.1/Dockerfile +54 -0
  147. data/integration/images/ruby/2.2/Dockerfile +54 -0
  148. data/integration/images/ruby/2.3/Dockerfile +70 -0
  149. data/integration/images/ruby/2.4/Dockerfile +54 -0
  150. data/integration/images/ruby/2.5/Dockerfile +54 -0
  151. data/integration/images/ruby/2.6/Dockerfile +54 -0
  152. data/integration/images/ruby/2.7/Dockerfile +54 -0
  153. data/integration/images/ruby/3.0/Dockerfile +54 -0
  154. data/integration/images/wrk/Dockerfile +33 -0
  155. data/integration/images/wrk/scripts/entrypoint.sh +17 -0
  156. data/integration/images/wrk/scripts/scenarios/basic/default.lua +1 -0
  157. data/integration/images/wrk/scripts/scenarios/basic/fibonacci.lua +1 -0
  158. data/integration/script/build-images +43 -0
  159. data/lib/ddtrace.rb +8 -5
  160. data/lib/ddtrace/analytics.rb +2 -0
  161. data/lib/ddtrace/auto_instrument.rb +3 -0
  162. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  163. data/lib/ddtrace/buffer.rb +4 -4
  164. data/lib/ddtrace/configuration.rb +121 -26
  165. data/lib/ddtrace/configuration/base.rb +1 -1
  166. data/lib/ddtrace/configuration/components.rb +87 -5
  167. data/lib/ddtrace/configuration/option_definition.rb +1 -3
  168. data/lib/ddtrace/configuration/options.rb +4 -7
  169. data/lib/ddtrace/configuration/settings.rb +48 -3
  170. data/lib/ddtrace/context.rb +5 -6
  171. data/lib/ddtrace/context_provider.rb +0 -1
  172. data/lib/ddtrace/contrib/action_cable/event.rb +1 -0
  173. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  174. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +1 -3
  175. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  176. data/lib/ddtrace/contrib/action_view/event.rb +1 -1
  177. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  178. data/lib/ddtrace/contrib/action_view/utils.rb +1 -1
  179. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +30 -0
  180. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +107 -18
  181. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  182. data/lib/ddtrace/contrib/active_record/utils.rb +57 -20
  183. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  184. data/lib/ddtrace/contrib/active_support/notifications/event.rb +2 -1
  185. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +1 -0
  186. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +9 -5
  187. data/lib/ddtrace/contrib/auto_instrument.rb +49 -0
  188. data/lib/ddtrace/contrib/aws/patcher.rb +1 -0
  189. data/lib/ddtrace/contrib/aws/services.rb +2 -0
  190. data/lib/ddtrace/contrib/configurable.rb +63 -39
  191. data/lib/ddtrace/contrib/configuration/resolver.rb +70 -5
  192. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +19 -20
  193. data/lib/ddtrace/contrib/configuration/settings.rb +7 -6
  194. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +0 -10
  195. data/lib/ddtrace/contrib/cucumber/ext.rb +0 -2
  196. data/lib/ddtrace/contrib/cucumber/formatter.rb +5 -11
  197. data/lib/ddtrace/contrib/cucumber/integration.rb +5 -0
  198. data/lib/ddtrace/contrib/dalli/patcher.rb +0 -38
  199. data/lib/ddtrace/contrib/delayed_job/plugin.rb +0 -1
  200. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +1 -0
  201. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +3 -2
  202. data/lib/ddtrace/contrib/ethon/easy_patch.rb +10 -9
  203. data/lib/ddtrace/contrib/excon/middleware.rb +2 -6
  204. data/lib/ddtrace/contrib/extensions.rb +53 -3
  205. data/lib/ddtrace/contrib/faraday/middleware.rb +1 -3
  206. data/lib/ddtrace/contrib/faraday/patcher.rb +0 -36
  207. data/lib/ddtrace/contrib/grape/endpoint.rb +8 -15
  208. data/lib/ddtrace/contrib/grape/patcher.rb +0 -42
  209. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +8 -8
  210. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +1 -0
  211. data/lib/ddtrace/contrib/grpc/patcher.rb +0 -36
  212. data/lib/ddtrace/contrib/http/circuit_breaker.rb +1 -3
  213. data/lib/ddtrace/contrib/http/instrumentation.rb +5 -5
  214. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  215. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  216. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +147 -0
  217. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  218. data/lib/ddtrace/contrib/httpclient/patcher.rb +38 -0
  219. data/lib/ddtrace/contrib/httprb/instrumentation.rb +14 -20
  220. data/lib/ddtrace/contrib/httprb/patcher.rb +5 -2
  221. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +2 -0
  222. data/lib/ddtrace/contrib/mongodb/subscribers.rb +2 -3
  223. data/lib/ddtrace/contrib/patchable.rb +18 -7
  224. data/lib/ddtrace/contrib/patcher.rb +9 -6
  225. data/lib/ddtrace/contrib/presto/patcher.rb +5 -2
  226. data/lib/ddtrace/contrib/qless/qless_job.rb +1 -0
  227. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +1 -0
  228. data/lib/ddtrace/contrib/que/ext.rb +19 -19
  229. data/lib/ddtrace/contrib/que/tracer.rb +1 -1
  230. data/lib/ddtrace/contrib/racecar/event.rb +1 -0
  231. data/lib/ddtrace/contrib/rack/configuration/settings.rb +3 -3
  232. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  233. data/lib/ddtrace/contrib/rack/middlewares.rb +6 -11
  234. data/lib/ddtrace/contrib/rack/patcher.rb +1 -3
  235. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  236. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  237. data/lib/ddtrace/contrib/rails/patcher.rb +6 -2
  238. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  239. data/lib/ddtrace/contrib/rake/instrumentation.rb +4 -2
  240. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  241. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +11 -4
  242. data/lib/ddtrace/contrib/redis/quantize.rb +1 -0
  243. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  244. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +6 -7
  245. data/lib/ddtrace/contrib/registry.rb +2 -2
  246. data/lib/ddtrace/contrib/resque/configuration/settings.rb +17 -1
  247. data/lib/ddtrace/contrib/resque/integration.rb +1 -1
  248. data/lib/ddtrace/contrib/resque/patcher.rb +4 -4
  249. data/lib/ddtrace/contrib/resque/resque_job.rb +24 -1
  250. data/lib/ddtrace/contrib/rest_client/request_patch.rb +1 -3
  251. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +0 -10
  252. data/lib/ddtrace/contrib/rspec/example.rb +24 -10
  253. data/lib/ddtrace/contrib/rspec/ext.rb +0 -3
  254. data/lib/ddtrace/contrib/rspec/integration.rb +6 -1
  255. data/lib/ddtrace/contrib/rspec/patcher.rb +0 -2
  256. data/lib/ddtrace/contrib/sequel/utils.rb +5 -6
  257. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +1 -0
  258. data/lib/ddtrace/contrib/shoryuken/tracer.rb +7 -4
  259. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +2 -7
  260. data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -1
  261. data/lib/ddtrace/contrib/sinatra/env.rb +1 -3
  262. data/lib/ddtrace/contrib/sinatra/headers.rb +1 -3
  263. data/lib/ddtrace/contrib/sinatra/tracer.rb +1 -3
  264. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +3 -3
  265. data/lib/ddtrace/contrib/sneakers/ext.rb +11 -11
  266. data/lib/ddtrace/contrib/sneakers/tracer.rb +2 -4
  267. data/lib/ddtrace/contrib/status_code_matcher.rb +5 -3
  268. data/lib/ddtrace/correlation.rb +1 -0
  269. data/lib/ddtrace/diagnostics/environment_logger.rb +3 -2
  270. data/lib/ddtrace/distributed_tracing/headers/headers.rb +1 -0
  271. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +1 -3
  272. data/lib/ddtrace/error.rb +2 -0
  273. data/lib/ddtrace/ext/ci.rb +43 -10
  274. data/lib/ddtrace/ext/distributed.rb +1 -1
  275. data/lib/ddtrace/ext/git.rb +0 -1
  276. data/lib/ddtrace/ext/http.rb +1 -1
  277. data/lib/ddtrace/ext/profiling.rb +52 -0
  278. data/lib/ddtrace/ext/runtime.rb +3 -1
  279. data/lib/ddtrace/ext/transport.rb +1 -0
  280. data/lib/ddtrace/forced_tracing.rb +2 -0
  281. data/lib/ddtrace/logger.rb +1 -1
  282. data/lib/ddtrace/metrics.rb +14 -6
  283. data/lib/ddtrace/opentracer/distributed_headers.rb +3 -0
  284. data/lib/ddtrace/opentracer/span.rb +2 -6
  285. data/lib/ddtrace/opentracer/thread_local_scope.rb +1 -0
  286. data/lib/ddtrace/patcher.rb +25 -4
  287. data/lib/ddtrace/pin.rb +8 -61
  288. data/lib/ddtrace/pipeline/span_filter.rb +1 -1
  289. data/lib/ddtrace/profiling.rb +54 -0
  290. data/lib/ddtrace/profiling/backtrace_location.rb +32 -0
  291. data/lib/ddtrace/profiling/buffer.rb +41 -0
  292. data/lib/ddtrace/profiling/collectors/stack.rb +253 -0
  293. data/lib/ddtrace/profiling/encoding/profile.rb +31 -0
  294. data/lib/ddtrace/profiling/event.rb +13 -0
  295. data/lib/ddtrace/profiling/events/stack.rb +102 -0
  296. data/lib/ddtrace/profiling/exporter.rb +23 -0
  297. data/lib/ddtrace/profiling/ext/cpu.rb +54 -0
  298. data/lib/ddtrace/profiling/ext/cthread.rb +134 -0
  299. data/lib/ddtrace/profiling/ext/forking.rb +97 -0
  300. data/lib/ddtrace/profiling/flush.rb +41 -0
  301. data/lib/ddtrace/profiling/pprof/builder.rb +121 -0
  302. data/lib/ddtrace/profiling/pprof/converter.rb +85 -0
  303. data/lib/ddtrace/profiling/pprof/message_set.rb +12 -0
  304. data/lib/ddtrace/profiling/pprof/payload.rb +18 -0
  305. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  306. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +81 -0
  307. data/lib/ddtrace/profiling/pprof/stack_sample.rb +90 -0
  308. data/lib/ddtrace/profiling/pprof/string_table.rb +10 -0
  309. data/lib/ddtrace/profiling/pprof/template.rb +114 -0
  310. data/lib/ddtrace/profiling/preload.rb +3 -0
  311. data/lib/ddtrace/profiling/profiler.rb +28 -0
  312. data/lib/ddtrace/profiling/recorder.rb +87 -0
  313. data/lib/ddtrace/profiling/scheduler.rb +84 -0
  314. data/lib/ddtrace/profiling/tasks/setup.rb +77 -0
  315. data/lib/ddtrace/profiling/transport/client.rb +12 -0
  316. data/lib/ddtrace/profiling/transport/http.rb +122 -0
  317. data/lib/ddtrace/profiling/transport/http/api.rb +43 -0
  318. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +90 -0
  319. data/lib/ddtrace/profiling/transport/http/api/instance.rb +36 -0
  320. data/lib/ddtrace/profiling/transport/http/api/spec.rb +40 -0
  321. data/lib/ddtrace/profiling/transport/http/builder.rb +28 -0
  322. data/lib/ddtrace/profiling/transport/http/client.rb +33 -0
  323. data/lib/ddtrace/profiling/transport/http/response.rb +21 -0
  324. data/lib/ddtrace/profiling/transport/io.rb +30 -0
  325. data/lib/ddtrace/profiling/transport/io/client.rb +27 -0
  326. data/lib/ddtrace/profiling/transport/io/response.rb +16 -0
  327. data/lib/ddtrace/profiling/transport/parcel.rb +17 -0
  328. data/lib/ddtrace/profiling/transport/request.rb +15 -0
  329. data/lib/ddtrace/profiling/transport/response.rb +8 -0
  330. data/lib/ddtrace/propagation/grpc_propagator.rb +1 -0
  331. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  332. data/lib/ddtrace/quantization/http.rb +1 -0
  333. data/lib/ddtrace/runtime/cgroup.rb +2 -2
  334. data/lib/ddtrace/runtime/container.rb +32 -26
  335. data/lib/ddtrace/runtime/identity.rb +8 -0
  336. data/lib/ddtrace/sampler.rb +1 -1
  337. data/lib/ddtrace/sampling/rule_sampler.rb +4 -9
  338. data/lib/ddtrace/span.rb +7 -7
  339. data/lib/ddtrace/sync_writer.rb +12 -12
  340. data/lib/ddtrace/tasks/exec.rb +48 -0
  341. data/lib/ddtrace/tasks/help.rb +14 -0
  342. data/lib/ddtrace/tracer.rb +28 -5
  343. data/lib/ddtrace/transport/http.rb +15 -8
  344. data/lib/ddtrace/transport/http/adapters/net.rb +27 -8
  345. data/lib/ddtrace/transport/http/adapters/registry.rb +1 -0
  346. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +2 -4
  347. data/lib/ddtrace/transport/http/builder.rb +7 -1
  348. data/lib/ddtrace/transport/http/env.rb +8 -0
  349. data/lib/ddtrace/transport/http/traces.rb +2 -3
  350. data/lib/ddtrace/transport/io.rb +1 -1
  351. data/lib/ddtrace/transport/io/client.rb +15 -8
  352. data/lib/ddtrace/transport/io/response.rb +1 -3
  353. data/lib/ddtrace/transport/io/traces.rb +6 -0
  354. data/lib/ddtrace/transport/parcel.rb +4 -0
  355. data/lib/ddtrace/transport/traces.rb +18 -1
  356. data/lib/ddtrace/utils/compression.rb +27 -0
  357. data/lib/ddtrace/utils/object_set.rb +41 -0
  358. data/lib/ddtrace/utils/only_once.rb +40 -0
  359. data/lib/ddtrace/utils/sequence.rb +17 -0
  360. data/lib/ddtrace/utils/string_table.rb +45 -0
  361. data/lib/ddtrace/utils/time.rb +32 -1
  362. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  363. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  364. data/lib/ddtrace/vendor/multipart-post/multipart.rb +12 -0
  365. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +8 -0
  366. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +116 -0
  367. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +57 -0
  368. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +135 -0
  369. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +9 -0
  370. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +32 -0
  371. data/lib/ddtrace/version.rb +3 -1
  372. data/lib/ddtrace/workers.rb +5 -0
  373. data/lib/ddtrace/workers/async.rb +11 -3
  374. data/lib/ddtrace/workers/loop.rb +17 -3
  375. data/lib/ddtrace/workers/polling.rb +1 -0
  376. data/lib/ddtrace/workers/queue.rb +1 -0
  377. data/lib/ddtrace/workers/runtime_metrics.rb +14 -1
  378. data/lib/ddtrace/workers/trace_writer.rb +10 -10
  379. data/lib/ddtrace/writer.rb +7 -4
  380. metadata +213 -379
  381. data/lib/ddtrace/augmentation.rb +0 -13
  382. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  383. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  384. data/lib/ddtrace/augmentation/shim.rb +0 -102
  385. data/lib/ddtrace/contrib/rspec/example_group.rb +0 -61
  386. data/lib/ddtrace/monkey.rb +0 -58
data/CHANGELOG.md CHANGED
@@ -2,6 +2,146 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.48.0] - 2021-04-19
6
+
7
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.48.0
8
+
9
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.47.0...v0.48.0
10
+
11
+ ### Added
12
+
13
+ - Makara support with ActiveRecord ([#1447][])
14
+ - `tag_body` configuration for Shoryuken ([#1449][]) ([@gkampjes][])
15
+
16
+ ### Changed
17
+
18
+ - Add deprecation warning for Ruby 2.0 support ([#1441][])
19
+
20
+ Support for Ruby 2.0 will be available up to release `0.49.x`, and dropped from release `0.50.0` and greater.
21
+ Users are welcome to continue using version `< 0.50.0` for their Ruby 2.0 deployments going forward.
22
+
23
+ - Auto instrument Resque workers by default ([#1400][])
24
+
25
+ ### Fixed
26
+
27
+ - Ensure DD_TRACE_SAMPLE_RATE enables full RuleSampler ([#1416][])
28
+ - Fix Fargate 1.4 container ID not being read ([#1457][])
29
+ - Correctly close all StatsD clients ([#1429][])
30
+
31
+ ### Refactored
32
+ - Improvements to test suite & CI ([#1421][], [#1435][], [#1445][], [#1453][], [#1456][], [#1461][])
33
+ - Improvements to documentation ([#1455][])
34
+
35
+ ## [0.47.0] - 2021-03-29
36
+
37
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.47.0
38
+
39
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.46.0...v0.47.0
40
+
41
+ ### Added
42
+
43
+ - Document support for httpx integration ([#1396][]) ([@HoneyryderChuck][])
44
+ - Schemas to list of supported AWS services ([#1415][]) ([@tomgi][])
45
+ - Branch test coverage report ([#1343][])
46
+
47
+ ### Changed
48
+
49
+ - **BREAKING** Separate Resolver configuration and resolution steps ([#1319][])
50
+
51
+ ### ActiveRecord `describes` configuration now supports partial matching
52
+
53
+ Partial matching of connection fields (adapter, username, host, port, database) is now allowed. Previously, only an exact match of connections fields would be considered matching. This should help greatly simplify database configuration matching, as you will only need to provide enough fields to correctly separate your distinct database connections.
54
+
55
+ If you have a `c.use active_record, describe:` statement in your application that is currently not matching any connections, you might start seeing them match after this release.
56
+
57
+ `c.use active_record, describe:` statements that are currently matching a connection will continue to match that same connection.
58
+
59
+ You can refer to the [expanded ActiveSupport documentation for details on how to use the new partial matchers and configuration code examples](https://github.com/DataDog/dd-trace-rb/blob/0794be4cd455caf32e7a9c8f79d80a4b77c4087a/docs/GettingStarted.md#active-record).
60
+
61
+ ### `Datadog::Contrib::Configuration::Resolver` interface changed
62
+
63
+ The interface for `Datadog::Contrib::Configuration::Resolver` has changed: custom configuration resolvers that inherit from ``Datadog::Contrib::Configuration::Resolver`` will need be changed to fulfill the new interface. See [code documentation for `Datadog::Contrib::Configuration::Resolver` for specific API requirements](https://github.com/DataDog/dd-trace-rb/blob/0794be4cd455caf32e7a9c8f79d80a4b77c4087a/lib/ddtrace/contrib/configuration/resolver.rb).
64
+
65
+
66
+ - Remove type check from ThreadLocalContext#local. ([#1399][]) ([@orekyuu][])
67
+
68
+ ### Fixed
69
+
70
+ - Support for JRuby 9.2.0.0 ([#1409][])
71
+ - Failed integration message ([#1394][]) ([@e1senh0rn][])
72
+ - Addressed "warning: instance variable [@components][] not initialized" ([#1419][])
73
+ - Close /proc/self/cgroup file after reading ([#1414][])
74
+ - Improve internal "only once" behavior across the tracer ([#1398][])
75
+ - Increase thread-safety during tracer initialization ([#1418][])
76
+
77
+ ### Refactored
78
+
79
+ - Use MINIMUM_VERSION in resque compatible? check ([#1426][]) ([@mriddle][])
80
+ - Lint fixes for Rubocop 1.12.0 release ([#1430][])
81
+ - Internal tracer improvements ([#1403][])
82
+ - Improvements to test suite & CI ([#1334][], [#1379][], [#1393][], [#1406][], [#1408][], [#1412][], [#1417][], [#1420][], [#1422][], [#1427][], [#1428][], [#1431][], [#1432][])
83
+
84
+ ## [0.46.0] - 2021-03-03
85
+
86
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.46.0
87
+
88
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.45.0...v0.46.0
89
+
90
+ ### Added
91
+
92
+ - Add EventBridge to supported AWS services ([#1368][]) ([@tomgi][])
93
+ - Add `time_now_provider` configuration option ([#1224][])
94
+ - This new option allows the span `start_time` and `end_time` to be configured in environments that change the default time provider, like with *Timecop*. More information in the [official documentation](https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#tracer-settings).
95
+ - Add name to background threads created by ddtrace ([#1366][])
96
+
97
+ ### Changed
98
+
99
+ - Rework RSpec instrumentation as separate traces for each test ([#1381][])
100
+
101
+ ### Fixed
102
+
103
+ - ArgumentError: wrong number of arguments (given 2, expected 0) due to concurrent `require` ([#1306][], [#1354][]) ([@EvNomad][])
104
+ - Fix Rails' deprecation warnings ([#1352][])
105
+ - Fully populate Rake span fields on exceptions ([#1377][])
106
+ - Fix a typo in `httpclient` integration ([#1365][]) ([@y-yagi][])
107
+ - Add missing license files for vendor'd code ([#1346][])
108
+
109
+ ### Refactored
110
+
111
+ - Improvements to test suite & CI ([#1277][], [#1305][], [#1336][], [#1350][], [#1353][], [#1357][], [#1367][], [#1369][], [#1370][], [#1371][], [#1374][], [#1380][])
112
+ - Improvements to documentation ([#1332][])
113
+
114
+ ### Removed
115
+
116
+ - Remove deprecated Datadog::Monkey ([#1341][])
117
+ - Remove deprecated Datadog::DeprecatedPin ([#1342][])
118
+ - Remove unused Shim/MethodWrapper/MethodWrapping ([#1347][])
119
+ - Remove APP_ANALYTICS from tests instrumentation ([#1378][]) ([@AdrianLC][])
120
+
121
+ ## [0.45.0] - 2021-01-26
122
+
123
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.45.0
124
+
125
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.44.0...v0.45.0
126
+
127
+ ### Added
128
+
129
+ - Option to auto enable all instrumentations ([#1260][])
130
+ - httpclient support ([#1311][]) ([@agrobbin][])
131
+
132
+ ### Changed
133
+
134
+ - Promote request_queuing out of experimental ([#1320][])
135
+ - Safeguards around distributed HTTP propagator ([#1304][])
136
+ - Improvements to test integrations ([#1291][], [#1303][], [#1307][])
137
+
138
+ ### Refactored
139
+
140
+ - Direct object_id lookup for ActiveRecord connections ([#1317][])
141
+ - Avoid multiple parsing of Ethon URIs ([#1302][]) ([@callumj][])
142
+ - Improvements to test suite & CI ([#1309][], [#1318][], [#1321][], [#1323][], [#1325][], [#1331][])
143
+ - Improvements to documentation ([#1326][])
144
+
5
145
  ## [0.44.0] - 2021-01-06
6
146
 
7
147
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.44.0
@@ -1522,7 +1662,11 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
1522
1662
 
1523
1663
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
1524
1664
 
1525
- [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.41.0...master
1665
+ [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.48.0...master
1666
+ [0.48.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.47.0...v0.48.0
1667
+ [0.47.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.46.0...v0.47.0
1668
+ [0.46.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.45.0...v0.46.0
1669
+ [0.45.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.44.0...v0.45.0
1526
1670
  [0.44.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.43.0...v0.44.0
1527
1671
  [0.43.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.42.0...v0.43.0
1528
1672
  [0.41.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.40.0...v0.41.0
@@ -2072,6 +2216,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2072
2216
  [#1217]: https://github.com/DataDog/dd-trace-rb/issues/1217
2073
2217
  [#1218]: https://github.com/DataDog/dd-trace-rb/issues/1218
2074
2218
  [#1220]: https://github.com/DataDog/dd-trace-rb/issues/1220
2219
+ [#1224]: https://github.com/DataDog/dd-trace-rb/issues/1224
2075
2220
  [#1225]: https://github.com/DataDog/dd-trace-rb/issues/1225
2076
2221
  [#1226]: https://github.com/DataDog/dd-trace-rb/issues/1226
2077
2222
  [#1227]: https://github.com/DataDog/dd-trace-rb/issues/1227
@@ -2089,6 +2234,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2089
2234
  [#1248]: https://github.com/DataDog/dd-trace-rb/issues/1248
2090
2235
  [#1256]: https://github.com/DataDog/dd-trace-rb/issues/1256
2091
2236
  [#1257]: https://github.com/DataDog/dd-trace-rb/issues/1257
2237
+ [#1260]: https://github.com/DataDog/dd-trace-rb/issues/1260
2092
2238
  [#1262]: https://github.com/DataDog/dd-trace-rb/issues/1262
2093
2239
  [#1263]: https://github.com/DataDog/dd-trace-rb/issues/1263
2094
2240
  [#1264]: https://github.com/DataDog/dd-trace-rb/issues/1264
@@ -2110,16 +2256,100 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2110
2256
  [#1286]: https://github.com/DataDog/dd-trace-rb/issues/1286
2111
2257
  [#1287]: https://github.com/DataDog/dd-trace-rb/issues/1287
2112
2258
  [#1289]: https://github.com/DataDog/dd-trace-rb/issues/1289
2259
+ [#1291]: https://github.com/DataDog/dd-trace-rb/issues/1291
2113
2260
  [#1293]: https://github.com/DataDog/dd-trace-rb/issues/1293
2114
2261
  [#1295]: https://github.com/DataDog/dd-trace-rb/issues/1295
2115
2262
  [#1296]: https://github.com/DataDog/dd-trace-rb/issues/1296
2116
2263
  [#1297]: https://github.com/DataDog/dd-trace-rb/issues/1297
2117
2264
  [#1298]: https://github.com/DataDog/dd-trace-rb/issues/1298
2118
2265
  [#1299]: https://github.com/DataDog/dd-trace-rb/issues/1299
2266
+ [#1302]: https://github.com/DataDog/dd-trace-rb/issues/1302
2267
+ [#1303]: https://github.com/DataDog/dd-trace-rb/issues/1303
2268
+ [#1304]: https://github.com/DataDog/dd-trace-rb/issues/1304
2269
+ [#1305]: https://github.com/DataDog/dd-trace-rb/issues/1305
2270
+ [#1306]: https://github.com/DataDog/dd-trace-rb/issues/1306
2271
+ [#1307]: https://github.com/DataDog/dd-trace-rb/issues/1307
2272
+ [#1309]: https://github.com/DataDog/dd-trace-rb/issues/1309
2273
+ [#1311]: https://github.com/DataDog/dd-trace-rb/issues/1311
2274
+ [#1317]: https://github.com/DataDog/dd-trace-rb/issues/1317
2275
+ [#1318]: https://github.com/DataDog/dd-trace-rb/issues/1318
2276
+ [#1319]: https://github.com/DataDog/dd-trace-rb/issues/1319
2277
+ [#1320]: https://github.com/DataDog/dd-trace-rb/issues/1320
2278
+ [#1321]: https://github.com/DataDog/dd-trace-rb/issues/1321
2279
+ [#1323]: https://github.com/DataDog/dd-trace-rb/issues/1323
2280
+ [#1325]: https://github.com/DataDog/dd-trace-rb/issues/1325
2281
+ [#1326]: https://github.com/DataDog/dd-trace-rb/issues/1326
2282
+ [#1331]: https://github.com/DataDog/dd-trace-rb/issues/1331
2283
+ [#1332]: https://github.com/DataDog/dd-trace-rb/issues/1332
2284
+ [#1334]: https://github.com/DataDog/dd-trace-rb/issues/1334
2285
+ [#1336]: https://github.com/DataDog/dd-trace-rb/issues/1336
2286
+ [#1341]: https://github.com/DataDog/dd-trace-rb/issues/1341
2287
+ [#1342]: https://github.com/DataDog/dd-trace-rb/issues/1342
2288
+ [#1343]: https://github.com/DataDog/dd-trace-rb/issues/1343
2289
+ [#1346]: https://github.com/DataDog/dd-trace-rb/issues/1346
2290
+ [#1347]: https://github.com/DataDog/dd-trace-rb/issues/1347
2291
+ [#1350]: https://github.com/DataDog/dd-trace-rb/issues/1350
2292
+ [#1352]: https://github.com/DataDog/dd-trace-rb/issues/1352
2293
+ [#1353]: https://github.com/DataDog/dd-trace-rb/issues/1353
2294
+ [#1354]: https://github.com/DataDog/dd-trace-rb/issues/1354
2295
+ [#1357]: https://github.com/DataDog/dd-trace-rb/issues/1357
2296
+ [#1365]: https://github.com/DataDog/dd-trace-rb/issues/1365
2297
+ [#1366]: https://github.com/DataDog/dd-trace-rb/issues/1366
2298
+ [#1367]: https://github.com/DataDog/dd-trace-rb/issues/1367
2299
+ [#1368]: https://github.com/DataDog/dd-trace-rb/issues/1368
2300
+ [#1369]: https://github.com/DataDog/dd-trace-rb/issues/1369
2301
+ [#1370]: https://github.com/DataDog/dd-trace-rb/issues/1370
2302
+ [#1371]: https://github.com/DataDog/dd-trace-rb/issues/1371
2303
+ [#1374]: https://github.com/DataDog/dd-trace-rb/issues/1374
2304
+ [#1377]: https://github.com/DataDog/dd-trace-rb/issues/1377
2305
+ [#1378]: https://github.com/DataDog/dd-trace-rb/issues/1378
2306
+ [#1379]: https://github.com/DataDog/dd-trace-rb/issues/1379
2307
+ [#1380]: https://github.com/DataDog/dd-trace-rb/issues/1380
2308
+ [#1381]: https://github.com/DataDog/dd-trace-rb/issues/1381
2309
+ [#1393]: https://github.com/DataDog/dd-trace-rb/issues/1393
2310
+ [#1394]: https://github.com/DataDog/dd-trace-rb/issues/1394
2311
+ [#1396]: https://github.com/DataDog/dd-trace-rb/issues/1396
2312
+ [#1398]: https://github.com/DataDog/dd-trace-rb/issues/1398
2313
+ [#1399]: https://github.com/DataDog/dd-trace-rb/issues/1399
2314
+ [#1400]: https://github.com/DataDog/dd-trace-rb/issues/1400
2315
+ [#1403]: https://github.com/DataDog/dd-trace-rb/issues/1403
2316
+ [#1406]: https://github.com/DataDog/dd-trace-rb/issues/1406
2317
+ [#1408]: https://github.com/DataDog/dd-trace-rb/issues/1408
2318
+ [#1409]: https://github.com/DataDog/dd-trace-rb/issues/1409
2319
+ [#1412]: https://github.com/DataDog/dd-trace-rb/issues/1412
2320
+ [#1414]: https://github.com/DataDog/dd-trace-rb/issues/1414
2321
+ [#1415]: https://github.com/DataDog/dd-trace-rb/issues/1415
2322
+ [#1416]: https://github.com/DataDog/dd-trace-rb/issues/1416
2323
+ [#1417]: https://github.com/DataDog/dd-trace-rb/issues/1417
2324
+ [#1418]: https://github.com/DataDog/dd-trace-rb/issues/1418
2325
+ [#1419]: https://github.com/DataDog/dd-trace-rb/issues/1419
2326
+ [#1420]: https://github.com/DataDog/dd-trace-rb/issues/1420
2327
+ [#1421]: https://github.com/DataDog/dd-trace-rb/issues/1421
2328
+ [#1422]: https://github.com/DataDog/dd-trace-rb/issues/1422
2329
+ [#1426]: https://github.com/DataDog/dd-trace-rb/issues/1426
2330
+ [#1427]: https://github.com/DataDog/dd-trace-rb/issues/1427
2331
+ [#1428]: https://github.com/DataDog/dd-trace-rb/issues/1428
2332
+ [#1429]: https://github.com/DataDog/dd-trace-rb/issues/1429
2333
+ [#1430]: https://github.com/DataDog/dd-trace-rb/issues/1430
2334
+ [#1431]: https://github.com/DataDog/dd-trace-rb/issues/1431
2335
+ [#1432]: https://github.com/DataDog/dd-trace-rb/issues/1432
2336
+ [#1435]: https://github.com/DataDog/dd-trace-rb/issues/1435
2337
+ [#1441]: https://github.com/DataDog/dd-trace-rb/issues/1441
2338
+ [#1445]: https://github.com/DataDog/dd-trace-rb/issues/1445
2339
+ [#1447]: https://github.com/DataDog/dd-trace-rb/issues/1447
2340
+ [#1449]: https://github.com/DataDog/dd-trace-rb/issues/1449
2341
+ [#1453]: https://github.com/DataDog/dd-trace-rb/issues/1453
2342
+ [#1455]: https://github.com/DataDog/dd-trace-rb/issues/1455
2343
+ [#1456]: https://github.com/DataDog/dd-trace-rb/issues/1456
2344
+ [#1457]: https://github.com/DataDog/dd-trace-rb/issues/1457
2345
+ [#1461]: https://github.com/DataDog/dd-trace-rb/issues/1461
2346
+ [@AdrianLC]: https://github.com/AdrianLC
2119
2347
  [@Azure7111]: https://github.com/Azure7111
2120
2348
  [@BabyGroot]: https://github.com/BabyGroot
2121
2349
  [@DocX]: https://github.com/DocX
2122
2350
  [@EpiFouloux]: https://github.com/EpiFouloux
2351
+ [@EvNomad]: https://github.com/EvNomad
2352
+ [@HoneyryderChuck]: https://github.com/HoneyryderChuck
2123
2353
  [@JamesHarker]: https://github.com/JamesHarker
2124
2354
  [@Jared-Prime]: https://github.com/Jared-Prime
2125
2355
  [@Joas1988]: https://github.com/Joas1988
@@ -2132,6 +2362,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2132
2362
  [@Yurokle]: https://github.com/Yurokle
2133
2363
  [@ZimbiX]: https://github.com/ZimbiX
2134
2364
  [@agirlnamedsophia]: https://github.com/agirlnamedsophia
2365
+ [@agrobbin]: https://github.com/agrobbin
2135
2366
  [@ahammel]: https://github.com/ahammel
2136
2367
  [@al-kudryavtsev]: https://github.com/al-kudryavtsev
2137
2368
  [@alksl]: https://github.com/alksl
@@ -2147,6 +2378,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2147
2378
  [@callumj]: https://github.com/callumj
2148
2379
  [@cjford]: https://github.com/cjford
2149
2380
  [@ck3g]: https://github.com/ck3g
2381
+ [@components]: https://github.com/components
2150
2382
  [@cswatt]: https://github.com/cswatt
2151
2383
  [@dasch]: https://github.com/dasch
2152
2384
  [@dim]: https://github.com/dim
@@ -2154,6 +2386,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2154
2386
  [@djmb]: https://github.com/djmb
2155
2387
  [@dorner]: https://github.com/dorner
2156
2388
  [@drcapulet]: https://github.com/drcapulet
2389
+ [@e1senh0rn]: https://github.com/e1senh0rn
2157
2390
  [@elyalvarado]: https://github.com/elyalvarado
2158
2391
  [@ericmustin]: https://github.com/ericmustin
2159
2392
  [@erict-square]: https://github.com/erict-square
@@ -2164,6 +2397,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2164
2397
  [@gaborszakacs]: https://github.com/gaborszakacs
2165
2398
  [@giancarlocosta]: https://github.com/giancarlocosta
2166
2399
  [@gingerlime]: https://github.com/gingerlime
2400
+ [@gkampjes]: https://github.com/gkampjes
2167
2401
  [@gottfrois]: https://github.com/gottfrois
2168
2402
  [@guizmaii]: https://github.com/guizmaii
2169
2403
  [@hawknewton]: https://github.com/hawknewton
@@ -2187,11 +2421,13 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2187
2421
  [@mdehoog]: https://github.com/mdehoog
2188
2422
  [@mdross95]: https://github.com/mdross95
2189
2423
  [@michaelkl]: https://github.com/michaelkl
2424
+ [@mriddle]: https://github.com/mriddle
2190
2425
  [@mstruve]: https://github.com/mstruve
2191
2426
  [@mustela]: https://github.com/mustela
2192
2427
  [@nic-lan]: https://github.com/nic-lan
2193
2428
  [@noma4i]: https://github.com/noma4i
2194
2429
  [@norbertnytko]: https://github.com/norbertnytko
2430
+ [@orekyuu]: https://github.com/orekyuu
2195
2431
  [@palin]: https://github.com/palin
2196
2432
  [@pj0tr]: https://github.com/pj0tr
2197
2433
  [@psycholein]: https://github.com/psycholein
@@ -2213,6 +2449,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2213
2449
  [@tjgrathwell]: https://github.com/tjgrathwell
2214
2450
  [@tjwp]: https://github.com/tjwp
2215
2451
  [@tomasv]: https://github.com/tomasv
2452
+ [@tomgi]: https://github.com/tomgi
2216
2453
  [@tonypinder]: https://github.com/tonypinder
2217
2454
  [@twe4ked]: https://github.com/twe4ked
2218
2455
  [@undergroundwebdesigns]: https://github.com/undergroundwebdesigns
data/Gemfile CHANGED
@@ -2,8 +2,68 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- if RUBY_VERSION >= '3.0.0'
6
- gem 'webrick', '>= 1.7.0' # No longer bundled by default since Ruby 3.0
5
+ # Development dependencies
6
+ gem 'addressable', '~> 2.4.0' # locking transitive dependency of webmock
7
+ gem 'appraisal', '~> 2.2'
8
+ gem 'benchmark-ips', '~> 2.8'
9
+ gem 'benchmark-memory', '~> 0.1'
10
+ gem 'builder'
11
+ gem 'climate_control', '~> 0.2.0'
12
+ # Leave it open as we also have it as an integration and want Appraisal to control the version under test.
13
+ gem 'concurrent-ruby'
14
+ gem 'memory_profiler', '~> 0.9'
15
+ gem 'minitest', '= 5.10.1'
16
+ gem 'minitest-around', '0.5.0'
17
+ gem 'minitest-stub_any_instance', '1.0.2'
18
+ gem 'pimpmychangelog', '>= 0.1.2'
19
+ gem 'pry'
20
+ if RUBY_PLATFORM != 'java'
21
+ # There's a few incompatibilities between pry/pry-byebug on older Rubies
22
+ gem 'pry-byebug' if RUBY_VERSION >= '2.6.0' && RUBY_ENGINE != 'truffleruby'
23
+ gem 'pry-nav' if RUBY_VERSION < '2.6.0'
24
+ gem 'pry-stack_explorer'
25
+ else
26
+ gem 'pry-debugger-jruby'
7
27
  end
28
+ gem 'rake', '>= 10.5'
29
+ gem 'redcarpet', '~> 3.4' if RUBY_PLATFORM != 'java'
30
+ gem 'rspec', '~> 3.10'
31
+ gem 'rspec-collection_matchers', '~> 1.1'
32
+ gem 'rspec_junit_formatter', '>= 0.4.1'
33
+ gem 'rspec_n', '~> 1.3' if RUBY_VERSION >= '2.3.0'
34
+ gem 'ruby-prof', '~> 1.4' if RUBY_PLATFORM != 'java' && RUBY_VERSION >= '2.4.0'
35
+ if RUBY_VERSION >= '2.5.0'
36
+ # Merging branch coverage results does not work for old, unsupported rubies.
37
+ # We have a fix up for review, https://github.com/simplecov-ruby/simplecov/pull/972,
38
+ # but given it only affects unsupported version of Ruby, it might not get merged.
39
+ gem 'simplecov', git: 'https://github.com/DataDog/simplecov', ref: '3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db'
40
+ else
41
+ # Compatible with older rubies. This version still produces compatible output
42
+ # with a newer version when the reports are merged.
43
+ gem 'simplecov', '~> 0.17'
44
+ end
45
+ gem 'warning', '~> 1' if RUBY_VERSION >= '2.5.0'
46
+ gem 'webmock', '>= 3.10.0'
47
+ if RUBY_VERSION < '2.3.0'
48
+ gem 'rexml', '< 3.2.5' # Pinned due to https://github.com/ruby/rexml/issues/69
49
+ end
50
+ gem 'webrick', '>= 1.7.0' if RUBY_VERSION >= '3.0.0' # No longer bundled by default since Ruby 3.0
51
+ gem 'yard', '~> 0.9'
52
+
53
+ if RUBY_VERSION >= '2.4.0'
54
+ gem 'rubocop', '~> 1.10', require: false
55
+ gem 'rubocop-performance', '~> 1.9', require: false
56
+ gem 'rubocop-rspec', '~> 2.2', require: false
57
+ end
58
+
59
+ # Optional extensions
60
+ # TODO: Move this to Appraisals?
61
+ gem 'dogstatsd-ruby', '>= 3.3.0'
62
+ gem 'opentracing', '>= 0.4.1'
8
63
 
9
- # This file was generated by Appraisal
64
+ # Profiler optional dependencies
65
+ # NOTE: We're excluding versions 3.7.0 and 3.7.1 for the reasons documented in #1424 and the big comment in
66
+ # lib/ddtrace/profiling.rb: it breaks for some older rubies in CI without BUNDLE_FORCE_RUBY_PLATFORM=true.
67
+ # Since most of our customers won't have BUNDLE_FORCE_RUBY_PLATFORM=true, it's not something we want to add
68
+ # to our CI, so we just shortcut and exclude specific versions that were affecting our CI.
69
+ gem 'google-protobuf', ['~> 3.0', '!= 3.7.0', '!= 3.7.1'] if RUBY_PLATFORM != 'java'
@@ -0,0 +1,2 @@
1
+ Component,Origin,License,Copyright
2
+ ddtrace/vendor/multipart-post,https://github.com/socketry/multipart-post,MIT,"Copyright (c) 2007-2013 Nick Sieger."
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Datadog Trace Client
2
2
 
3
3
  [![CircleCI](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master.svg?style=svg&circle-token=b0bd5ef866ec7f7b018f48731bb495f2d1372cc1)](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master)
4
+ [![codecov](https://codecov.io/gh/DataDog/dd-trace-rb/branch/master/graph/badge.svg)](https://app.codecov.io/gh/DataDog/dd-trace-rb/branch/master)
4
5
 
5
6
  ``ddtrace`` is Datadog’s tracing client for Ruby. It is used to trace requests as they flow across web servers,
6
7
  databases and microservices so that developers have great visiblity into bottlenecks and troublesome requests.
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'ddtrace/version'
3
- require 'rubocop/rake_task' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
3
+ require 'rubocop/rake_task' if Gem.loaded_specs.key? 'rubocop'
4
4
  require 'rspec/core/rake_task'
5
5
  require 'rake/testtask'
6
6
  require 'appraisal'
@@ -17,7 +17,8 @@ namespace :spec do
17
17
 
18
18
  RSpec::Core::RakeTask.new(:main) do |t, args|
19
19
  t.pattern = 'spec/**/*_spec.rb'
20
- t.exclude_pattern = 'spec/**/{contrib,benchmark,redis,opentracer,opentelemetry}/**/*_spec.rb'
20
+ t.exclude_pattern = 'spec/**/{contrib,benchmark,redis,opentracer,opentelemetry,auto_instrument}/**/*_spec.rb,'\
21
+ ' spec/**/auto_instrument_spec.rb'
21
22
  t.rspec_opts = args.to_a.join(' ')
22
23
  end
23
24
 
@@ -38,7 +39,7 @@ namespace :spec do
38
39
 
39
40
  RSpec::Core::RakeTask.new(:rails) do |t, args|
40
41
  t.pattern = 'spec/ddtrace/contrib/rails/**/*_spec.rb'
41
- t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache}*_spec.rb'
42
+ t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache,auto_instrument}*_spec.rb'
42
43
  t.rspec_opts = args.to_a.join(' ')
43
44
  end
44
45
 
@@ -57,6 +58,16 @@ namespace :spec do
57
58
  t.rspec_opts = args.to_a.join(' ')
58
59
  end
59
60
 
61
+ RSpec::Core::RakeTask.new(:railsautoinstrument) do |t, args|
62
+ t.pattern = 'spec/ddtrace/contrib/rails/**/*auto_instrument*_spec.rb'
63
+ t.rspec_opts = args.to_a.join(' ')
64
+ end
65
+
66
+ RSpec::Core::RakeTask.new(:autoinstrument) do |t, args|
67
+ t.pattern = 'spec/ddtrace/auto_instrument_spec.rb'
68
+ t.rspec_opts = args.to_a.join(' ')
69
+ end
70
+
60
71
  RSpec::Core::RakeTask.new(:contrib) do |t, args|
61
72
  contrib_paths = [
62
73
  'analytics',
@@ -96,6 +107,7 @@ namespace :spec do
96
107
  :graphql,
97
108
  :grpc,
98
109
  :http,
110
+ :httpclient,
99
111
  :httprb,
100
112
  :kafka,
101
113
  :mongodb,
@@ -127,16 +139,14 @@ end
127
139
 
128
140
  namespace :test do
129
141
  task all: [:main,
130
- :rails,
131
- :monkey]
142
+ :rails]
132
143
 
133
144
  Rake::TestTask.new(:main) do |t|
134
145
  t.libs << %w[test lib]
135
146
  t.test_files = FileList['test/**/*_test.rb'].reject do |path|
136
147
  path.include?('contrib') ||
137
148
  path.include?('benchmark') ||
138
- path.include?('redis') ||
139
- path.include?('monkey_test.rb')
149
+ path.include?('redis')
140
150
  end
141
151
  end
142
152
 
@@ -144,19 +154,6 @@ namespace :test do
144
154
  t.libs << %w[test lib]
145
155
  t.test_files = FileList['test/contrib/rails/**/*_test.rb']
146
156
  end
147
-
148
- [
149
- ].each do |contrib|
150
- Rake::TestTask.new(contrib) do |t|
151
- t.libs << %w[test lib]
152
- t.test_files = FileList["test/contrib/#{contrib}/*_test.rb"]
153
- end
154
- end
155
-
156
- Rake::TestTask.new(:monkey) do |t|
157
- t.libs << %w[test lib]
158
- t.test_files = FileList['test/monkey_test.rb']
159
- end
160
157
  end
161
158
 
162
159
  Rake::TestTask.new(:benchmark) do |t|
@@ -164,7 +161,7 @@ Rake::TestTask.new(:benchmark) do |t|
164
161
  t.test_files = FileList['test/benchmark_test.rb']
165
162
  end
166
163
 
167
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
164
+ if defined?(RuboCop::RakeTask)
168
165
  RuboCop::RakeTask.new(:rubocop) do |t|
169
166
  t.options << ['-D', '--force-exclusion']
170
167
  t.patterns = ['lib/**/*.rb', 'test/**/*.rb', 'spec/**/*.rb', 'Gemfile', 'Rakefile']
@@ -184,6 +181,7 @@ S3_DIR = ENV['S3_DIR']
184
181
  desc 'release the docs website'
185
182
  task :'release:docs' => :docs do
186
183
  raise 'Missing environment variable S3_DIR' if !S3_DIR || S3_DIR.empty?
184
+
187
185
  sh "aws s3 cp --recursive doc/ s3://#{S3_BUCKET}/#{S3_DIR}/docs/"
188
186
  end
189
187
 
@@ -211,15 +209,15 @@ task :ci do
211
209
  # Main library
212
210
  declare 'bundle exec rake test:main'
213
211
  declare 'bundle exec rake spec:main'
212
+ declare 'bundle exec appraisal core-old rake spec:main'
214
213
  declare 'bundle exec rake spec:contrib'
215
214
 
216
215
  if RUBY_PLATFORM != 'java'
217
- # Contrib minitests
218
- declare 'bundle exec appraisal contrib-old rake test:monkey'
219
216
  # Contrib specs
220
217
  declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
221
218
  declare 'bundle exec appraisal contrib-old rake spec:active_record'
222
219
  declare 'bundle exec appraisal contrib-old rake spec:active_support'
220
+ declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
223
221
  declare 'bundle exec appraisal contrib-old rake spec:aws'
224
222
  declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
225
223
  declare 'bundle exec appraisal contrib-old rake spec:dalli'
@@ -229,6 +227,7 @@ task :ci do
229
227
  declare 'bundle exec appraisal contrib-old rake spec:excon'
230
228
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
231
229
  declare 'bundle exec appraisal contrib-old rake spec:http'
230
+ declare 'bundle exec appraisal contrib-old rake spec:httpclient'
232
231
  declare 'bundle exec appraisal contrib-old rake spec:httprb'
233
232
  declare 'bundle exec appraisal contrib-old rake spec:mongodb'
234
233
  declare 'bundle exec appraisal contrib-old rake spec:mysql2'
@@ -246,10 +245,12 @@ task :ci do
246
245
  # Rails minitests
247
246
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
248
247
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
248
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
249
249
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
250
250
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
251
251
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
252
252
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
253
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
253
254
  # Rails specs
254
255
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
255
256
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -265,16 +266,16 @@ task :ci do
265
266
  # Main library
266
267
  declare 'bundle exec rake test:main'
267
268
  declare 'bundle exec rake spec:main'
269
+ declare 'bundle exec appraisal core-old rake spec:main'
268
270
  declare 'bundle exec rake spec:contrib'
269
271
  declare 'bundle exec rake spec:opentracer'
270
272
 
271
273
  if RUBY_PLATFORM != 'java'
272
- # Contrib minitests
273
- declare 'bundle exec appraisal contrib-old rake test:monkey'
274
274
  # Contrib specs
275
275
  declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
276
276
  declare 'bundle exec appraisal contrib-old rake spec:active_record'
277
277
  declare 'bundle exec appraisal contrib-old rake spec:active_support'
278
+ declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
278
279
  declare 'bundle exec appraisal contrib-old rake spec:aws'
279
280
  declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
280
281
  declare 'bundle exec appraisal contrib-old rake spec:dalli'
@@ -284,6 +285,7 @@ task :ci do
284
285
  declare 'bundle exec appraisal contrib-old rake spec:excon'
285
286
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
286
287
  declare 'bundle exec appraisal contrib-old rake spec:http'
288
+ declare 'bundle exec appraisal contrib-old rake spec:httpclient'
287
289
  declare 'bundle exec appraisal contrib-old rake spec:httprb'
288
290
  declare 'bundle exec appraisal contrib-old rake spec:kafka'
289
291
  declare 'bundle exec appraisal contrib-old rake spec:mongodb'
@@ -303,14 +305,17 @@ task :ci do
303
305
  # Rails minitests
304
306
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
305
307
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
308
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
306
309
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
307
310
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
308
311
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
309
312
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
313
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
310
314
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
311
315
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
312
316
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
313
317
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
318
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
314
319
  # Rails specs
315
320
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
316
321
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -328,6 +333,7 @@ task :ci do
328
333
  # Main library
329
334
  declare 'bundle exec rake test:main'
330
335
  declare 'bundle exec rake spec:main'
336
+ declare 'bundle exec appraisal core-old rake spec:main'
331
337
  declare 'bundle exec rake spec:contrib'
332
338
  declare 'bundle exec rake spec:opentracer'
333
339
 
@@ -339,6 +345,7 @@ task :ci do
339
345
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
340
346
  declare 'bundle exec appraisal contrib rake spec:active_record'
341
347
  declare 'bundle exec appraisal contrib rake spec:active_support'
348
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
342
349
  declare 'bundle exec appraisal contrib rake spec:aws'
343
350
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
344
351
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -351,6 +358,7 @@ task :ci do
351
358
  declare 'bundle exec appraisal contrib rake spec:graphql'
352
359
  declare 'bundle exec appraisal contrib rake spec:grpc'
353
360
  declare 'bundle exec appraisal contrib rake spec:http'
361
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
354
362
  declare 'bundle exec appraisal contrib rake spec:httprb'
355
363
  declare 'bundle exec appraisal contrib rake spec:kafka'
356
364
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -375,14 +383,17 @@ task :ci do
375
383
  # Rails minitests
376
384
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
377
385
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
386
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
378
387
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
379
388
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
380
389
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
381
390
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
391
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
382
392
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
383
393
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
384
394
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
385
395
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
396
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
386
397
  declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
387
398
  declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
388
399
  declare 'bundle exec appraisal rails5-postgres rake test:rails'
@@ -390,6 +401,7 @@ task :ci do
390
401
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
391
402
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
392
403
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
404
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
393
405
  # Rails specs
394
406
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
395
407
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -404,6 +416,7 @@ task :ci do
404
416
  # Main library
405
417
  declare 'bundle exec rake test:main'
406
418
  declare 'bundle exec rake spec:main'
419
+ declare 'bundle exec appraisal core-old rake spec:main'
407
420
  declare 'bundle exec rake spec:contrib'
408
421
  declare 'bundle exec rake spec:opentracer'
409
422
 
@@ -415,6 +428,7 @@ task :ci do
415
428
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
416
429
  declare 'bundle exec appraisal contrib rake spec:active_record'
417
430
  declare 'bundle exec appraisal contrib rake spec:active_support'
431
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
418
432
  declare 'bundle exec appraisal contrib rake spec:aws'
419
433
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
420
434
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -427,6 +441,7 @@ task :ci do
427
441
  declare 'bundle exec appraisal contrib rake spec:graphql'
428
442
  declare 'bundle exec appraisal contrib rake spec:grpc'
429
443
  declare 'bundle exec appraisal contrib rake spec:http'
444
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
430
445
  declare 'bundle exec appraisal contrib rake spec:httprb'
431
446
  declare 'bundle exec appraisal contrib rake spec:kafka'
432
447
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -452,14 +467,17 @@ task :ci do
452
467
  # Rails minitests
453
468
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
454
469
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
470
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
455
471
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
456
472
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
457
473
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
458
474
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
475
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
459
476
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
460
477
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
461
478
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
462
479
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
480
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
463
481
  declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
464
482
  declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
465
483
  declare 'bundle exec appraisal rails5-postgres rake test:rails'
@@ -467,6 +485,7 @@ task :ci do
467
485
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
468
486
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
469
487
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
488
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
470
489
  # Rails specs
471
490
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
472
491
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -485,6 +504,7 @@ task :ci do
485
504
  # Main library
486
505
  declare 'bundle exec rake test:main'
487
506
  declare 'bundle exec rake spec:main'
507
+ declare 'bundle exec appraisal core-old rake spec:main'
488
508
  declare 'bundle exec rake spec:contrib'
489
509
  declare 'bundle exec rake spec:opentracer'
490
510
  declare 'bundle exec rake spec:opentelemetry'
@@ -497,6 +517,7 @@ task :ci do
497
517
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
498
518
  declare 'bundle exec appraisal contrib rake spec:active_record'
499
519
  declare 'bundle exec appraisal contrib rake spec:active_support'
520
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
500
521
  declare 'bundle exec appraisal contrib rake spec:aws'
501
522
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
502
523
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -509,6 +530,7 @@ task :ci do
509
530
  declare 'bundle exec appraisal contrib rake spec:graphql'
510
531
  declare 'bundle exec appraisal contrib rake spec:grpc'
511
532
  declare 'bundle exec appraisal contrib rake spec:http'
533
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
512
534
  declare 'bundle exec appraisal contrib rake spec:httprb'
513
535
  declare 'bundle exec appraisal contrib rake spec:kafka'
514
536
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -539,6 +561,7 @@ task :ci do
539
561
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
540
562
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
541
563
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
564
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
542
565
  # Rails specs
543
566
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
544
567
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
@@ -556,6 +579,7 @@ task :ci do
556
579
  # Main library
557
580
  declare 'bundle exec rake test:main'
558
581
  declare 'bundle exec rake spec:main'
582
+ declare 'bundle exec appraisal core-old rake spec:main'
559
583
  declare 'bundle exec rake spec:contrib'
560
584
  declare 'bundle exec rake spec:opentracer'
561
585
  declare 'bundle exec rake spec:opentelemetry'
@@ -566,6 +590,7 @@ task :ci do
566
590
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
567
591
  declare 'bundle exec appraisal contrib rake spec:active_record'
568
592
  declare 'bundle exec appraisal contrib rake spec:active_support'
593
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
569
594
  declare 'bundle exec appraisal contrib rake spec:aws'
570
595
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
571
596
  declare 'bundle exec appraisal contrib rake spec:cucumber'
@@ -579,6 +604,7 @@ task :ci do
579
604
  declare 'bundle exec appraisal contrib rake spec:graphql'
580
605
  declare 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
581
606
  declare 'bundle exec appraisal contrib rake spec:http'
607
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
582
608
  declare 'bundle exec appraisal contrib rake spec:httprb'
583
609
  declare 'bundle exec appraisal contrib rake spec:kafka'
584
610
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -610,12 +636,14 @@ task :ci do
610
636
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
611
637
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
612
638
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
639
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
613
640
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
614
641
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
615
642
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
616
643
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
617
644
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
618
645
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
646
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
619
647
  # Rails specs
620
648
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
621
649
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
@@ -645,6 +673,7 @@ task :ci do
645
673
  # Main library
646
674
  declare 'bundle exec rake test:main'
647
675
  declare 'bundle exec rake spec:main'
676
+ declare 'bundle exec appraisal core-old rake spec:main'
648
677
  declare 'bundle exec rake spec:contrib'
649
678
  declare 'bundle exec rake spec:opentracer'
650
679
  declare 'bundle exec rake spec:opentelemetry'
@@ -657,6 +686,7 @@ task :ci do
657
686
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
658
687
  declare 'bundle exec appraisal contrib rake spec:active_record'
659
688
  declare 'bundle exec appraisal contrib rake spec:active_support'
689
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
660
690
  declare 'bundle exec appraisal contrib rake spec:aws'
661
691
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
662
692
  declare 'bundle exec appraisal contrib rake spec:cucumber'
@@ -670,6 +700,7 @@ task :ci do
670
700
  declare 'bundle exec appraisal contrib rake spec:graphql'
671
701
  declare 'bundle exec appraisal contrib rake spec:grpc'
672
702
  declare 'bundle exec appraisal contrib rake spec:http'
703
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
673
704
  declare 'bundle exec appraisal contrib rake spec:httprb'
674
705
  declare 'bundle exec appraisal contrib rake spec:kafka'
675
706
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -702,12 +733,14 @@ task :ci do
702
733
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
703
734
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
704
735
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
736
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
705
737
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
706
738
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
707
739
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
708
740
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
709
741
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
710
742
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
743
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
711
744
  # Rails specs
712
745
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
713
746
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
@@ -738,6 +771,7 @@ task :ci do
738
771
  # Main library
739
772
  declare 'bundle exec rake test:main'
740
773
  declare 'bundle exec rake spec:main'
774
+ declare 'bundle exec appraisal core-old rake spec:main'
741
775
  declare 'bundle exec rake spec:contrib'
742
776
  declare 'bundle exec rake spec:opentracer'
743
777
  declare 'bundle exec rake spec:opentelemetry'
@@ -750,6 +784,7 @@ task :ci do
750
784
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
751
785
  declare 'bundle exec appraisal contrib rake spec:active_record'
752
786
  declare 'bundle exec appraisal contrib rake spec:active_support'
787
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
753
788
  declare 'bundle exec appraisal contrib rake spec:aws'
754
789
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
755
790
  declare 'bundle exec appraisal contrib rake spec:cucumber'
@@ -763,6 +798,7 @@ task :ci do
763
798
  declare 'bundle exec appraisal contrib rake spec:graphql'
764
799
  declare 'bundle exec appraisal contrib rake spec:grpc'
765
800
  declare 'bundle exec appraisal contrib rake spec:http'
801
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
766
802
  declare 'bundle exec appraisal contrib rake spec:httprb'
767
803
  declare 'bundle exec appraisal contrib rake spec:kafka'
768
804
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -795,12 +831,14 @@ task :ci do
795
831
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
796
832
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
797
833
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
834
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
798
835
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
799
836
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
800
837
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
801
838
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
802
839
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
803
840
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
841
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
804
842
  # Rails specs
805
843
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
806
844
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
@@ -829,6 +867,7 @@ task :ci do
829
867
  # Main library
830
868
  declare 'bundle exec rake test:main'
831
869
  declare 'bundle exec rake spec:main'
870
+ declare 'bundle exec appraisal core-old rake spec:main'
832
871
  declare 'bundle exec rake spec:contrib'
833
872
  declare 'bundle exec rake spec:opentracer'
834
873
  declare 'bundle exec rake spec:opentelemetry'
@@ -854,6 +893,7 @@ task :ci do
854
893
  declare 'bundle exec appraisal contrib rake spec:graphql'
855
894
  # declare 'bundle exec appraisal contrib rake spec:grpc' # Pending https://github.com/protocolbuffers/protobuf/issues/7922
856
895
  declare 'bundle exec appraisal contrib rake spec:http'
896
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
857
897
  declare 'bundle exec appraisal contrib rake spec:httprb'
858
898
  declare 'bundle exec appraisal contrib rake spec:kafka'
859
899
  declare 'bundle exec appraisal contrib rake spec:mongodb'