ddtrace 0.41.0 → 0.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +223 -126
  3. data/.circleci/images/primary/Dockerfile-3.0.0 +73 -0
  4. data/.github/workflows/add-milestone-to-pull-requests.yml +42 -0
  5. data/.github/workflows/create-next-milestone.yml +20 -0
  6. data/.rubocop.yml +250 -7
  7. data/.rubocop_todo.yml +396 -0
  8. data/.simplecov +3 -0
  9. data/Appraisals +429 -135
  10. data/CHANGELOG.md +1158 -354
  11. data/CONTRIBUTING.md +2 -2
  12. data/Gemfile +40 -3
  13. data/README.md +1 -0
  14. data/Rakefile +236 -29
  15. data/ddtrace.gemspec +4 -35
  16. data/docker-compose.yml +30 -0
  17. data/docs/DevelopmentGuide.md +40 -2
  18. data/docs/GettingStarted.md +186 -16
  19. data/integration/README.md +68 -0
  20. data/integration/apps/rack/.dockerignore +1 -0
  21. data/integration/apps/rack/.envrc.sample +1 -0
  22. data/integration/apps/rack/.gitignore +4 -0
  23. data/integration/apps/rack/.rspec +1 -0
  24. data/integration/apps/rack/Dockerfile +25 -0
  25. data/integration/apps/rack/Dockerfile-ci +11 -0
  26. data/integration/apps/rack/Gemfile +24 -0
  27. data/integration/apps/rack/README.md +93 -0
  28. data/integration/apps/rack/app/acme.rb +80 -0
  29. data/integration/apps/rack/app/datadog.rb +17 -0
  30. data/integration/apps/rack/bin/run +22 -0
  31. data/integration/apps/rack/bin/setup +17 -0
  32. data/integration/apps/rack/bin/test +24 -0
  33. data/integration/apps/rack/config.ru +6 -0
  34. data/integration/apps/rack/config/puma.rb +14 -0
  35. data/integration/apps/rack/config/unicorn.rb +23 -0
  36. data/integration/apps/rack/docker-compose.ci.yml +62 -0
  37. data/integration/apps/rack/docker-compose.yml +78 -0
  38. data/integration/apps/rack/script/build-images +38 -0
  39. data/integration/apps/rack/script/ci +50 -0
  40. data/integration/apps/rack/spec/integration/basic_spec.rb +10 -0
  41. data/integration/apps/rack/spec/spec_helper.rb +16 -0
  42. data/integration/apps/rack/spec/support/integration_helper.rb +22 -0
  43. data/integration/apps/rails-five/.dockerignore +1 -0
  44. data/integration/apps/rails-five/.env +3 -0
  45. data/integration/apps/rails-five/.envrc.sample +1 -0
  46. data/integration/apps/rails-five/.gitignore +30 -0
  47. data/integration/apps/rails-five/Dockerfile +25 -0
  48. data/integration/apps/rails-five/Dockerfile-ci +11 -0
  49. data/integration/apps/rails-five/Gemfile +104 -0
  50. data/integration/apps/rails-five/README.md +94 -0
  51. data/integration/apps/rails-five/Rakefile +6 -0
  52. data/integration/apps/rails-five/app/channels/application_cable/channel.rb +4 -0
  53. data/integration/apps/rails-five/app/channels/application_cable/connection.rb +4 -0
  54. data/integration/apps/rails-five/app/controllers/application_controller.rb +2 -0
  55. data/integration/apps/rails-five/app/controllers/basic_controller.rb +36 -0
  56. data/integration/apps/rails-five/app/controllers/concerns/.keep +0 -0
  57. data/integration/apps/rails-five/app/controllers/health_controller.rb +9 -0
  58. data/integration/apps/rails-five/app/controllers/jobs_controller.rb +12 -0
  59. data/integration/apps/rails-five/app/jobs/application_job.rb +2 -0
  60. data/integration/apps/rails-five/app/jobs/test_job.rb +12 -0
  61. data/integration/apps/rails-five/app/mailers/application_mailer.rb +4 -0
  62. data/integration/apps/rails-five/app/models/application_record.rb +3 -0
  63. data/integration/apps/rails-five/app/models/concerns/.keep +0 -0
  64. data/integration/apps/rails-five/app/models/test.rb +2 -0
  65. data/integration/apps/rails-five/app/views/layouts/mailer.html.erb +13 -0
  66. data/integration/apps/rails-five/app/views/layouts/mailer.text.erb +1 -0
  67. data/integration/apps/rails-five/bin/bundle +3 -0
  68. data/integration/apps/rails-five/bin/rails +9 -0
  69. data/integration/apps/rails-five/bin/rake +9 -0
  70. data/integration/apps/rails-five/bin/run +24 -0
  71. data/integration/apps/rails-five/bin/setup +27 -0
  72. data/integration/apps/rails-five/bin/spring +17 -0
  73. data/integration/apps/rails-five/bin/test +21 -0
  74. data/integration/apps/rails-five/bin/update +28 -0
  75. data/integration/apps/rails-five/config.ru +5 -0
  76. data/integration/apps/rails-five/config/application.rb +97 -0
  77. data/integration/apps/rails-five/config/boot.rb +4 -0
  78. data/integration/apps/rails-five/config/cable.yml +10 -0
  79. data/integration/apps/rails-five/config/credentials.yml.enc +1 -0
  80. data/integration/apps/rails-five/config/database.yml +28 -0
  81. data/integration/apps/rails-five/config/environment.rb +5 -0
  82. data/integration/apps/rails-five/config/environments/development.rb +51 -0
  83. data/integration/apps/rails-five/config/environments/production.rb +82 -0
  84. data/integration/apps/rails-five/config/environments/test.rb +43 -0
  85. data/integration/apps/rails-five/config/initializers/datadog.rb +18 -0
  86. data/integration/apps/rails-five/config/initializers/filter_parameter_logging.rb +4 -0
  87. data/integration/apps/rails-five/config/initializers/resque.rb +4 -0
  88. data/integration/apps/rails-five/config/initializers/rollbar.rb +5 -0
  89. data/integration/apps/rails-five/config/initializers/wrap_parameters.rb +14 -0
  90. data/integration/apps/rails-five/config/locales/en.yml +33 -0
  91. data/integration/apps/rails-five/config/puma.rb +24 -0
  92. data/integration/apps/rails-five/config/routes.rb +11 -0
  93. data/integration/apps/rails-five/config/spring.rb +6 -0
  94. data/integration/apps/rails-five/config/unicorn.rb +29 -0
  95. data/integration/apps/rails-five/db/migrate/20190927215052_create_tests.rb +11 -0
  96. data/integration/apps/rails-five/db/schema.rb +23 -0
  97. data/integration/apps/rails-five/db/seeds.rb +7 -0
  98. data/integration/apps/rails-five/docker-compose.ci.yml +98 -0
  99. data/integration/apps/rails-five/docker-compose.yml +100 -0
  100. data/integration/apps/rails-five/lib/tasks/.keep +0 -0
  101. data/integration/apps/rails-five/log/.keep +0 -0
  102. data/integration/apps/rails-five/public/robots.txt +1 -0
  103. data/integration/apps/rails-five/script/build-images +35 -0
  104. data/integration/apps/rails-five/script/ci +50 -0
  105. data/integration/apps/rails-five/spec/integration/basic_spec.rb +10 -0
  106. data/integration/apps/rails-five/spec/spec_helper.rb +16 -0
  107. data/integration/apps/rails-five/spec/support/integration_helper.rb +22 -0
  108. data/integration/apps/rails-five/storage/.keep +0 -0
  109. data/integration/apps/rails-five/tmp/.keep +0 -0
  110. data/integration/apps/rails-five/vendor/.keep +0 -0
  111. data/integration/apps/ruby/.dockerignore +1 -0
  112. data/integration/apps/ruby/.envrc.sample +1 -0
  113. data/integration/apps/ruby/.gitignore +2 -0
  114. data/integration/apps/ruby/Dockerfile +25 -0
  115. data/integration/apps/ruby/Dockerfile-ci +11 -0
  116. data/integration/apps/ruby/Gemfile +11 -0
  117. data/integration/apps/ruby/README.md +70 -0
  118. data/integration/apps/ruby/agent.yaml +3 -0
  119. data/integration/apps/ruby/app/datadog.rb +13 -0
  120. data/integration/apps/ruby/app/fibonacci.rb +58 -0
  121. data/integration/apps/ruby/bin/run +20 -0
  122. data/integration/apps/ruby/bin/setup +17 -0
  123. data/integration/apps/ruby/bin/test +21 -0
  124. data/integration/apps/ruby/docker-compose.ci.yml +51 -0
  125. data/integration/apps/ruby/docker-compose.yml +63 -0
  126. data/integration/apps/ruby/script/build-images +38 -0
  127. data/integration/apps/ruby/script/ci +50 -0
  128. data/integration/images/agent/Dockerfile +2 -0
  129. data/integration/images/agent/agent.yaml +3 -0
  130. data/integration/images/include/datadog/analyzer.rb +71 -0
  131. data/integration/images/include/datadog/demo_env.rb +101 -0
  132. data/integration/images/include/http-health-check +33 -0
  133. data/integration/images/ruby/2.0/Dockerfile +54 -0
  134. data/integration/images/ruby/2.1/Dockerfile +54 -0
  135. data/integration/images/ruby/2.2/Dockerfile +54 -0
  136. data/integration/images/ruby/2.3/Dockerfile +70 -0
  137. data/integration/images/ruby/2.4/Dockerfile +54 -0
  138. data/integration/images/ruby/2.5/Dockerfile +54 -0
  139. data/integration/images/ruby/2.6/Dockerfile +54 -0
  140. data/integration/images/ruby/2.7/Dockerfile +54 -0
  141. data/integration/images/ruby/3.0/Dockerfile +54 -0
  142. data/integration/images/wrk/Dockerfile +33 -0
  143. data/integration/images/wrk/scripts/entrypoint.sh +17 -0
  144. data/integration/images/wrk/scripts/scenarios/basic/default.lua +1 -0
  145. data/integration/images/wrk/scripts/scenarios/basic/fibonacci.lua +1 -0
  146. data/integration/script/build-images +43 -0
  147. data/lib/ddtrace.rb +10 -5
  148. data/lib/ddtrace/analytics.rb +2 -0
  149. data/lib/ddtrace/auto_instrument.rb +3 -0
  150. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  151. data/lib/ddtrace/buffer.rb +230 -134
  152. data/lib/ddtrace/configuration.rb +21 -5
  153. data/lib/ddtrace/configuration/base.rb +1 -1
  154. data/lib/ddtrace/configuration/components.rb +2 -2
  155. data/lib/ddtrace/configuration/option_definition.rb +1 -3
  156. data/lib/ddtrace/configuration/options.rb +2 -3
  157. data/lib/ddtrace/configuration/settings.rb +21 -5
  158. data/lib/ddtrace/context.rb +23 -6
  159. data/lib/ddtrace/context_provider.rb +18 -5
  160. data/lib/ddtrace/contrib/action_cable/event.rb +1 -0
  161. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  162. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +1 -3
  163. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  164. data/lib/ddtrace/contrib/action_view/event.rb +1 -5
  165. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  166. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  167. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  168. data/lib/ddtrace/contrib/action_view/utils.rb +1 -1
  169. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +17 -5
  170. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  171. data/lib/ddtrace/contrib/active_record/utils.rb +68 -21
  172. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +104 -3
  173. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +21 -0
  174. data/lib/ddtrace/contrib/active_support/ext.rb +3 -0
  175. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  176. data/lib/ddtrace/contrib/active_support/notifications/event.rb +12 -1
  177. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +1 -0
  178. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +9 -5
  179. data/lib/ddtrace/contrib/auto_instrument.rb +49 -0
  180. data/lib/ddtrace/contrib/aws/instrumentation.rb +2 -1
  181. data/lib/ddtrace/contrib/aws/patcher.rb +1 -1
  182. data/lib/ddtrace/contrib/aws/services.rb +2 -0
  183. data/lib/ddtrace/contrib/configurable.rb +2 -0
  184. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +6 -8
  185. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +28 -0
  186. data/lib/ddtrace/contrib/cucumber/ext.rb +17 -0
  187. data/lib/ddtrace/contrib/cucumber/formatter.rb +98 -0
  188. data/lib/ddtrace/contrib/cucumber/instrumentation.rb +24 -0
  189. data/lib/ddtrace/contrib/cucumber/integration.rb +45 -0
  190. data/lib/ddtrace/contrib/cucumber/patcher.rb +23 -0
  191. data/lib/ddtrace/contrib/dalli/patcher.rb +0 -38
  192. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +2 -0
  193. data/lib/ddtrace/contrib/delayed_job/ext.rb +2 -0
  194. data/lib/ddtrace/contrib/delayed_job/plugin.rb +38 -15
  195. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +3 -2
  196. data/lib/ddtrace/contrib/ethon/easy_patch.rb +11 -10
  197. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  198. data/lib/ddtrace/contrib/excon/middleware.rb +9 -7
  199. data/lib/ddtrace/contrib/extensions.rb +28 -1
  200. data/lib/ddtrace/contrib/faraday/middleware.rb +1 -3
  201. data/lib/ddtrace/contrib/faraday/patcher.rb +0 -36
  202. data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -0
  203. data/lib/ddtrace/contrib/grape/endpoint.rb +47 -21
  204. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  205. data/lib/ddtrace/contrib/grape/patcher.rb +0 -42
  206. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +8 -8
  207. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -1
  208. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +1 -0
  209. data/lib/ddtrace/contrib/grpc/patcher.rb +0 -36
  210. data/lib/ddtrace/contrib/http/circuit_breaker.rb +1 -3
  211. data/lib/ddtrace/contrib/http/instrumentation.rb +7 -7
  212. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  213. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  214. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +151 -0
  215. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  216. data/lib/ddtrace/contrib/httpclient/patcher.rb +35 -0
  217. data/lib/ddtrace/contrib/httprb/instrumentation.rb +5 -6
  218. data/lib/ddtrace/contrib/kafka/event.rb +1 -1
  219. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +2 -0
  220. data/lib/ddtrace/contrib/mongodb/subscribers.rb +2 -3
  221. data/lib/ddtrace/contrib/patchable.rb +18 -7
  222. data/lib/ddtrace/contrib/patcher.rb +1 -1
  223. data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
  224. data/lib/ddtrace/contrib/qless/ext.rb +20 -0
  225. data/lib/ddtrace/contrib/qless/integration.rb +38 -0
  226. data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
  227. data/lib/ddtrace/contrib/qless/qless_job.rb +73 -0
  228. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +33 -0
  229. data/lib/ddtrace/contrib/que/configuration/settings.rb +1 -0
  230. data/lib/ddtrace/contrib/que/ext.rb +19 -19
  231. data/lib/ddtrace/contrib/que/tracer.rb +3 -2
  232. data/lib/ddtrace/contrib/racecar/event.rb +1 -0
  233. data/lib/ddtrace/contrib/rack/configuration/settings.rb +3 -3
  234. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  235. data/lib/ddtrace/contrib/rack/middlewares.rb +6 -11
  236. data/lib/ddtrace/contrib/rack/patcher.rb +1 -3
  237. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  238. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  239. data/lib/ddtrace/contrib/rails/patcher.rb +19 -5
  240. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  241. data/lib/ddtrace/contrib/rake/instrumentation.rb +4 -2
  242. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  243. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +3 -1
  244. data/lib/ddtrace/contrib/redis/configuration/settings.rb +5 -0
  245. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  246. data/lib/ddtrace/contrib/redis/patcher.rb +20 -3
  247. data/lib/ddtrace/contrib/redis/quantize.rb +28 -0
  248. data/lib/ddtrace/contrib/redis/tags.rb +5 -1
  249. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  250. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +6 -7
  251. data/lib/ddtrace/contrib/registry.rb +2 -2
  252. data/lib/ddtrace/contrib/resque/configuration/settings.rb +1 -0
  253. data/lib/ddtrace/contrib/resque/integration.rb +1 -1
  254. data/lib/ddtrace/contrib/resque/resque_job.rb +3 -1
  255. data/lib/ddtrace/contrib/rest_client/request_patch.rb +1 -3
  256. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +28 -0
  257. data/lib/ddtrace/contrib/rspec/example.rb +75 -0
  258. data/lib/ddtrace/contrib/rspec/ext.rb +16 -0
  259. data/lib/ddtrace/contrib/rspec/integration.rb +46 -0
  260. data/lib/ddtrace/contrib/rspec/patcher.rb +23 -0
  261. data/lib/ddtrace/contrib/sequel/utils.rb +5 -6
  262. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +1 -0
  263. data/lib/ddtrace/contrib/shoryuken/tracer.rb +3 -1
  264. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +1 -0
  265. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +5 -7
  266. data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -1
  267. data/lib/ddtrace/contrib/sinatra/env.rb +1 -3
  268. data/lib/ddtrace/contrib/sinatra/headers.rb +1 -3
  269. data/lib/ddtrace/contrib/sinatra/tracer.rb +1 -3
  270. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +5 -5
  271. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +1 -0
  272. data/lib/ddtrace/contrib/sneakers/ext.rb +11 -11
  273. data/lib/ddtrace/contrib/sneakers/tracer.rb +16 -21
  274. data/lib/ddtrace/contrib/status_code_matcher.rb +69 -0
  275. data/lib/ddtrace/correlation.rb +1 -0
  276. data/lib/ddtrace/diagnostics/environment_logger.rb +2 -1
  277. data/lib/ddtrace/distributed_tracing/headers/headers.rb +1 -0
  278. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +1 -3
  279. data/lib/ddtrace/ext/app_types.rb +1 -0
  280. data/lib/ddtrace/ext/ci.rb +297 -0
  281. data/lib/ddtrace/ext/distributed.rb +8 -2
  282. data/lib/ddtrace/ext/git.rb +11 -0
  283. data/lib/ddtrace/ext/http.rb +1 -1
  284. data/lib/ddtrace/ext/runtime.rb +2 -1
  285. data/lib/ddtrace/ext/test.rb +24 -0
  286. data/lib/ddtrace/forced_tracing.rb +2 -0
  287. data/lib/ddtrace/logger.rb +1 -1
  288. data/lib/ddtrace/metrics.rb +10 -6
  289. data/lib/ddtrace/opentracer/distributed_headers.rb +3 -0
  290. data/lib/ddtrace/opentracer/span.rb +2 -6
  291. data/lib/ddtrace/opentracer/thread_local_scope.rb +1 -0
  292. data/lib/ddtrace/patcher.rb +2 -3
  293. data/lib/ddtrace/pin.rb +3 -52
  294. data/lib/ddtrace/pipeline/span_filter.rb +1 -1
  295. data/lib/ddtrace/propagation/grpc_propagator.rb +17 -4
  296. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  297. data/lib/ddtrace/quantization/http.rb +1 -0
  298. data/lib/ddtrace/runtime/cgroup.rb +1 -1
  299. data/lib/ddtrace/runtime/container.rb +2 -2
  300. data/lib/ddtrace/runtime/identity.rb +4 -5
  301. data/lib/ddtrace/sampler.rb +1 -1
  302. data/lib/ddtrace/sampling/rate_limiter.rb +65 -16
  303. data/lib/ddtrace/sampling/rule_sampler.rb +1 -0
  304. data/lib/ddtrace/span.rb +7 -7
  305. data/lib/ddtrace/sync_writer.rb +7 -10
  306. data/lib/ddtrace/tracer.rb +23 -10
  307. data/lib/ddtrace/transport/http.rb +1 -3
  308. data/lib/ddtrace/transport/http/adapters/net.rb +9 -4
  309. data/lib/ddtrace/transport/http/adapters/registry.rb +1 -0
  310. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +2 -4
  311. data/lib/ddtrace/transport/http/builder.rb +2 -0
  312. data/lib/ddtrace/transport/http/traces.rb +2 -3
  313. data/lib/ddtrace/transport/io.rb +1 -1
  314. data/lib/ddtrace/transport/traces.rb +3 -0
  315. data/lib/ddtrace/utils.rb +10 -11
  316. data/lib/ddtrace/utils/forking.rb +52 -0
  317. data/lib/ddtrace/utils/time.rb +25 -1
  318. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  319. data/lib/ddtrace/version.rb +1 -1
  320. data/lib/ddtrace/workers.rb +5 -0
  321. data/lib/ddtrace/workers/async.rb +8 -0
  322. data/lib/ddtrace/workers/loop.rb +3 -0
  323. data/lib/ddtrace/workers/polling.rb +1 -0
  324. data/lib/ddtrace/workers/runtime_metrics.rb +7 -3
  325. data/lib/ddtrace/workers/trace_writer.rb +9 -10
  326. data/lib/ddtrace/writer.rb +22 -4
  327. metadata +168 -358
  328. data/lib/ddtrace/augmentation.rb +0 -13
  329. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  330. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  331. data/lib/ddtrace/augmentation/shim.rb +0 -102
  332. data/lib/ddtrace/monkey.rb +0 -58
data/.simplecov CHANGED
@@ -2,6 +2,9 @@ SimpleCov.add_group 'contrib', '/lib/ddtrace/contrib'
2
2
  SimpleCov.add_group 'transport', '/lib/ddtrace/transport'
3
3
  SimpleCov.add_group 'spec', '/spec/'
4
4
 
5
+ # Exclude code not maintained by this project
6
+ SimpleCov.add_filter %r{/vendor/}
7
+
5
8
  SimpleCov.coverage_dir ENV.fetch('COVERAGE_DIR', 'coverage')
6
9
 
7
10
  # Each test run requires its own unique command_name.
data/Appraisals CHANGED
@@ -2,6 +2,12 @@ lib = File.expand_path('../lib', __FILE__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'ddtrace/version'
4
4
 
5
+ def self.gem_cucumber(version)
6
+ appraise "cucumber#{version}" do
7
+ gem 'cucumber', ">=#{version}.0.0", "<#{version + 1}.0.0"
8
+ end
9
+ end
10
+
5
11
  if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(Datadog::VERSION::MINIMUM_RUBY_VERSION)
6
12
  raise NotImplementedError, "Ruby versions < #{Datadog::VERSION::MINIMUM_RUBY_VERSION} are not supported!"
7
13
  elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
@@ -33,6 +39,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
33
39
  gem 'activerecord-mysql-adapter', platform: :ruby
34
40
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
35
41
  gem 'rack-cache', '1.7.1'
42
+ gem 'sqlite3', '~> 1.3.5'
36
43
  gem 'lograge', '< 0.4'
37
44
  end
38
45
 
@@ -80,6 +87,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
80
87
  gem 'excon'
81
88
  gem 'hiredis'
82
89
  gem 'http'
90
+ gem 'httpclient'
83
91
  gem 'mongo', '< 2.5'
84
92
  gem 'mysql2', '0.3.21', platform: :ruby
85
93
  gem 'pg', '< 1.0', platform: :ruby
@@ -90,6 +98,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
90
98
  gem 'redis', '< 4.0'
91
99
  gem 'rest-client'
92
100
  gem 'resque', '< 2.0'
101
+ gem 'rspec', '>= 3.0.0'
93
102
  gem 'sequel', '~> 4.0', '< 4.37'
94
103
  gem 'sidekiq', '~> 3.5.4'
95
104
  gem 'sinatra', '1.4.5'
@@ -128,6 +137,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
128
137
  gem 'activerecord-mysql-adapter', platform: :ruby
129
138
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
130
139
  gem 'rack-cache', '1.7.1'
140
+ gem 'sqlite3', '~> 1.3.5'
131
141
  gem 'lograge', '< 0.4'
132
142
  end
133
143
 
@@ -202,6 +212,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
202
212
  gem 'excon'
203
213
  gem 'hiredis'
204
214
  gem 'http'
215
+ gem 'httpclient'
205
216
  gem 'mongo', '< 2.5'
206
217
  gem 'mysql2', '0.3.21', platform: :ruby
207
218
  gem 'pg', '< 1.0', platform: :ruby
@@ -213,6 +224,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
213
224
  gem 'rest-client'
214
225
  gem 'resque', '< 2.0'
215
226
  gem 'ruby-kafka', '>= 0.7.10'
227
+ gem 'rspec', '>= 3.0.0'
216
228
  gem 'sequel', '~> 4.0', '< 4.37'
217
229
  gem 'shoryuken'
218
230
  gem 'sidekiq', '~> 3.5.4'
@@ -252,6 +264,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
252
264
  gem 'activerecord-mysql-adapter', platform: :ruby
253
265
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
254
266
  gem 'rack-cache', '1.7.1'
267
+ gem 'sqlite3', '~> 1.3.5'
255
268
  gem 'lograge', '< 0.4'
256
269
  end
257
270
 
@@ -377,12 +390,14 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
377
390
  gem 'excon'
378
391
  gem 'faraday'
379
392
  gem 'grape'
380
- gem 'graphql', '< 1.9.4'
393
+ gem 'graphql', '>= 1.12.0'
381
394
  gem 'grpc', '~> 1.21.0' # Last version to support Ruby < 2.3
382
395
  gem 'hiredis'
383
396
  gem 'http'
397
+ gem 'httpclient'
384
398
  gem 'mongo', '>= 2.8.0'
385
399
  gem 'mysql2', '< 0.5', platform: :ruby
400
+ gem 'qless'
386
401
  gem 'racecar', '>= 0.3.5'
387
402
  gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
388
403
  gem 'rack-test'
@@ -391,6 +406,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
391
406
  gem 'rest-client'
392
407
  gem 'resque', '< 2.0'
393
408
  gem 'ruby-kafka', '>= 0.7.10'
409
+ gem 'rspec', '>= 3.0.0'
394
410
  gem 'sequel'
395
411
  gem 'shoryuken'
396
412
  gem 'sidekiq'
@@ -431,6 +447,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
431
447
  gem 'activerecord-mysql-adapter', platform: :ruby
432
448
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
433
449
  gem 'rack-cache', '1.7.1'
450
+ gem 'sqlite3', '~> 1.3.5'
434
451
  gem 'lograge', '< 0.4'
435
452
  end
436
453
 
@@ -539,6 +556,18 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
539
556
  gem 'lograge'
540
557
  end
541
558
 
559
+ appraise 'resque2-redis3' do
560
+ gem 'redis', '< 4.0'
561
+ gem 'resque', '>= 2.0'
562
+ end
563
+
564
+ appraise 'resque2-redis4' do
565
+ gem 'redis', '>= 4.0'
566
+ gem 'resque', '>= 2.0'
567
+ end
568
+
569
+ (3..4).each { |v| gem_cucumber(v) }
570
+
542
571
  appraise 'contrib' do
543
572
  gem 'actionpack'
544
573
  gem 'actionview'
@@ -554,23 +583,26 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
554
583
  gem 'excon'
555
584
  gem 'faraday'
556
585
  gem 'grape'
557
- gem 'graphql'
586
+ gem 'graphql', '>= 1.12.0'
558
587
  gem 'grpc'
559
588
  gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
560
589
  gem 'hiredis'
561
590
  gem 'http'
591
+ gem 'httpclient'
562
592
  gem 'mongo', '>= 2.8.0'
563
593
  gem 'mysql2', '< 0.5', platform: :ruby
564
594
  gem 'pg', platform: :ruby
565
595
  gem 'presto-client', '>= 0.5.14'
596
+ gem 'qless'
566
597
  gem 'racecar', '>= 0.3.5'
567
598
  gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
568
599
  gem 'rack-test'
569
600
  gem 'rake', '>= 12.3'
570
601
  gem 'redis', '< 4.0'
571
602
  gem 'rest-client'
572
- gem 'resque', '< 2.0'
603
+ gem 'resque'
573
604
  gem 'ruby-kafka', '>= 0.7.10'
605
+ gem 'rspec', '>= 3.0.0'
574
606
  gem 'sequel'
575
607
  gem 'shoryuken'
576
608
  gem 'sidekiq'
@@ -628,6 +660,18 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
628
660
  gem 'lograge'
629
661
  end
630
662
 
663
+ appraise 'resque2-redis3' do
664
+ gem 'redis', '< 4.0'
665
+ gem 'resque', '>= 2.0'
666
+ end
667
+
668
+ appraise 'resque2-redis4' do
669
+ gem 'redis', '>= 4.0'
670
+ gem 'resque', '>= 2.0'
671
+ end
672
+
673
+ (3..4).each { |v| gem_cucumber(v) }
674
+
631
675
  appraise 'contrib' do
632
676
  gem 'actionpack'
633
677
  gem 'actionview'
@@ -635,6 +679,7 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
635
679
  gem 'activerecord', '< 5.1.5'
636
680
  gem 'aws-sdk'
637
681
  gem 'concurrent-ruby'
682
+ gem 'cucumber'
638
683
  gem 'dalli'
639
684
  gem 'delayed_job'
640
685
  gem 'delayed_job_active_record'
@@ -643,23 +688,26 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
643
688
  gem 'excon'
644
689
  gem 'faraday'
645
690
  gem 'grape'
646
- gem 'graphql'
691
+ gem 'graphql', '>= 1.12.0'
647
692
  gem 'grpc'
648
693
  gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
649
694
  gem 'hiredis'
650
695
  gem 'http'
696
+ gem 'httpclient'
651
697
  gem 'mongo', '>= 2.8.0'
652
698
  gem 'mysql2', '< 0.5', platform: :ruby
653
699
  gem 'pg', platform: :ruby
654
700
  gem 'presto-client', '>= 0.5.14'
701
+ gem 'qless'
655
702
  gem 'racecar', '>= 0.3.5'
656
703
  gem 'rack'
657
704
  gem 'rack-test'
658
705
  gem 'rake', '>= 12.3'
659
706
  gem 'redis', '< 4.0'
660
707
  gem 'rest-client'
661
- gem 'resque', '< 2.0'
708
+ gem 'resque'
662
709
  gem 'ruby-kafka', '>= 0.7.10'
710
+ gem 'rspec', '>= 3.0.0'
663
711
  gem 'sequel'
664
712
  gem 'shoryuken'
665
713
  gem 'sidekiq'
@@ -677,10 +725,213 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
677
725
  end
678
726
  elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
679
727
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
728
+ appraise 'rails5-mysql2' do
729
+ gem 'rails', '~> 5.2.1'
730
+ gem 'mysql2', '< 1', platform: :ruby
731
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
732
+ gem 'sprockets', '< 4'
733
+ gem 'lograge'
734
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
735
+ end
736
+
737
+ appraise 'rails5-postgres' do
738
+ gem 'rails', '~> 5.2.1'
739
+ gem 'pg', '< 1.0', platform: :ruby
740
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
741
+ gem 'sprockets', '< 4'
742
+ gem 'lograge'
743
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
744
+ end
745
+
746
+ appraise 'rails5-postgres-redis' do
747
+ gem 'rails', '~> 5.2.1'
748
+ gem 'pg', '< 1.0', platform: :ruby
749
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
750
+ gem 'redis', '>= 4.0.1'
751
+ gem 'sprockets', '< 4'
752
+ gem 'lograge'
753
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
754
+ end
755
+
756
+ appraise 'rails5-postgres-redis-activesupport' do
757
+ gem 'rails', '~> 5.2.1'
758
+ gem 'pg', '< 1.0', platform: :ruby
759
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
760
+ gem 'redis', '>= 4.0.1'
761
+ gem 'sprockets', '< 4'
762
+ gem 'lograge'
763
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
764
+ end
765
+
766
+ appraise 'rails5-postgres-sidekiq' do
767
+ gem 'rails', '~> 5.2.1'
768
+ gem 'pg', '< 1.0', platform: :ruby
769
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
770
+ gem 'sidekiq'
771
+ gem 'activejob'
772
+ gem 'sprockets', '< 4'
773
+ gem 'lograge'
774
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
775
+ end
776
+
777
+ appraise 'rails6-mysql2' do
778
+ gem 'rails', '~> 6.0.0'
779
+ gem 'mysql2', '< 1', platform: :ruby
780
+ gem 'activerecord-jdbcmysql-adapter', '>= 60', platform: :jruby # try remove >= 60
781
+ gem 'sprockets', '< 4'
782
+ gem 'lograge'
783
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
784
+ end
785
+
786
+ appraise 'rails6-postgres' do
787
+ gem 'rails', '~> 6.0.0'
788
+ gem 'pg', '< 1.0', platform: :ruby
789
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
790
+ gem 'sprockets', '< 4'
791
+ gem 'lograge'
792
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
793
+ end
794
+
795
+ appraise 'rails6-postgres-redis' do
796
+ gem 'rails', '~> 6.0.0'
797
+ gem 'pg', '< 1.0', platform: :ruby
798
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
799
+ gem 'redis', '>= 4.0.1'
800
+ gem 'sprockets', '< 4'
801
+ gem 'lograge'
802
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
803
+ end
804
+
805
+ appraise 'rails6-postgres-redis-activesupport' do
806
+ gem 'rails', '~> 6.0.0'
807
+ gem 'pg', '< 1.0', platform: :ruby
808
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
809
+ gem 'redis', '>= 4.0.1'
810
+ gem 'sprockets', '< 4'
811
+ gem 'lograge'
812
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
813
+ end
814
+
815
+ appraise 'rails6-postgres-sidekiq' do
816
+ gem 'rails', '~> 6.0.0'
817
+ gem 'pg', '< 1.0', platform: :ruby
818
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
819
+ gem 'sidekiq'
820
+ gem 'activejob'
821
+ gem 'sprockets', '< 4'
822
+ gem 'lograge'
823
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
824
+ end
825
+
826
+ appraise 'rails61-mysql2' do
827
+ gem 'rails', '~> 6.1.0'
828
+ gem 'mysql2', '~> 0.5', platform: :ruby
829
+ gem 'activerecord-jdbcmysql-adapter', '>= 61', platform: :jruby
830
+ gem 'sprockets', '< 4'
831
+ gem 'lograge', '~> 0.11'
832
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
833
+ end
834
+
835
+ appraise 'rails61-postgres' do
836
+ gem 'rails', '~> 6.1.0'
837
+ gem 'pg', '>= 1.1', platform: :ruby
838
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 61', platform: :jruby
839
+ gem 'sprockets', '< 4'
840
+ gem 'lograge', '~> 0.11'
841
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
842
+ end
843
+
844
+ appraise 'rails61-postgres-redis' do
845
+ gem 'rails', '~> 6.1.0'
846
+ gem 'pg', '>= 1.1', platform: :ruby
847
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 61', platform: :jruby
848
+ gem 'redis', '>= 4.2.5'
849
+ gem 'sprockets', '< 4'
850
+ gem 'lograge', '~> 0.11'
851
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
852
+ end
853
+
854
+ appraise 'rails61-postgres-sidekiq' do
855
+ gem 'rails', '~> 6.1.0'
856
+ gem 'pg', '>= 1.1', platform: :ruby
857
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 61', platform: :jruby
858
+ gem 'sidekiq', '>= 6.1.2'
859
+ gem 'sprockets', '< 4'
860
+ gem 'lograge', '~> 0.11'
861
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
862
+ end
863
+
864
+ appraise 'resque2-redis3' do
865
+ gem 'redis', '< 4.0'
866
+ gem 'resque', '>= 2.0'
867
+ end
868
+
869
+ appraise 'resque2-redis4' do
870
+ gem 'redis', '>= 4.0'
871
+ gem 'resque', '>= 2.0'
872
+ end
873
+
874
+ (3..5).each { |v| gem_cucumber(v) }
875
+
876
+ appraise 'contrib' do
877
+ gem 'actionpack'
878
+ gem 'actionview'
879
+ gem 'active_model_serializers', '>= 0.10.0'
880
+ gem 'activerecord'
881
+ gem 'aws-sdk'
882
+ gem 'concurrent-ruby'
883
+ gem 'cucumber'
884
+ gem 'dalli'
885
+ gem 'delayed_job'
886
+ gem 'delayed_job_active_record'
887
+ gem 'elasticsearch-transport'
888
+ gem 'ethon'
889
+ gem 'excon'
890
+ gem 'faraday'
891
+ gem 'grape'
892
+ gem 'graphql', '>= 1.12.0'
893
+ gem 'grpc', platform: :ruby
894
+ gem 'hiredis'
895
+ gem 'http'
896
+ gem 'httpclient'
897
+ gem 'i18n', '1.8.7', platform: :jruby # Removal pending: https://github.com/ruby-i18n/i18n/issues/555#issuecomment-772112169
898
+ gem 'mongo', '>= 2.8.0'
899
+ gem 'mysql2', '< 1', platform: :ruby
900
+ gem 'activerecord-jdbcmysql-adapter', '>= 60.2', platform: :jruby
901
+ gem 'pg', platform: :ruby
902
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60.2', platform: :jruby
903
+ gem 'presto-client', '>= 0.5.14'
904
+ gem 'qless'
905
+ gem 'racecar', '>= 0.3.5'
906
+ gem 'rack'
907
+ gem 'rack-test'
908
+ gem 'rake', '>= 12.3'
909
+ gem 'redis', '< 4.0'
910
+ gem 'rest-client'
911
+ gem 'resque'
912
+ gem 'ruby-kafka', '>= 0.7.10'
913
+ gem 'rspec', '>= 3.0.0'
914
+ gem 'sequel'
915
+ gem 'shoryuken'
916
+ gem 'sidekiq'
917
+ gem 'sinatra'
918
+ gem 'sneakers', '>= 2.12.0'
919
+ gem 'sqlite3', '~> 1.4.1', platform: :ruby
920
+ gem 'jdbc-sqlite3', '>= 3.28', platform: :jruby
921
+ gem 'sucker_punch'
922
+ gem 'typhoeus'
923
+ gem 'que', '>= 1.0.0.beta2'
924
+ end
925
+
926
+ appraise 'contrib-old' do
927
+ gem 'faraday', '0.17'
928
+ end
929
+ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
930
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
931
+ if RUBY_PLATFORM != 'java'
680
932
  appraise 'rails5-mysql2' do
681
933
  gem 'rails', '~> 5.2.1'
682
934
  gem 'mysql2', '< 1', platform: :ruby
683
- gem 'activerecord-jdbcmysql-adapter', platform: :jruby
684
935
  gem 'sprockets', '< 4'
685
936
  gem 'lograge'
686
937
  end
@@ -688,7 +939,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
688
939
  appraise 'rails5-postgres' do
689
940
  gem 'rails', '~> 5.2.1'
690
941
  gem 'pg', '< 1.0', platform: :ruby
691
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
692
942
  gem 'sprockets', '< 4'
693
943
  gem 'lograge'
694
944
  end
@@ -696,7 +946,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
696
946
  appraise 'rails5-postgres-redis' do
697
947
  gem 'rails', '~> 5.2.1'
698
948
  gem 'pg', '< 1.0', platform: :ruby
699
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
700
949
  gem 'redis', '>= 4.0.1'
701
950
  gem 'sprockets', '< 4'
702
951
  gem 'lograge'
@@ -705,7 +954,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
705
954
  appraise 'rails5-postgres-redis-activesupport' do
706
955
  gem 'rails', '~> 5.2.1'
707
956
  gem 'pg', '< 1.0', platform: :ruby
708
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
709
957
  gem 'redis', '>= 4.0.1'
710
958
  gem 'sprockets', '< 4'
711
959
  gem 'lograge'
@@ -714,7 +962,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
714
962
  appraise 'rails5-postgres-sidekiq' do
715
963
  gem 'rails', '~> 5.2.1'
716
964
  gem 'pg', '< 1.0', platform: :ruby
717
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
718
965
  gem 'sidekiq'
719
966
  gem 'activejob'
720
967
  gem 'sprockets', '< 4'
@@ -724,7 +971,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
724
971
  appraise 'rails6-mysql2' do
725
972
  gem 'rails', '~> 6.0.0'
726
973
  gem 'mysql2', '< 1', platform: :ruby
727
- gem 'activerecord-jdbcmysql-adapter', '>= 60', platform: :jruby # try remove >= 60
728
974
  gem 'sprockets', '< 4'
729
975
  gem 'lograge'
730
976
  end
@@ -732,7 +978,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
732
978
  appraise 'rails6-postgres' do
733
979
  gem 'rails', '~> 6.0.0'
734
980
  gem 'pg', '< 1.0', platform: :ruby
735
- gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
736
981
  gem 'sprockets', '< 4'
737
982
  gem 'lograge'
738
983
  end
@@ -740,7 +985,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
740
985
  appraise 'rails6-postgres-redis' do
741
986
  gem 'rails', '~> 6.0.0'
742
987
  gem 'pg', '< 1.0', platform: :ruby
743
- gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
744
988
  gem 'redis', '>= 4.0.1'
745
989
  gem 'sprockets', '< 4'
746
990
  gem 'lograge'
@@ -749,7 +993,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
749
993
  appraise 'rails6-postgres-redis-activesupport' do
750
994
  gem 'rails', '~> 6.0.0'
751
995
  gem 'pg', '< 1.0', platform: :ruby
752
- gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
753
996
  gem 'redis', '>= 4.0.1'
754
997
  gem 'sprockets', '< 4'
755
998
  gem 'lograge'
@@ -758,140 +1001,53 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
758
1001
  appraise 'rails6-postgres-sidekiq' do
759
1002
  gem 'rails', '~> 6.0.0'
760
1003
  gem 'pg', '< 1.0', platform: :ruby
761
- gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
762
1004
  gem 'sidekiq'
763
1005
  gem 'activejob'
764
1006
  gem 'sprockets', '< 4'
765
1007
  gem 'lograge'
766
1008
  end
767
1009
 
768
- appraise 'contrib' do
769
- gem 'actionpack'
770
- gem 'actionview'
771
- gem 'active_model_serializers', '>= 0.10.0'
772
- gem 'activerecord'
773
- gem 'aws-sdk'
774
- gem 'concurrent-ruby'
775
- gem 'dalli'
776
- gem 'delayed_job'
777
- gem 'delayed_job_active_record'
778
- gem 'elasticsearch-transport'
779
- gem 'ethon'
780
- gem 'excon'
781
- gem 'faraday'
782
- gem 'grape'
783
- gem 'graphql'
784
- gem 'grpc', platform: :ruby
785
- gem 'hiredis'
786
- gem 'http'
787
- gem 'mongo', '>= 2.8.0'
788
- gem 'mysql2', '< 0.5', platform: :ruby
789
- gem 'activerecord-jdbcmysql-adapter', platform: :jruby
790
- gem 'pg', platform: :ruby
791
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
792
- gem 'presto-client', '>= 0.5.14'
793
- gem 'racecar', '>= 0.3.5'
794
- gem 'rack'
795
- gem 'rack-test'
796
- gem 'rake', '>= 12.3'
797
- gem 'redis', '< 4.0'
798
- gem 'rest-client'
799
- gem 'resque', '< 2.0'
800
- gem 'ruby-kafka', '>= 0.7.10'
801
- gem 'sequel'
802
- gem 'shoryuken'
803
- gem 'sidekiq'
804
- gem 'sinatra'
805
- gem 'sneakers', '>= 2.12.0'
806
- gem 'sqlite3', '~> 1.4.1', platform: :ruby
807
- gem 'sucker_punch'
808
- gem 'typhoeus'
809
- gem 'que', '>= 1.0.0.beta2'
810
- end
811
-
812
- appraise 'contrib-old' do
813
- gem 'faraday', '0.17'
814
- end
815
- elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
816
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
817
- if RUBY_PLATFORM != 'java'
818
- appraise 'rails5-mysql2' do
819
- gem 'rails', '~> 5.2.1'
820
- gem 'mysql2', '< 1', platform: :ruby
821
- gem 'sprockets', '< 4'
822
- gem 'lograge'
823
- end
824
-
825
- appraise 'rails5-postgres' do
826
- gem 'rails', '~> 5.2.1'
827
- gem 'pg', '< 1.0', platform: :ruby
828
- gem 'sprockets', '< 4'
829
- gem 'lograge'
830
- end
831
-
832
- appraise 'rails5-postgres-redis' do
833
- gem 'rails', '~> 5.2.1'
834
- gem 'pg', '< 1.0', platform: :ruby
835
- gem 'redis', '>= 4.0.1'
836
- gem 'sprockets', '< 4'
837
- gem 'lograge'
838
- end
839
-
840
- appraise 'rails5-postgres-redis-activesupport' do
841
- gem 'rails', '~> 5.2.1'
842
- gem 'pg', '< 1.0', platform: :ruby
843
- gem 'redis', '>= 4.0.1'
1010
+ appraise 'rails61-mysql2' do
1011
+ gem 'rails', '~> 6.1.0'
1012
+ gem 'mysql2', '~> 0.5', platform: :ruby
844
1013
  gem 'sprockets', '< 4'
845
- gem 'lograge'
1014
+ gem 'lograge', '~> 0.11'
846
1015
  end
847
1016
 
848
- appraise 'rails5-postgres-sidekiq' do
849
- gem 'rails', '~> 5.2.1'
850
- gem 'pg', '< 1.0', platform: :ruby
851
- gem 'sidekiq'
852
- gem 'activejob'
1017
+ appraise 'rails61-postgres' do
1018
+ gem 'rails', '~> 6.1.0'
1019
+ gem 'pg', '>= 1.1', platform: :ruby
853
1020
  gem 'sprockets', '< 4'
854
- gem 'lograge'
1021
+ gem 'lograge', '~> 0.11'
855
1022
  end
856
1023
 
857
- appraise 'rails6-mysql2' do
858
- gem 'rails', '~> 6.0.0'
859
- gem 'mysql2', '< 1', platform: :ruby
1024
+ appraise 'rails61-postgres-redis' do
1025
+ gem 'rails', '~> 6.1.0'
1026
+ gem 'pg', '>= 1.1', platform: :ruby
1027
+ gem 'redis', '>= 4.2.5'
860
1028
  gem 'sprockets', '< 4'
861
- gem 'lograge'
1029
+ gem 'lograge', '~> 0.11'
862
1030
  end
863
1031
 
864
- appraise 'rails6-postgres' do
865
- gem 'rails', '~> 6.0.0'
866
- gem 'pg', '< 1.0', platform: :ruby
1032
+ appraise 'rails61-postgres-sidekiq' do
1033
+ gem 'rails', '~> 6.1.0'
1034
+ gem 'pg', '>= 1.1', platform: :ruby
1035
+ gem 'sidekiq', '>= 6.1.2'
867
1036
  gem 'sprockets', '< 4'
868
- gem 'lograge'
1037
+ gem 'lograge', '~> 0.11'
869
1038
  end
870
1039
 
871
- appraise 'rails6-postgres-redis' do
872
- gem 'rails', '~> 6.0.0'
873
- gem 'pg', '< 1.0', platform: :ruby
874
- gem 'redis', '>= 4.0.1'
875
- gem 'sprockets', '< 4'
876
- gem 'lograge'
1040
+ appraise 'resque2-redis3' do
1041
+ gem 'redis', '< 4.0'
1042
+ gem 'resque', '>= 2.0'
877
1043
  end
878
1044
 
879
- appraise 'rails6-postgres-redis-activesupport' do
880
- gem 'rails', '~> 6.0.0'
881
- gem 'pg', '< 1.0', platform: :ruby
882
- gem 'redis', '>= 4.0.1'
883
- gem 'sprockets', '< 4'
884
- gem 'lograge'
1045
+ appraise 'resque2-redis4' do
1046
+ gem 'redis', '>= 4.0'
1047
+ gem 'resque', '>= 2.0'
885
1048
  end
886
1049
 
887
- appraise 'rails6-postgres-sidekiq' do
888
- gem 'rails', '~> 6.0.0'
889
- gem 'pg', '< 1.0', platform: :ruby
890
- gem 'sidekiq'
891
- gem 'activejob'
892
- gem 'sprockets', '< 4'
893
- gem 'lograge'
894
- end
1050
+ (3..5).each { |v| gem_cucumber(v) }
895
1051
 
896
1052
  appraise 'contrib' do
897
1053
  gem 'actionpack'
@@ -900,6 +1056,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
900
1056
  gem 'activerecord'
901
1057
  gem 'aws-sdk'
902
1058
  gem 'concurrent-ruby'
1059
+ gem 'cucumber'
903
1060
  gem 'dalli'
904
1061
  gem 'delayed_job'
905
1062
  gem 'delayed_job_active_record'
@@ -908,22 +1065,25 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
908
1065
  gem 'excon'
909
1066
  gem 'faraday'
910
1067
  gem 'grape'
911
- gem 'graphql'
1068
+ gem 'graphql', '>= 1.12.0'
912
1069
  gem 'grpc'
913
1070
  gem 'hiredis'
914
1071
  gem 'http'
1072
+ gem 'httpclient'
915
1073
  gem 'mongo', '>= 2.8.0'
916
- gem 'mysql2', '< 0.5', platform: :ruby
1074
+ gem 'mysql2', '< 1', platform: :ruby
917
1075
  gem 'pg', platform: :ruby
918
1076
  gem 'presto-client', '>= 0.5.14'
1077
+ gem 'qless'
919
1078
  gem 'racecar', '>= 0.3.5'
920
1079
  gem 'rack'
921
1080
  gem 'rack-test'
922
1081
  gem 'rake', '>= 12.3'
923
1082
  gem 'redis', '< 4.0'
924
1083
  gem 'rest-client'
925
- gem 'resque', '< 2.0'
1084
+ gem 'resque'
926
1085
  gem 'ruby-kafka', '>= 0.7.10'
1086
+ gem 'rspec', '>= 3.0.0'
927
1087
  gem 'sequel'
928
1088
  gem 'shoryuken'
929
1089
  gem 'sidekiq'
@@ -939,11 +1099,12 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
939
1099
  gem 'faraday', '0.17'
940
1100
  end
941
1101
  end
942
- elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1102
+ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION) \
1103
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0.0')
943
1104
  if RUBY_PLATFORM != 'java'
944
1105
  appraise 'rails5-mysql2' do
945
1106
  gem 'rails', '~> 5.2.1'
946
- gem 'mysql2', '< 0.5', platform: :ruby
1107
+ gem 'mysql2', '< 1', platform: :ruby
947
1108
  gem 'sprockets', '< 4'
948
1109
  gem 'lograge'
949
1110
  end
@@ -984,7 +1145,7 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
984
1145
 
985
1146
  appraise 'rails6-mysql2' do
986
1147
  gem 'rails', '~> 6.0.0'
987
- gem 'mysql2', '< 0.6', platform: :ruby
1148
+ gem 'mysql2', '< 1', platform: :ruby
988
1149
  gem 'sprockets', '< 4'
989
1150
  gem 'lograge'
990
1151
  end
@@ -1023,6 +1184,48 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1023
1184
  gem 'lograge'
1024
1185
  end
1025
1186
 
1187
+ appraise 'rails61-mysql2' do
1188
+ gem 'rails', '~> 6.1.0'
1189
+ gem 'mysql2', '~> 0.5', platform: :ruby
1190
+ gem 'sprockets', '< 4'
1191
+ gem 'lograge', '~> 0.11'
1192
+ end
1193
+
1194
+ appraise 'rails61-postgres' do
1195
+ gem 'rails', '~> 6.1.0'
1196
+ gem 'pg', '>= 1.1', platform: :ruby
1197
+ gem 'sprockets', '< 4'
1198
+ gem 'lograge', '~> 0.11'
1199
+ end
1200
+
1201
+ appraise 'rails61-postgres-redis' do
1202
+ gem 'rails', '~> 6.1.0'
1203
+ gem 'pg', '>= 1.1', platform: :ruby
1204
+ gem 'redis', '>= 4.2.5'
1205
+ gem 'sprockets', '< 4'
1206
+ gem 'lograge', '~> 0.11'
1207
+ end
1208
+
1209
+ appraise 'rails61-postgres-sidekiq' do
1210
+ gem 'rails', '~> 6.1.0'
1211
+ gem 'pg', '>= 1.1', platform: :ruby
1212
+ gem 'sidekiq', '>= 6.1.2'
1213
+ gem 'sprockets', '< 4'
1214
+ gem 'lograge', '~> 0.11'
1215
+ end
1216
+
1217
+ appraise 'resque2-redis3' do
1218
+ gem 'redis', '< 4.0'
1219
+ gem 'resque', '>= 2.0'
1220
+ end
1221
+
1222
+ appraise 'resque2-redis4' do
1223
+ gem 'redis', '>= 4.0'
1224
+ gem 'resque', '>= 2.0'
1225
+ end
1226
+
1227
+ (3..5).each { |v| gem_cucumber(v) }
1228
+
1026
1229
  appraise 'contrib' do
1027
1230
  gem 'actionpack'
1028
1231
  gem 'actionview'
@@ -1030,6 +1233,7 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1030
1233
  gem 'activerecord'
1031
1234
  gem 'aws-sdk'
1032
1235
  gem 'concurrent-ruby'
1236
+ gem 'cucumber'
1033
1237
  gem 'dalli'
1034
1238
  gem 'delayed_job'
1035
1239
  gem 'delayed_job_active_record'
@@ -1037,22 +1241,25 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1037
1241
  gem 'ethon'
1038
1242
  gem 'excon'
1039
1243
  gem 'grape'
1040
- gem 'graphql'
1244
+ gem 'graphql', '>= 1.12.0'
1041
1245
  gem 'grpc'
1042
1246
  gem 'hiredis'
1043
1247
  gem 'http'
1248
+ gem 'httpclient'
1044
1249
  gem 'mongo', '>= 2.8.0'
1045
- gem 'mysql2', '< 0.5', platform: :ruby
1250
+ gem 'mysql2', '< 1', platform: :ruby
1046
1251
  gem 'pg', platform: :ruby
1047
1252
  gem 'presto-client', '>= 0.5.14'
1253
+ gem 'qless'
1048
1254
  gem 'racecar', '>= 0.3.5'
1049
1255
  gem 'rack'
1050
1256
  gem 'rack-test'
1051
1257
  gem 'rake', '>= 12.3'
1052
1258
  gem 'redis', '< 4.0'
1053
1259
  gem 'rest-client'
1054
- gem 'resque', '< 2.0'
1260
+ gem 'resque'
1055
1261
  gem 'ruby-kafka', '>= 0.7.10'
1262
+ gem 'rspec', '>= 3.0.0'
1056
1263
  gem 'sequel'
1057
1264
  gem 'shoryuken'
1058
1265
  gem 'sidekiq'
@@ -1068,4 +1275,91 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1068
1275
  gem 'faraday', '0.17'
1069
1276
  end
1070
1277
  end
1278
+ elsif Gem::Version.new('3.0.0') <= Gem::Version.new(RUBY_VERSION)
1279
+ appraise 'rails61-mysql2' do
1280
+ gem 'rails', '~> 6.1.0'
1281
+ gem 'mysql2', '~> 0.5', platform: :ruby
1282
+ gem 'sprockets', '< 4'
1283
+ gem 'lograge', '~> 0.11'
1284
+ end
1285
+
1286
+ appraise 'rails61-postgres' do
1287
+ gem 'rails', '~> 6.1.0'
1288
+ gem 'pg', '>= 1.1', platform: :ruby
1289
+ gem 'sprockets', '< 4'
1290
+ gem 'lograge', '~> 0.11'
1291
+ end
1292
+
1293
+ appraise 'rails61-postgres-redis' do
1294
+ gem 'rails', '~> 6.1.0'
1295
+ gem 'pg', '>= 1.1', platform: :ruby
1296
+ gem 'redis', '>= 4.2.5'
1297
+ gem 'sprockets', '< 4'
1298
+ gem 'lograge', '~> 0.11'
1299
+ end
1300
+
1301
+ appraise 'rails61-postgres-sidekiq' do
1302
+ gem 'rails', '~> 6.1.0'
1303
+ gem 'pg', '>= 1.1', platform: :ruby
1304
+ gem 'sidekiq', '>= 6.1.2'
1305
+ gem 'sprockets', '< 4'
1306
+ gem 'lograge', '~> 0.11'
1307
+ end
1308
+
1309
+ appraise 'resque2-redis3' do
1310
+ gem 'redis', '< 4.0'
1311
+ gem 'resque', '>= 2.0'
1312
+ end
1313
+
1314
+ appraise 'resque2-redis4' do
1315
+ gem 'redis', '>= 4.0'
1316
+ gem 'resque', '>= 2.0'
1317
+ end
1318
+
1319
+ (3..5).each { |v| gem_cucumber(v) }
1320
+
1321
+ appraise 'contrib' do
1322
+ gem 'actionpack'
1323
+ gem 'actionview'
1324
+ gem 'active_model_serializers', '>= 0.10.0'
1325
+ gem 'activerecord'
1326
+ gem 'aws-sdk'
1327
+ gem 'concurrent-ruby'
1328
+ gem 'cucumber'
1329
+ gem 'dalli'
1330
+ gem 'delayed_job'
1331
+ gem 'delayed_job_active_record'
1332
+ gem 'elasticsearch-transport'
1333
+ gem 'ethon'
1334
+ gem 'excon'
1335
+ gem 'grape'
1336
+ gem 'graphql', '>= 1.12.0'
1337
+ # gem 'grpc' # Pending 3.0 support by transient protobuf dependency https://github.com/protocolbuffers/protobuf/issues/7922
1338
+ gem 'hiredis'
1339
+ gem 'http'
1340
+ gem 'httpclient'
1341
+ gem 'mongo', '>= 2.8.0'
1342
+ gem 'mysql2', '>= 0.5.3', platform: :ruby
1343
+ gem 'pg', '>= 1.1', platform: :ruby
1344
+ gem 'presto-client', '>= 0.5.14'
1345
+ gem 'qless'
1346
+ # gem 'racecar', '>= 0.3.5' # Pending release of our fix: https://github.com/appsignal/rdkafka-ruby/pull/144
1347
+ gem 'rack'
1348
+ gem 'rack-test'
1349
+ gem 'rake', '>= 12.3'
1350
+ gem 'redis', '< 4.0'
1351
+ gem 'rest-client'
1352
+ gem 'resque'
1353
+ gem 'ruby-kafka', '>= 0.7.10'
1354
+ gem 'rspec', '>= 3.0.0'
1355
+ gem 'sequel'
1356
+ gem 'shoryuken'
1357
+ gem 'sidekiq'
1358
+ gem 'sinatra'
1359
+ gem 'sneakers', '>= 2.12.0'
1360
+ gem 'sqlite3', '>= 1.4.2'
1361
+ gem 'sucker_punch'
1362
+ gem 'typhoeus'
1363
+ gem 'que', '>= 1.0.0.beta2'
1364
+ end
1071
1365
  end