ddtrace 0.13.0 → 0.47.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 (628) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +598 -381
  3. data/.circleci/images/primary/Dockerfile-2.0.0 +6 -2
  4. data/.circleci/images/primary/Dockerfile-2.1.10 +6 -2
  5. data/.circleci/images/primary/Dockerfile-2.2.10 +6 -2
  6. data/.circleci/images/primary/Dockerfile-2.3.8 +75 -0
  7. data/.circleci/images/primary/Dockerfile-2.4.6 +73 -0
  8. data/.circleci/images/primary/{Dockerfile-2.3.7 → Dockerfile-2.5.6} +2 -2
  9. data/.circleci/images/primary/{Dockerfile-2.4.4 → Dockerfile-2.6.4} +2 -2
  10. data/.circleci/images/primary/Dockerfile-2.7.0 +73 -0
  11. data/.circleci/images/primary/Dockerfile-3.0.0 +73 -0
  12. data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +78 -0
  13. data/.circleci/images/primary/Dockerfile-jruby-9.2.0.0 +73 -0
  14. data/.circleci/images/primary/{Dockerfile-1.9.3 → Dockerfile-truffleruby-21.0.0} +6 -2
  15. data/.env +5 -2
  16. data/.github/CODEOWNERS +1 -0
  17. data/.github/workflows/add-milestone-to-pull-requests.yml +42 -0
  18. data/.github/workflows/create-next-milestone.yml +20 -0
  19. data/.gitignore +2 -0
  20. data/.gitlab-ci.yml +27 -0
  21. data/.rubocop.yml +270 -6
  22. data/.rubocop_todo.yml +397 -0
  23. data/.simplecov +47 -0
  24. data/Appraisals +933 -127
  25. data/CHANGELOG.md +2106 -97
  26. data/CONTRIBUTING.md +85 -0
  27. data/Gemfile +55 -2
  28. data/LICENSE +4 -22
  29. data/LICENSE-3rdparty.csv +2 -0
  30. data/LICENSE.Apache +200 -0
  31. data/LICENSE.BSD3 +24 -0
  32. data/NOTICE +4 -0
  33. data/README.md +5 -34
  34. data/Rakefile +825 -351
  35. data/benchmarks/postgres_database.yml +9 -0
  36. data/benchmarks/sidekiq_test.rb +154 -0
  37. data/ddtrace.gemspec +8 -17
  38. data/docker-compose.yml +260 -47
  39. data/docs/DevelopmentGuide.md +249 -0
  40. data/docs/GettingStarted.md +1435 -290
  41. data/integration/README.md +68 -0
  42. data/integration/apps/rack/.dockerignore +1 -0
  43. data/integration/apps/rack/.envrc.sample +1 -0
  44. data/integration/apps/rack/.gitignore +4 -0
  45. data/integration/apps/rack/.rspec +1 -0
  46. data/integration/apps/rack/Dockerfile +25 -0
  47. data/integration/apps/rack/Dockerfile-ci +11 -0
  48. data/integration/apps/rack/Gemfile +24 -0
  49. data/integration/apps/rack/README.md +93 -0
  50. data/integration/apps/rack/app/acme.rb +80 -0
  51. data/integration/apps/rack/app/datadog.rb +17 -0
  52. data/integration/apps/rack/bin/run +22 -0
  53. data/integration/apps/rack/bin/setup +17 -0
  54. data/integration/apps/rack/bin/test +24 -0
  55. data/integration/apps/rack/config.ru +6 -0
  56. data/integration/apps/rack/config/puma.rb +14 -0
  57. data/integration/apps/rack/config/unicorn.rb +23 -0
  58. data/integration/apps/rack/docker-compose.ci.yml +62 -0
  59. data/integration/apps/rack/docker-compose.yml +78 -0
  60. data/integration/apps/rack/script/build-images +38 -0
  61. data/integration/apps/rack/script/ci +50 -0
  62. data/integration/apps/rack/spec/integration/basic_spec.rb +10 -0
  63. data/integration/apps/rack/spec/spec_helper.rb +16 -0
  64. data/integration/apps/rack/spec/support/integration_helper.rb +22 -0
  65. data/integration/apps/rails-five/.dockerignore +1 -0
  66. data/integration/apps/rails-five/.env +3 -0
  67. data/integration/apps/rails-five/.envrc.sample +1 -0
  68. data/integration/apps/rails-five/.gitignore +30 -0
  69. data/integration/apps/rails-five/Dockerfile +25 -0
  70. data/integration/apps/rails-five/Dockerfile-ci +11 -0
  71. data/integration/apps/rails-five/Gemfile +104 -0
  72. data/integration/apps/rails-five/README.md +94 -0
  73. data/integration/apps/rails-five/Rakefile +6 -0
  74. data/integration/apps/rails-five/app/channels/application_cable/channel.rb +4 -0
  75. data/integration/apps/rails-five/app/channels/application_cable/connection.rb +4 -0
  76. data/integration/apps/rails-five/app/controllers/application_controller.rb +2 -0
  77. data/integration/apps/rails-five/app/controllers/basic_controller.rb +36 -0
  78. data/integration/apps/rails-five/app/controllers/concerns/.keep +0 -0
  79. data/integration/apps/rails-five/app/controllers/health_controller.rb +9 -0
  80. data/integration/apps/rails-five/app/controllers/jobs_controller.rb +12 -0
  81. data/integration/apps/rails-five/app/jobs/application_job.rb +2 -0
  82. data/integration/apps/rails-five/app/jobs/test_job.rb +12 -0
  83. data/integration/apps/rails-five/app/mailers/application_mailer.rb +4 -0
  84. data/integration/apps/rails-five/app/models/application_record.rb +3 -0
  85. data/integration/apps/rails-five/app/models/concerns/.keep +0 -0
  86. data/integration/apps/rails-five/app/models/test.rb +2 -0
  87. data/integration/apps/rails-five/app/views/layouts/mailer.html.erb +13 -0
  88. data/integration/apps/rails-five/app/views/layouts/mailer.text.erb +1 -0
  89. data/integration/apps/rails-five/bin/bundle +3 -0
  90. data/integration/apps/rails-five/bin/rails +9 -0
  91. data/integration/apps/rails-five/bin/rake +9 -0
  92. data/integration/apps/rails-five/bin/run +24 -0
  93. data/integration/apps/rails-five/bin/setup +27 -0
  94. data/integration/apps/rails-five/bin/spring +17 -0
  95. data/integration/apps/rails-five/bin/test +21 -0
  96. data/integration/apps/rails-five/bin/update +28 -0
  97. data/integration/apps/rails-five/config.ru +5 -0
  98. data/integration/apps/rails-five/config/application.rb +97 -0
  99. data/integration/apps/rails-five/config/boot.rb +4 -0
  100. data/integration/apps/rails-five/config/cable.yml +10 -0
  101. data/integration/apps/rails-five/config/credentials.yml.enc +1 -0
  102. data/integration/apps/rails-five/config/database.yml +28 -0
  103. data/integration/apps/rails-five/config/environment.rb +5 -0
  104. data/integration/apps/rails-five/config/environments/development.rb +51 -0
  105. data/integration/apps/rails-five/config/environments/production.rb +82 -0
  106. data/integration/apps/rails-five/config/environments/test.rb +43 -0
  107. data/integration/apps/rails-five/config/initializers/datadog.rb +18 -0
  108. data/integration/apps/rails-five/config/initializers/filter_parameter_logging.rb +4 -0
  109. data/integration/apps/rails-five/config/initializers/resque.rb +4 -0
  110. data/integration/apps/rails-five/config/initializers/rollbar.rb +5 -0
  111. data/integration/apps/rails-five/config/initializers/wrap_parameters.rb +14 -0
  112. data/integration/apps/rails-five/config/locales/en.yml +33 -0
  113. data/integration/apps/rails-five/config/puma.rb +24 -0
  114. data/integration/apps/rails-five/config/routes.rb +11 -0
  115. data/integration/apps/rails-five/config/spring.rb +6 -0
  116. data/integration/apps/rails-five/config/unicorn.rb +29 -0
  117. data/integration/apps/rails-five/db/migrate/20190927215052_create_tests.rb +11 -0
  118. data/integration/apps/rails-five/db/schema.rb +23 -0
  119. data/integration/apps/rails-five/db/seeds.rb +7 -0
  120. data/integration/apps/rails-five/docker-compose.ci.yml +98 -0
  121. data/integration/apps/rails-five/docker-compose.yml +100 -0
  122. data/integration/apps/rails-five/lib/tasks/.keep +0 -0
  123. data/integration/apps/rails-five/log/.keep +0 -0
  124. data/integration/apps/rails-five/public/robots.txt +1 -0
  125. data/integration/apps/rails-five/script/build-images +35 -0
  126. data/integration/apps/rails-five/script/ci +50 -0
  127. data/integration/apps/rails-five/spec/integration/basic_spec.rb +10 -0
  128. data/integration/apps/rails-five/spec/spec_helper.rb +16 -0
  129. data/integration/apps/rails-five/spec/support/integration_helper.rb +22 -0
  130. data/integration/apps/rails-five/storage/.keep +0 -0
  131. data/integration/apps/rails-five/tmp/.keep +0 -0
  132. data/integration/apps/rails-five/vendor/.keep +0 -0
  133. data/integration/apps/ruby/.dockerignore +1 -0
  134. data/integration/apps/ruby/.envrc.sample +1 -0
  135. data/integration/apps/ruby/.gitignore +2 -0
  136. data/integration/apps/ruby/Dockerfile +25 -0
  137. data/integration/apps/ruby/Dockerfile-ci +11 -0
  138. data/integration/apps/ruby/Gemfile +11 -0
  139. data/integration/apps/ruby/README.md +70 -0
  140. data/integration/apps/ruby/agent.yaml +3 -0
  141. data/integration/apps/ruby/app/datadog.rb +13 -0
  142. data/integration/apps/ruby/app/fibonacci.rb +58 -0
  143. data/integration/apps/ruby/bin/run +20 -0
  144. data/integration/apps/ruby/bin/setup +17 -0
  145. data/integration/apps/ruby/bin/test +21 -0
  146. data/integration/apps/ruby/docker-compose.ci.yml +51 -0
  147. data/integration/apps/ruby/docker-compose.yml +63 -0
  148. data/integration/apps/ruby/script/build-images +38 -0
  149. data/integration/apps/ruby/script/ci +50 -0
  150. data/integration/images/agent/Dockerfile +2 -0
  151. data/integration/images/agent/agent.yaml +3 -0
  152. data/integration/images/include/datadog/analyzer.rb +71 -0
  153. data/integration/images/include/datadog/demo_env.rb +101 -0
  154. data/integration/images/include/http-health-check +33 -0
  155. data/integration/images/ruby/2.0/Dockerfile +54 -0
  156. data/integration/images/ruby/2.1/Dockerfile +54 -0
  157. data/integration/images/ruby/2.2/Dockerfile +54 -0
  158. data/integration/images/ruby/2.3/Dockerfile +70 -0
  159. data/integration/images/ruby/2.4/Dockerfile +54 -0
  160. data/integration/images/ruby/2.5/Dockerfile +54 -0
  161. data/integration/images/ruby/2.6/Dockerfile +54 -0
  162. data/integration/images/ruby/2.7/Dockerfile +54 -0
  163. data/integration/images/ruby/3.0/Dockerfile +54 -0
  164. data/integration/images/wrk/Dockerfile +33 -0
  165. data/integration/images/wrk/scripts/entrypoint.sh +17 -0
  166. data/integration/images/wrk/scripts/scenarios/basic/default.lua +1 -0
  167. data/integration/images/wrk/scripts/scenarios/basic/fibonacci.lua +1 -0
  168. data/integration/script/build-images +43 -0
  169. data/lib/ddtrace.rb +65 -62
  170. data/lib/ddtrace/analytics.rb +38 -0
  171. data/lib/ddtrace/auto_instrument.rb +3 -0
  172. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  173. data/lib/ddtrace/buffer.rb +298 -32
  174. data/lib/ddtrace/chunker.rb +34 -0
  175. data/lib/ddtrace/configuration.rb +151 -26
  176. data/lib/ddtrace/configuration/base.rb +84 -0
  177. data/lib/ddtrace/configuration/components.rb +151 -0
  178. data/lib/ddtrace/configuration/{resolver.rb → dependency_resolver.rb} +2 -2
  179. data/lib/ddtrace/configuration/option.rb +64 -0
  180. data/lib/ddtrace/configuration/option_definition.rb +121 -0
  181. data/lib/ddtrace/configuration/option_definition_set.rb +18 -0
  182. data/lib/ddtrace/configuration/option_set.rb +6 -0
  183. data/lib/ddtrace/configuration/options.rb +111 -0
  184. data/lib/ddtrace/configuration/pin_setup.rb +4 -3
  185. data/lib/ddtrace/configuration/settings.rb +299 -0
  186. data/lib/ddtrace/context.rb +133 -66
  187. data/lib/ddtrace/context_flush.rb +51 -114
  188. data/lib/ddtrace/context_provider.rb +61 -0
  189. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +30 -0
  190. data/lib/ddtrace/contrib/action_cable/event.rb +66 -0
  191. data/lib/ddtrace/contrib/action_cable/events.rb +33 -0
  192. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +49 -0
  193. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +55 -0
  194. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +50 -0
  195. data/lib/ddtrace/contrib/action_cable/ext.rb +26 -0
  196. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +31 -0
  197. data/lib/ddtrace/contrib/action_cable/integration.rb +45 -0
  198. data/lib/ddtrace/contrib/action_cable/patcher.rb +27 -0
  199. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +146 -0
  200. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +25 -0
  201. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +32 -0
  202. data/lib/ddtrace/contrib/action_pack/ext.rb +19 -0
  203. data/lib/ddtrace/contrib/action_pack/integration.rb +45 -0
  204. data/lib/ddtrace/contrib/action_pack/patcher.rb +23 -0
  205. data/lib/ddtrace/contrib/action_pack/utils.rb +36 -0
  206. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +31 -0
  207. data/lib/ddtrace/contrib/action_view/event.rb +35 -0
  208. data/lib/ddtrace/contrib/action_view/events.rb +30 -0
  209. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +46 -0
  210. data/lib/ddtrace/contrib/action_view/events/render_template.rb +49 -0
  211. data/lib/ddtrace/contrib/action_view/ext.rb +20 -0
  212. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +74 -0
  213. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +167 -0
  214. data/lib/ddtrace/contrib/action_view/integration.rb +52 -0
  215. data/lib/ddtrace/contrib/action_view/patcher.rb +47 -0
  216. data/lib/ddtrace/contrib/action_view/utils.rb +32 -0
  217. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +30 -0
  218. data/lib/ddtrace/contrib/active_model_serializers/event.rb +14 -3
  219. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +2 -2
  220. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +2 -2
  221. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +20 -0
  222. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +40 -0
  223. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +12 -45
  224. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +128 -0
  225. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +35 -0
  226. data/lib/ddtrace/contrib/active_record/event.rb +1 -1
  227. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +17 -8
  228. data/lib/ddtrace/contrib/active_record/events/sql.rb +32 -12
  229. data/lib/ddtrace/contrib/active_record/ext.rb +24 -0
  230. data/lib/ddtrace/contrib/active_record/integration.rb +53 -0
  231. data/lib/ddtrace/contrib/active_record/patcher.rb +5 -35
  232. data/lib/ddtrace/contrib/active_record/utils.rb +85 -31
  233. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +258 -0
  234. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +69 -0
  235. data/lib/ddtrace/contrib/active_support/cache/redis.rb +47 -0
  236. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +30 -0
  237. data/lib/ddtrace/contrib/active_support/ext.rb +27 -0
  238. data/lib/ddtrace/contrib/active_support/integration.rb +46 -0
  239. data/lib/ddtrace/contrib/active_support/notifications/event.rb +15 -2
  240. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +3 -2
  241. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +20 -12
  242. data/lib/ddtrace/contrib/active_support/patcher.rb +23 -0
  243. data/lib/ddtrace/contrib/analytics.rb +24 -0
  244. data/lib/ddtrace/contrib/auto_instrument.rb +49 -0
  245. data/lib/ddtrace/contrib/aws/configuration/settings.rb +30 -0
  246. data/lib/ddtrace/contrib/aws/ext.rb +23 -0
  247. data/lib/ddtrace/contrib/aws/instrumentation.rb +37 -19
  248. data/lib/ddtrace/contrib/aws/integration.rb +42 -0
  249. data/lib/ddtrace/contrib/aws/patcher.rb +30 -40
  250. data/lib/ddtrace/contrib/aws/services.rb +3 -0
  251. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +20 -0
  252. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +41 -0
  253. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +12 -0
  254. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +23 -0
  255. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +38 -0
  256. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +28 -0
  257. data/lib/ddtrace/contrib/configurable.rb +102 -0
  258. data/lib/ddtrace/contrib/configuration/resolver.rb +81 -0
  259. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +39 -0
  260. data/lib/ddtrace/contrib/configuration/settings.rb +55 -0
  261. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +28 -0
  262. data/lib/ddtrace/contrib/cucumber/ext.rb +17 -0
  263. data/lib/ddtrace/contrib/cucumber/formatter.rb +98 -0
  264. data/lib/ddtrace/contrib/cucumber/instrumentation.rb +24 -0
  265. data/lib/ddtrace/contrib/cucumber/integration.rb +45 -0
  266. data/lib/ddtrace/contrib/cucumber/patcher.rb +23 -0
  267. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +30 -0
  268. data/lib/ddtrace/contrib/dalli/ext.rb +20 -0
  269. data/lib/ddtrace/contrib/dalli/instrumentation.rb +36 -17
  270. data/lib/ddtrace/contrib/dalli/integration.rb +38 -0
  271. data/lib/ddtrace/contrib/dalli/patcher.rb +13 -41
  272. data/lib/ddtrace/contrib/dalli/quantize.rb +4 -4
  273. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +32 -0
  274. data/lib/ddtrace/contrib/delayed_job/ext.rb +23 -0
  275. data/lib/ddtrace/contrib/delayed_job/integration.rb +38 -0
  276. data/lib/ddtrace/contrib/delayed_job/patcher.rb +28 -0
  277. data/lib/ddtrace/contrib/delayed_job/plugin.rb +84 -0
  278. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +31 -0
  279. data/lib/ddtrace/contrib/elasticsearch/ext.rb +22 -0
  280. data/lib/ddtrace/contrib/elasticsearch/integration.rb +39 -0
  281. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +49 -50
  282. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +3 -2
  283. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +32 -0
  284. data/lib/ddtrace/contrib/ethon/easy_patch.rb +151 -0
  285. data/lib/ddtrace/contrib/ethon/ext.rb +19 -0
  286. data/lib/ddtrace/contrib/ethon/integration.rb +43 -0
  287. data/lib/ddtrace/contrib/ethon/multi_patch.rb +84 -0
  288. data/lib/ddtrace/contrib/ethon/patcher.rb +25 -0
  289. data/lib/ddtrace/contrib/excon/configuration/settings.rb +33 -0
  290. data/lib/ddtrace/contrib/excon/ext.rb +17 -0
  291. data/lib/ddtrace/contrib/excon/integration.rb +43 -0
  292. data/lib/ddtrace/contrib/excon/middleware.rb +47 -23
  293. data/lib/ddtrace/contrib/excon/patcher.rb +7 -30
  294. data/lib/ddtrace/contrib/extensions.rb +143 -0
  295. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +38 -0
  296. data/lib/ddtrace/contrib/faraday/connection.rb +18 -0
  297. data/lib/ddtrace/contrib/faraday/ext.rb +17 -0
  298. data/lib/ddtrace/contrib/faraday/integration.rb +43 -0
  299. data/lib/ddtrace/contrib/faraday/middleware.rb +46 -29
  300. data/lib/ddtrace/contrib/faraday/patcher.rb +36 -56
  301. data/lib/ddtrace/contrib/faraday/rack_builder.rb +18 -0
  302. data/lib/ddtrace/contrib/grape/configuration/settings.rb +38 -0
  303. data/lib/ddtrace/contrib/grape/endpoint.rb +192 -120
  304. data/lib/ddtrace/contrib/grape/ext.rb +23 -0
  305. data/lib/ddtrace/contrib/grape/instrumentation.rb +33 -0
  306. data/lib/ddtrace/contrib/grape/integration.rb +39 -0
  307. data/lib/ddtrace/contrib/grape/patcher.rb +15 -59
  308. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +32 -0
  309. data/lib/ddtrace/contrib/graphql/ext.rb +16 -0
  310. data/lib/ddtrace/contrib/graphql/integration.rb +39 -0
  311. data/lib/ddtrace/contrib/graphql/patcher.rb +37 -34
  312. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +30 -0
  313. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +36 -27
  314. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +17 -8
  315. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +20 -5
  316. data/lib/ddtrace/contrib/grpc/ext.rb +18 -0
  317. data/lib/ddtrace/contrib/grpc/integration.rb +38 -0
  318. data/lib/ddtrace/contrib/grpc/patcher.rb +8 -38
  319. data/lib/ddtrace/contrib/http/circuit_breaker.rb +37 -0
  320. data/lib/ddtrace/contrib/http/configuration/settings.rb +32 -0
  321. data/lib/ddtrace/contrib/http/ext.rb +17 -0
  322. data/lib/ddtrace/contrib/http/instrumentation.rb +179 -0
  323. data/lib/ddtrace/contrib/http/integration.rb +45 -0
  324. data/lib/ddtrace/contrib/http/patcher.rb +9 -144
  325. data/lib/ddtrace/contrib/http_annotation_helper.rb +10 -0
  326. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  327. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  328. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +147 -0
  329. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  330. data/lib/ddtrace/contrib/httpclient/patcher.rb +38 -0
  331. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +32 -0
  332. data/lib/ddtrace/contrib/httprb/ext.rb +17 -0
  333. data/lib/ddtrace/contrib/httprb/instrumentation.rb +157 -0
  334. data/lib/ddtrace/contrib/httprb/integration.rb +43 -0
  335. data/lib/ddtrace/contrib/httprb/patcher.rb +38 -0
  336. data/lib/ddtrace/contrib/integration.rb +16 -0
  337. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +30 -0
  338. data/lib/ddtrace/contrib/kafka/consumer_event.rb +14 -0
  339. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +14 -0
  340. data/lib/ddtrace/contrib/kafka/event.rb +51 -0
  341. data/lib/ddtrace/contrib/kafka/events.rb +44 -0
  342. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +34 -0
  343. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +41 -0
  344. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +39 -0
  345. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +39 -0
  346. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +29 -0
  347. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +29 -0
  348. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +29 -0
  349. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +32 -0
  350. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +35 -0
  351. data/lib/ddtrace/contrib/kafka/ext.rb +41 -0
  352. data/lib/ddtrace/contrib/kafka/integration.rb +39 -0
  353. data/lib/ddtrace/contrib/kafka/patcher.rb +26 -0
  354. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +33 -0
  355. data/lib/ddtrace/contrib/mongodb/ext.rb +23 -0
  356. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +69 -0
  357. data/lib/ddtrace/contrib/mongodb/integration.rb +38 -0
  358. data/lib/ddtrace/contrib/mongodb/patcher.rb +11 -74
  359. data/lib/ddtrace/contrib/mongodb/subscribers.rb +57 -18
  360. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +30 -0
  361. data/lib/ddtrace/contrib/mysql2/ext.rb +18 -0
  362. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +64 -0
  363. data/lib/ddtrace/contrib/mysql2/integration.rb +38 -0
  364. data/lib/ddtrace/contrib/mysql2/patcher.rb +9 -25
  365. data/lib/ddtrace/contrib/patchable.rb +70 -0
  366. data/lib/ddtrace/contrib/patcher.rb +65 -0
  367. data/lib/ddtrace/contrib/presto/configuration/settings.rb +30 -0
  368. data/lib/ddtrace/contrib/presto/ext.rb +28 -0
  369. data/lib/ddtrace/contrib/presto/instrumentation.rb +110 -0
  370. data/lib/ddtrace/contrib/presto/integration.rb +38 -0
  371. data/lib/ddtrace/contrib/presto/patcher.rb +33 -0
  372. data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
  373. data/lib/ddtrace/contrib/qless/ext.rb +20 -0
  374. data/lib/ddtrace/contrib/qless/integration.rb +38 -0
  375. data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
  376. data/lib/ddtrace/contrib/qless/qless_job.rb +73 -0
  377. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +33 -0
  378. data/lib/ddtrace/contrib/que/configuration/settings.rb +43 -0
  379. data/lib/ddtrace/contrib/que/ext.rb +30 -0
  380. data/lib/ddtrace/contrib/que/integration.rb +42 -0
  381. data/lib/ddtrace/contrib/que/patcher.rb +24 -0
  382. data/lib/ddtrace/contrib/que/tracer.rb +57 -0
  383. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +30 -0
  384. data/lib/ddtrace/contrib/racecar/event.rb +22 -7
  385. data/lib/ddtrace/contrib/racecar/events.rb +2 -0
  386. data/lib/ddtrace/contrib/racecar/events/batch.rb +2 -2
  387. data/lib/ddtrace/contrib/racecar/events/consume.rb +27 -0
  388. data/lib/ddtrace/contrib/racecar/events/message.rb +2 -2
  389. data/lib/ddtrace/contrib/racecar/ext.rb +25 -0
  390. data/lib/ddtrace/contrib/racecar/integration.rb +39 -0
  391. data/lib/ddtrace/contrib/racecar/patcher.rb +11 -42
  392. data/lib/ddtrace/contrib/rack/configuration/settings.rb +46 -0
  393. data/lib/ddtrace/contrib/rack/ext.rb +21 -0
  394. data/lib/ddtrace/contrib/rack/integration.rb +45 -0
  395. data/lib/ddtrace/contrib/rack/middlewares.rb +105 -54
  396. data/lib/ddtrace/contrib/rack/patcher.rb +65 -49
  397. data/lib/ddtrace/contrib/rack/request_queue.rb +17 -7
  398. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  399. data/lib/ddtrace/contrib/rails/configuration/settings.rb +93 -0
  400. data/lib/ddtrace/contrib/rails/ext.rb +17 -0
  401. data/lib/ddtrace/contrib/rails/framework.rb +82 -33
  402. data/lib/ddtrace/contrib/rails/integration.rb +44 -0
  403. data/lib/ddtrace/contrib/rails/log_injection.rb +81 -0
  404. data/lib/ddtrace/contrib/rails/middlewares.rb +8 -2
  405. data/lib/ddtrace/contrib/rails/patcher.rb +88 -34
  406. data/lib/ddtrace/contrib/rails/railtie.rb +5 -9
  407. data/lib/ddtrace/contrib/rails/utils.rb +7 -31
  408. data/lib/ddtrace/contrib/rake/configuration/settings.rb +31 -0
  409. data/lib/ddtrace/contrib/rake/ext.rb +21 -0
  410. data/lib/ddtrace/contrib/rake/instrumentation.rb +33 -13
  411. data/lib/ddtrace/contrib/rake/integration.rb +38 -0
  412. data/lib/ddtrace/contrib/rake/patcher.rb +10 -33
  413. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +45 -0
  414. data/lib/ddtrace/contrib/redis/configuration/settings.rb +35 -0
  415. data/lib/ddtrace/contrib/redis/ext.rb +22 -0
  416. data/lib/ddtrace/contrib/redis/integration.rb +42 -0
  417. data/lib/ddtrace/contrib/redis/patcher.rb +58 -53
  418. data/lib/ddtrace/contrib/redis/quantize.rb +47 -1
  419. data/lib/ddtrace/contrib/redis/tags.rb +33 -7
  420. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  421. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +158 -0
  422. data/lib/ddtrace/contrib/registerable.rb +33 -0
  423. data/lib/ddtrace/contrib/registry.rb +42 -0
  424. data/lib/ddtrace/contrib/resque/configuration/settings.rb +32 -0
  425. data/lib/ddtrace/contrib/resque/ext.rb +17 -0
  426. data/lib/ddtrace/contrib/resque/integration.rb +47 -0
  427. data/lib/ddtrace/contrib/resque/patcher.rb +16 -38
  428. data/lib/ddtrace/contrib/resque/resque_job.rb +61 -20
  429. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +31 -0
  430. data/lib/ddtrace/contrib/rest_client/ext.rb +17 -0
  431. data/lib/ddtrace/contrib/rest_client/integration.rb +38 -0
  432. data/lib/ddtrace/contrib/rest_client/patcher.rb +23 -0
  433. data/lib/ddtrace/contrib/rest_client/request_patch.rb +91 -0
  434. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +28 -0
  435. data/lib/ddtrace/contrib/rspec/example.rb +75 -0
  436. data/lib/ddtrace/contrib/rspec/ext.rb +16 -0
  437. data/lib/ddtrace/contrib/rspec/integration.rb +46 -0
  438. data/lib/ddtrace/contrib/rspec/patcher.rb +23 -0
  439. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +28 -0
  440. data/lib/ddtrace/contrib/sequel/database.rb +9 -4
  441. data/lib/ddtrace/contrib/sequel/dataset.rb +7 -3
  442. data/lib/ddtrace/contrib/sequel/ext.rb +19 -0
  443. data/lib/ddtrace/contrib/sequel/integration.rb +38 -0
  444. data/lib/ddtrace/contrib/sequel/patcher.rb +6 -29
  445. data/lib/ddtrace/contrib/sequel/utils.rb +60 -14
  446. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +30 -0
  447. data/lib/ddtrace/contrib/shoryuken/ext.rb +21 -0
  448. data/lib/ddtrace/contrib/shoryuken/integration.rb +39 -0
  449. data/lib/ddtrace/contrib/shoryuken/patcher.rb +24 -0
  450. data/lib/ddtrace/contrib/shoryuken/tracer.rb +51 -0
  451. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +43 -0
  452. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +37 -0
  453. data/lib/ddtrace/contrib/sidekiq/ext.rb +27 -0
  454. data/lib/ddtrace/contrib/sidekiq/integration.rb +38 -0
  455. data/lib/ddtrace/contrib/sidekiq/patcher.rb +22 -14
  456. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +65 -0
  457. data/lib/ddtrace/contrib/sidekiq/tracing.rb +44 -0
  458. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +39 -0
  459. data/lib/ddtrace/contrib/sinatra/env.rb +27 -9
  460. data/lib/ddtrace/contrib/sinatra/ext.rb +27 -0
  461. data/lib/ddtrace/contrib/sinatra/headers.rb +1 -3
  462. data/lib/ddtrace/contrib/sinatra/integration.rb +38 -0
  463. data/lib/ddtrace/contrib/sinatra/patcher.rb +28 -0
  464. data/lib/ddtrace/contrib/sinatra/tracer.rb +79 -65
  465. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +60 -16
  466. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +33 -0
  467. data/lib/ddtrace/contrib/sneakers/ext.rb +22 -0
  468. data/lib/ddtrace/contrib/sneakers/integration.rb +41 -0
  469. data/lib/ddtrace/contrib/sneakers/patcher.rb +24 -0
  470. data/lib/ddtrace/contrib/sneakers/tracer.rb +53 -0
  471. data/lib/ddtrace/contrib/status_code_matcher.rb +69 -0
  472. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +30 -0
  473. data/lib/ddtrace/contrib/sucker_punch/ext.rb +21 -0
  474. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +29 -5
  475. data/lib/ddtrace/contrib/sucker_punch/integration.rb +38 -0
  476. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +21 -33
  477. data/lib/ddtrace/correlation.rb +39 -0
  478. data/lib/ddtrace/diagnostics/environment_logger.rb +279 -0
  479. data/lib/ddtrace/diagnostics/health.rb +33 -0
  480. data/lib/ddtrace/distributed_tracing/headers/b3.rb +44 -0
  481. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +56 -0
  482. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +42 -0
  483. data/lib/ddtrace/distributed_tracing/headers/headers.rb +71 -0
  484. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +43 -0
  485. data/lib/ddtrace/encoding.rb +36 -32
  486. data/lib/ddtrace/environment.rb +41 -0
  487. data/lib/ddtrace/event.rb +52 -0
  488. data/lib/ddtrace/ext/analytics.rb +12 -0
  489. data/lib/ddtrace/ext/app_types.rb +1 -0
  490. data/lib/ddtrace/ext/ci.rb +297 -0
  491. data/lib/ddtrace/ext/correlation.rb +11 -0
  492. data/lib/ddtrace/ext/diagnostics.rb +36 -0
  493. data/lib/ddtrace/ext/distributed.rb +22 -0
  494. data/lib/ddtrace/ext/environment.rb +16 -0
  495. data/lib/ddtrace/ext/forced_tracing.rb +25 -0
  496. data/lib/ddtrace/ext/git.rb +11 -0
  497. data/lib/ddtrace/ext/http.rb +4 -2
  498. data/lib/ddtrace/ext/integration.rb +8 -0
  499. data/lib/ddtrace/ext/manual_tracing.rb +9 -0
  500. data/lib/ddtrace/ext/metrics.rb +15 -0
  501. data/lib/ddtrace/ext/net.rb +2 -0
  502. data/lib/ddtrace/ext/runtime.rb +30 -0
  503. data/lib/ddtrace/ext/sampling.rb +16 -0
  504. data/lib/ddtrace/ext/test.rb +24 -0
  505. data/lib/ddtrace/ext/transport.rb +18 -0
  506. data/lib/ddtrace/forced_tracing.rb +38 -0
  507. data/lib/ddtrace/logger.rb +5 -4
  508. data/lib/ddtrace/metrics.rb +226 -0
  509. data/lib/ddtrace/opentelemetry/extensions.rb +13 -0
  510. data/lib/ddtrace/opentelemetry/span.rb +33 -0
  511. data/lib/ddtrace/opentracer.rb +40 -0
  512. data/lib/ddtrace/opentracer/binary_propagator.rb +24 -0
  513. data/lib/ddtrace/opentracer/carrier.rb +6 -0
  514. data/lib/ddtrace/opentracer/distributed_headers.rb +55 -0
  515. data/lib/ddtrace/opentracer/global_tracer.rb +15 -0
  516. data/lib/ddtrace/opentracer/propagator.rb +22 -0
  517. data/lib/ddtrace/opentracer/rack_propagator.rb +60 -0
  518. data/lib/ddtrace/opentracer/scope.rb +15 -0
  519. data/lib/ddtrace/opentracer/scope_manager.rb +6 -0
  520. data/lib/ddtrace/opentracer/span.rb +94 -0
  521. data/lib/ddtrace/opentracer/span_context.rb +14 -0
  522. data/lib/ddtrace/opentracer/span_context_factory.rb +23 -0
  523. data/lib/ddtrace/opentracer/text_map_propagator.rb +75 -0
  524. data/lib/ddtrace/opentracer/thread_local_scope.rb +31 -0
  525. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +40 -0
  526. data/lib/ddtrace/opentracer/tracer.rb +208 -0
  527. data/lib/ddtrace/patcher.rb +33 -5
  528. data/lib/ddtrace/pin.rb +35 -20
  529. data/lib/ddtrace/pipeline.rb +1 -1
  530. data/lib/ddtrace/pipeline/span_filter.rb +15 -15
  531. data/lib/ddtrace/propagation/grpc_propagator.rb +26 -6
  532. data/lib/ddtrace/propagation/http_propagator.rb +72 -10
  533. data/lib/ddtrace/quantization/http.rb +1 -0
  534. data/lib/ddtrace/runtime/cgroup.rb +44 -0
  535. data/lib/ddtrace/runtime/class_count.rb +17 -0
  536. data/lib/ddtrace/runtime/container.rb +71 -0
  537. data/lib/ddtrace/runtime/gc.rb +16 -0
  538. data/lib/ddtrace/runtime/identity.rb +48 -0
  539. data/lib/ddtrace/runtime/metrics.rb +114 -0
  540. data/lib/ddtrace/runtime/object_space.rb +19 -0
  541. data/lib/ddtrace/runtime/socket.rb +14 -0
  542. data/lib/ddtrace/runtime/thread_count.rb +16 -0
  543. data/lib/ddtrace/sampler.rb +218 -37
  544. data/lib/ddtrace/sampling.rb +2 -0
  545. data/lib/ddtrace/sampling/matcher.rb +57 -0
  546. data/lib/ddtrace/sampling/rate_limiter.rb +176 -0
  547. data/lib/ddtrace/sampling/rule.rb +61 -0
  548. data/lib/ddtrace/sampling/rule_sampler.rb +126 -0
  549. data/lib/ddtrace/span.rb +244 -34
  550. data/lib/ddtrace/sync_writer.rb +47 -16
  551. data/lib/ddtrace/tracer.rb +215 -117
  552. data/lib/ddtrace/transport/http.rb +113 -0
  553. data/lib/ddtrace/transport/http/adapters/net.rb +145 -0
  554. data/lib/ddtrace/transport/http/adapters/registry.rb +25 -0
  555. data/lib/ddtrace/transport/http/adapters/test.rb +83 -0
  556. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +66 -0
  557. data/lib/ddtrace/transport/http/api.rb +46 -0
  558. data/lib/ddtrace/transport/http/api/endpoint.rb +27 -0
  559. data/lib/ddtrace/transport/http/api/fallbacks.rb +22 -0
  560. data/lib/ddtrace/transport/http/api/instance.rb +33 -0
  561. data/lib/ddtrace/transport/http/api/map.rb +14 -0
  562. data/lib/ddtrace/transport/http/api/spec.rb +15 -0
  563. data/lib/ddtrace/transport/http/builder.rb +169 -0
  564. data/lib/ddtrace/transport/http/client.rb +50 -0
  565. data/lib/ddtrace/transport/http/env.rb +56 -0
  566. data/lib/ddtrace/transport/http/response.rb +26 -0
  567. data/lib/ddtrace/transport/http/statistics.rb +43 -0
  568. data/lib/ddtrace/transport/http/traces.rb +142 -0
  569. data/lib/ddtrace/transport/io.rb +26 -0
  570. data/lib/ddtrace/transport/io/client.rb +76 -0
  571. data/lib/ddtrace/transport/io/response.rb +23 -0
  572. data/lib/ddtrace/transport/io/traces.rb +97 -0
  573. data/lib/ddtrace/transport/parcel.rb +13 -0
  574. data/lib/ddtrace/transport/request.rb +13 -0
  575. data/lib/ddtrace/transport/response.rb +60 -0
  576. data/lib/ddtrace/transport/statistics.rb +72 -0
  577. data/lib/ddtrace/transport/traces.rb +205 -0
  578. data/lib/ddtrace/utils.rb +17 -14
  579. data/lib/ddtrace/utils/compression.rb +27 -0
  580. data/lib/ddtrace/utils/database.rb +7 -3
  581. data/lib/ddtrace/utils/forking.rb +52 -0
  582. data/lib/ddtrace/utils/object_set.rb +41 -0
  583. data/lib/ddtrace/utils/only_once.rb +40 -0
  584. data/lib/ddtrace/utils/sequence.rb +17 -0
  585. data/lib/ddtrace/utils/string_table.rb +45 -0
  586. data/lib/ddtrace/utils/time.rb +45 -0
  587. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  588. data/lib/ddtrace/vendor/active_record/connection_specification.rb +301 -0
  589. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  590. data/lib/ddtrace/vendor/multipart-post/multipart.rb +12 -0
  591. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +8 -0
  592. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +116 -0
  593. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +57 -0
  594. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +135 -0
  595. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +9 -0
  596. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +32 -0
  597. data/lib/ddtrace/version.rb +3 -1
  598. data/lib/ddtrace/worker.rb +20 -0
  599. data/lib/ddtrace/workers.rb +39 -40
  600. data/lib/ddtrace/workers/async.rb +173 -0
  601. data/lib/ddtrace/workers/loop.rb +119 -0
  602. data/lib/ddtrace/workers/polling.rb +49 -0
  603. data/lib/ddtrace/workers/queue.rb +40 -0
  604. data/lib/ddtrace/workers/runtime_metrics.rb +51 -0
  605. data/lib/ddtrace/workers/trace_writer.rb +202 -0
  606. data/lib/ddtrace/writer.rb +121 -57
  607. data/tasks/release_gem.rake +28 -0
  608. metadata +501 -211
  609. data/lib/ddtrace/configurable.rb +0 -83
  610. data/lib/ddtrace/configuration/proxy.rb +0 -25
  611. data/lib/ddtrace/contrib/base.rb +0 -15
  612. data/lib/ddtrace/contrib/mysql2/client.rb +0 -60
  613. data/lib/ddtrace/contrib/rails/action_controller.rb +0 -91
  614. data/lib/ddtrace/contrib/rails/action_controller_patch.rb +0 -77
  615. data/lib/ddtrace/contrib/rails/action_view.rb +0 -19
  616. data/lib/ddtrace/contrib/rails/active_support.rb +0 -65
  617. data/lib/ddtrace/contrib/rails/core_extensions.rb +0 -356
  618. data/lib/ddtrace/contrib/sidekiq/tracer.rb +0 -72
  619. data/lib/ddtrace/ext/cache.rb +0 -8
  620. data/lib/ddtrace/ext/grpc.rb +0 -7
  621. data/lib/ddtrace/ext/mongo.rb +0 -12
  622. data/lib/ddtrace/ext/redis.rb +0 -17
  623. data/lib/ddtrace/monkey.rb +0 -65
  624. data/lib/ddtrace/propagation/distributed_headers.rb +0 -48
  625. data/lib/ddtrace/provider.rb +0 -21
  626. data/lib/ddtrace/registry.rb +0 -42
  627. data/lib/ddtrace/registry/registerable.rb +0 -20
  628. data/lib/ddtrace/transport.rb +0 -212
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,397 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config --exclude-limit 99999`
3
+ # on 2021-02-19 23:39:59 UTC using RuboCop version 1.10.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
12
+ # URISchemes: http, https
13
+ Layout/LineLength:
14
+ Max: 125
15
+
16
+ # Offense count: 3
17
+ # Configuration parameters: AllowedMethods.
18
+ # AllowedMethods: enums
19
+ Lint/ConstantDefinitionInBlock:
20
+ Exclude:
21
+ - 'spec/ddtrace/benchmark/support/benchmark_helper.rb'
22
+ - 'spec/ddtrace/contrib/rails/rack_spec.rb'
23
+ - 'spec/ddtrace/workers/async_spec.rb'
24
+
25
+ # Offense count: 2
26
+ # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
27
+ Lint/DuplicateBranch:
28
+ Exclude:
29
+ - 'lib/ddtrace/quantization/http.rb'
30
+ - 'test/contrib/rails/test_helper.rb'
31
+
32
+ # Offense count: 3
33
+ Lint/DuplicateRequire:
34
+ Exclude:
35
+ - 'lib/ddtrace/contrib/cucumber/integration.rb'
36
+ - 'lib/ddtrace/contrib/rspec/integration.rb'
37
+ - 'spec/ddtrace/contrib/presto/client_spec.rb'
38
+
39
+ # Offense count: 1
40
+ # Cop supports --auto-correct.
41
+ # Configuration parameters: EnforcedStyle.
42
+ # SupportedStyles: runtime_error, standard_error
43
+ Lint/InheritException:
44
+ Exclude:
45
+ - 'spec/ddtrace/tracer_spec.rb'
46
+
47
+ # Offense count: 52
48
+ # Configuration parameters: MaximumRangeSize.
49
+ Lint/MissingCopEnableDirective:
50
+ Exclude:
51
+ - 'Rakefile'
52
+ - 'lib/ddtrace/analytics.rb'
53
+ - 'lib/ddtrace/configuration/components.rb'
54
+ - 'lib/ddtrace/configuration/settings.rb'
55
+ - 'lib/ddtrace/context.rb'
56
+ - 'lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb'
57
+ - 'lib/ddtrace/contrib/active_support/cache/instrumentation.rb'
58
+ - 'lib/ddtrace/contrib/aws/services.rb'
59
+ - 'lib/ddtrace/contrib/elasticsearch/patcher.rb'
60
+ - 'lib/ddtrace/contrib/excon/middleware.rb'
61
+ - 'lib/ddtrace/contrib/grape/endpoint.rb'
62
+ - 'lib/ddtrace/contrib/httprb/instrumentation.rb'
63
+ - 'lib/ddtrace/contrib/rack/middlewares.rb'
64
+ - 'lib/ddtrace/contrib/rails/middlewares.rb'
65
+ - 'lib/ddtrace/contrib/redis/patcher.rb'
66
+ - 'lib/ddtrace/contrib/sinatra/tracer_middleware.rb'
67
+ - 'lib/ddtrace/contrib/sucker_punch/instrumentation.rb'
68
+ - 'lib/ddtrace/ext/ci.rb'
69
+ - 'lib/ddtrace/pin.rb'
70
+ - 'lib/ddtrace/span.rb'
71
+ - 'lib/ddtrace/tracer.rb'
72
+ - 'lib/ddtrace/workers/async.rb'
73
+ - 'spec/ddtrace/contrib/elasticsearch/quantize_spec.rb'
74
+ - 'spec/ddtrace/contrib/http/request_spec.rb'
75
+ - 'spec/ddtrace/contrib/mongodb/client_spec.rb'
76
+ - 'spec/ddtrace/contrib/patchable_spec.rb'
77
+ - 'spec/ddtrace/contrib/presto/client_spec.rb'
78
+ - 'spec/ddtrace/contrib/qless/support/job.rb'
79
+ - 'spec/ddtrace/contrib/rails/support/database.rb'
80
+ - 'spec/ddtrace/contrib/rails/support/middleware.rb'
81
+ - 'spec/ddtrace/diagnostics/health_spec.rb'
82
+ - 'spec/ddtrace/runtime/cgroup_spec.rb'
83
+ - 'spec/support/container_helpers.rb'
84
+ - 'spec/support/tracer_helpers.rb'
85
+ - 'test/contrib/rails/controller_test.rb'
86
+ - 'test/contrib/rails/errors_test.rb'
87
+ - 'test/tracer_test.rb'
88
+
89
+ # Offense count: 24
90
+ Lint/MissingSuper:
91
+ Exclude:
92
+ - 'lib/ddtrace/contrib/grpc/datadog_interceptor.rb'
93
+ - 'lib/ddtrace/opentracer/scope.rb'
94
+ - 'lib/ddtrace/opentracer/span.rb'
95
+ - 'lib/ddtrace/opentracer/span_context.rb'
96
+ - 'lib/ddtrace/sampler.rb'
97
+ - 'lib/ddtrace/sampling/matcher.rb'
98
+ - 'lib/ddtrace/sampling/rate_limiter.rb'
99
+ - 'lib/ddtrace/transport/http/adapters/net.rb'
100
+ - 'lib/ddtrace/transport/http/adapters/unix_socket.rb'
101
+ - 'lib/ddtrace/transport/http/builder.rb'
102
+ - 'lib/ddtrace/transport/http/env.rb'
103
+ - 'lib/ddtrace/transport/http/traces.rb'
104
+ - 'lib/ddtrace/transport/traces.rb'
105
+ - 'lib/ddtrace/workers/runtime_metrics.rb'
106
+ - 'lib/ddtrace/workers/trace_writer.rb'
107
+ - 'spec/support/faux_transport.rb'
108
+ - 'spec/support/spy_transport.rb'
109
+ - 'test/helper.rb'
110
+
111
+ # Offense count: 1
112
+ # Configuration parameters: AllowComments.
113
+ Lint/SuppressedException:
114
+ Exclude:
115
+ - 'lib/ddtrace/contrib/ethon/easy_patch.rb'
116
+
117
+ # Offense count: 2
118
+ # Configuration parameters: CheckForMethodsWithNoSideEffects.
119
+ Lint/Void:
120
+ Exclude:
121
+ - 'spec/ddtrace/contrib/grpc/support/grpc_helper.rb'
122
+
123
+ # Offense count: 2
124
+ # Configuration parameters: IgnoredMethods.
125
+ Metrics/CyclomaticComplexity:
126
+ Max: 17
127
+
128
+ # Offense count: 2
129
+ # Configuration parameters: IgnoredMethods.
130
+ Metrics/PerceivedComplexity:
131
+ Max: 18
132
+
133
+ # Offense count: 4
134
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
135
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
136
+ Naming/MemoizedInstanceVariableName:
137
+ Exclude:
138
+ - 'lib/ddtrace/configuration.rb'
139
+ - 'lib/ddtrace/contrib/active_record/configuration/resolver.rb'
140
+ - 'lib/ddtrace/contrib/extensions.rb'
141
+ - 'lib/ddtrace/contrib/sequel/database.rb'
142
+
143
+ # Offense count: 6
144
+ # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers.
145
+ # SupportedStyles: snake_case, normalcase, non_integer
146
+ # AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
147
+ Naming/VariableNumber:
148
+ Exclude:
149
+ - 'spec/ddtrace/contrib/ethon/typhoeus_integration_spec.rb'
150
+ - 'spec/ddtrace/contrib/resque/instrumentation_spec.rb'
151
+
152
+ # Offense count: 12
153
+ Performance/MethodObjectAsBlock:
154
+ Exclude:
155
+ - 'lib/ddtrace/contrib/cucumber/formatter.rb'
156
+ - 'lib/ddtrace/contrib/delayed_job/plugin.rb'
157
+ - 'lib/ddtrace/pipeline.rb'
158
+ - 'spec/ddtrace/contrib/cucumber/patcher_spec.rb'
159
+
160
+ # Offense count: 6
161
+ RSpec/EmptyExampleGroup:
162
+ Exclude:
163
+ - 'spec/ddtrace/buffer_spec.rb'
164
+ - 'spec/ddtrace/configuration/components_spec.rb'
165
+ - 'spec/ddtrace/ext/ci_spec.rb'
166
+ - 'spec/ddtrace/opentracer/distributed_headers_spec.rb'
167
+
168
+ # Offense count: 2
169
+ # Cop supports --auto-correct.
170
+ RSpec/ExpectActual:
171
+ Exclude:
172
+ - 'spec/routing/**/*'
173
+ - 'spec/ddtrace/contrib/rspec/instrumentation_spec.rb'
174
+
175
+ # Offense count: 3
176
+ RSpec/IteratedExpectation:
177
+ Exclude:
178
+ - 'spec/ddtrace/contrib/grpc/support/grpc_helper.rb'
179
+ - 'spec/ddtrace/contrib/rack/integration_test_spec.rb'
180
+
181
+ # Offense count: 3
182
+ RSpec/LeakyConstantDeclaration:
183
+ Exclude:
184
+ - 'spec/ddtrace/benchmark/support/benchmark_helper.rb'
185
+ - 'spec/ddtrace/contrib/rails/rack_spec.rb'
186
+ - 'spec/ddtrace/workers/async_spec.rb'
187
+
188
+ # Offense count: 37
189
+ RSpec/MissingExampleGroupArgument:
190
+ Exclude:
191
+ - 'spec/ddtrace/configuration/settings_spec.rb'
192
+ - 'spec/ddtrace/transport/http/adapters/net_spec.rb'
193
+ - 'spec/ddtrace/transport/http/adapters/test_spec.rb'
194
+
195
+ # Offense count: 18
196
+ RSpec/MultipleDescribes:
197
+ Exclude:
198
+ - 'spec/ddtrace/analytics_spec.rb'
199
+ - 'spec/ddtrace/buffer_spec.rb'
200
+ - 'spec/ddtrace/configuration/option_definition_spec.rb'
201
+ - 'spec/ddtrace/context_flush_spec.rb'
202
+ - 'spec/ddtrace/context_provider_spec.rb'
203
+ - 'spec/ddtrace/forced_tracing_spec.rb'
204
+ - 'spec/ddtrace/metrics_spec.rb'
205
+ - 'spec/ddtrace/sampler_spec.rb'
206
+ - 'spec/ddtrace/sampling/matcher_spec.rb'
207
+ - 'spec/ddtrace/transport/http/adapters/net_spec.rb'
208
+ - 'spec/ddtrace/transport/http/adapters/test_spec.rb'
209
+ - 'spec/ddtrace/transport/http/adapters/unix_socket_spec.rb'
210
+ - 'spec/ddtrace/transport/http/traces_spec.rb'
211
+ - 'spec/ddtrace/transport/io/traces_spec.rb'
212
+ - 'spec/ddtrace/transport/response_spec.rb'
213
+ - 'spec/ddtrace/transport/statistics_spec.rb'
214
+ - 'spec/ddtrace/transport/traces_spec.rb'
215
+ - 'spec/ddtrace/workers/trace_writer_spec.rb'
216
+
217
+ # Offense count: 143
218
+ # Configuration parameters: IgnoreSharedExamples.
219
+ RSpec/NamedSubject:
220
+ Exclude:
221
+ - 'spec/ddtrace/benchmark/gem_loading_spec.rb'
222
+ - 'spec/ddtrace/chunker_spec.rb'
223
+ - 'spec/ddtrace/context_flush_spec.rb'
224
+ - 'spec/ddtrace/context_provider_spec.rb'
225
+ - 'spec/ddtrace/context_spec.rb'
226
+ - 'spec/ddtrace/contrib/active_support/notifications/subscription_spec.rb'
227
+ - 'spec/ddtrace/contrib/ethon/easy_patch_spec.rb'
228
+ - 'spec/ddtrace/contrib/ethon/multi_patch_spec.rb'
229
+ - 'spec/ddtrace/contrib/excon/instrumentation_spec.rb'
230
+ - 'spec/ddtrace/contrib/faraday/middleware_spec.rb'
231
+ - 'spec/ddtrace/contrib/grape/tracer_spec.rb'
232
+ - 'spec/ddtrace/contrib/grpc/datadog_interceptor/client_spec.rb'
233
+ - 'spec/ddtrace/contrib/grpc/datadog_interceptor/server_spec.rb'
234
+ - 'spec/ddtrace/contrib/grpc/interception_context_spec.rb'
235
+ - 'spec/ddtrace/contrib/http/patcher_spec.rb'
236
+ - 'spec/ddtrace/contrib/mongodb/client_spec.rb'
237
+ - 'spec/ddtrace/contrib/mongodb/regression_issue_1235_spec.rb'
238
+ - 'spec/ddtrace/contrib/patcher_spec.rb'
239
+ - 'spec/ddtrace/contrib/rails/cache_spec.rb'
240
+ - 'spec/ddtrace/contrib/rails/database_spec.rb'
241
+ - 'spec/ddtrace/pin_spec.rb'
242
+ - 'spec/ddtrace/pipeline/span_filter_spec.rb'
243
+ - 'spec/ddtrace/pipeline/span_processor_spec.rb'
244
+ - 'spec/ddtrace/pipeline_spec.rb'
245
+ - 'spec/ddtrace/propagation/grpc_propagator_spec.rb'
246
+ - 'spec/ddtrace/sampling/rate_limiter_spec.rb'
247
+ - 'spec/ddtrace/sampling/rule_sampler_spec.rb'
248
+ - 'spec/ddtrace/span_spec.rb'
249
+ - 'spec/ddtrace/tracer_spec.rb'
250
+ - 'spec/ddtrace/transport/traces_spec.rb'
251
+
252
+ # Offense count: 4
253
+ RSpec/OverwritingSetup:
254
+ Exclude:
255
+ - 'spec/ddtrace/buffer_spec.rb'
256
+ - 'spec/ddtrace/sampling/rule_spec.rb'
257
+
258
+ # Offense count: 8
259
+ RSpec/RepeatedDescription:
260
+ Exclude:
261
+ - 'spec/ddtrace/contrib/rest_client/request_patch_spec.rb'
262
+
263
+ # Offense count: 2
264
+ RSpec/RepeatedExampleGroupBody:
265
+ Exclude:
266
+ - 'spec/ddtrace/contrib/elasticsearch/patcher_spec.rb'
267
+
268
+ # Offense count: 12
269
+ RSpec/RepeatedExampleGroupDescription:
270
+ Exclude:
271
+ - 'spec/ddtrace/contrib/elasticsearch/patcher_spec.rb'
272
+ - 'spec/ddtrace/contrib/grape/tracer_spec.rb'
273
+ - 'spec/ddtrace/contrib/redis/quantize_spec.rb'
274
+ - 'spec/ddtrace/opentracer/scope_manager_spec.rb'
275
+ - 'spec/ddtrace/opentracer/thread_local_scope_manager_spec.rb'
276
+ - 'spec/ddtrace/workers/trace_writer_spec.rb'
277
+
278
+ # Offense count: 53
279
+ RSpec/ScatteredSetup:
280
+ Exclude:
281
+ - 'spec/ddtrace/benchmark/support/benchmark_helper.rb'
282
+ - 'spec/ddtrace/configuration/settings_spec.rb'
283
+ - 'spec/ddtrace/contrib/action_cable/instrumentation_spec.rb'
284
+ - 'spec/ddtrace/contrib/action_cable/patcher_spec.rb'
285
+ - 'spec/ddtrace/contrib/elasticsearch/transport_spec.rb'
286
+ - 'spec/ddtrace/contrib/grape/tracer_spec.rb'
287
+ - 'spec/ddtrace/contrib/http/miniapp_spec.rb'
288
+ - 'spec/ddtrace/contrib/http/request_spec.rb'
289
+ - 'spec/ddtrace/contrib/mongodb/regression_issue_1235_spec.rb'
290
+ - 'spec/ddtrace/contrib/presto/client_spec.rb'
291
+ - 'spec/ddtrace/contrib/rails/cache_spec.rb'
292
+ - 'spec/ddtrace/contrib/rails/database_spec.rb'
293
+ - 'spec/ddtrace/contrib/rails/rails_active_job_spec.rb'
294
+ - 'spec/ddtrace/contrib/rails/railtie_spec.rb'
295
+ - 'spec/ddtrace/contrib/rails/redis_cache_spec.rb'
296
+ - 'spec/ddtrace/contrib/redis/miniapp_spec.rb'
297
+ - 'spec/ddtrace/diagnostics/environment_logger_spec.rb'
298
+ - 'spec/ddtrace/opentracer/rack_propagator_spec.rb'
299
+ - 'spec/ddtrace/opentracer/span_spec.rb'
300
+ - 'spec/ddtrace/opentracer/text_map_propagator_spec.rb'
301
+ - 'spec/ddtrace/tracer_spec.rb'
302
+ - 'spec/ddtrace/workers/loop_spec.rb'
303
+
304
+ # Offense count: 2
305
+ RSpec/UnspecifiedException:
306
+ Exclude:
307
+ - 'spec/ddtrace/contrib/delayed_job/plugin_spec.rb'
308
+ - 'spec/ddtrace/contrib/sidekiq/tracer_configure_spec.rb'
309
+
310
+ # Offense count: 303
311
+ # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
312
+ RSpec/VerifiedDoubles:
313
+ Exclude:
314
+ - 'spec/ddtrace/buffer_spec.rb'
315
+ - 'spec/ddtrace/configuration/base_spec.rb'
316
+ - 'spec/ddtrace/configuration/components_spec.rb'
317
+ - 'spec/ddtrace/configuration/option_definition_spec.rb'
318
+ - 'spec/ddtrace/configuration/option_spec.rb'
319
+ - 'spec/ddtrace/configuration/options_spec.rb'
320
+ - 'spec/ddtrace/configuration/settings_spec.rb'
321
+ - 'spec/ddtrace/configuration_spec.rb'
322
+ - 'spec/ddtrace/context_provider_spec.rb'
323
+ - 'spec/ddtrace/context_spec.rb'
324
+ - 'spec/ddtrace/contrib/action_cable/patcher_spec.rb'
325
+ - 'spec/ddtrace/contrib/active_support/notifications/event_spec.rb'
326
+ - 'spec/ddtrace/contrib/active_support/notifications/subscriber_spec.rb'
327
+ - 'spec/ddtrace/contrib/active_support/notifications/subscription_spec.rb'
328
+ - 'spec/ddtrace/contrib/analytics_spec.rb'
329
+ - 'spec/ddtrace/contrib/configuration/resolver_spec.rb'
330
+ - 'spec/ddtrace/contrib/configuration/settings_spec.rb'
331
+ - 'spec/ddtrace/contrib/cucumber/formatter_spec.rb'
332
+ - 'spec/ddtrace/contrib/delayed_job/plugin_spec.rb'
333
+ - 'spec/ddtrace/contrib/ethon/easy_patch_spec.rb'
334
+ - 'spec/ddtrace/contrib/extensions_spec.rb'
335
+ - 'spec/ddtrace/contrib/mongodb/client_spec.rb'
336
+ - 'spec/ddtrace/contrib/patchable_spec.rb'
337
+ - 'spec/ddtrace/contrib/rails/action_controller_spec.rb'
338
+ - 'spec/ddtrace/contrib/rails/cache_spec.rb'
339
+ - 'spec/ddtrace/contrib/rake/instrumentation_spec.rb'
340
+ - 'spec/ddtrace/contrib/registry_spec.rb'
341
+ - 'spec/ddtrace/contrib/shoryuken/tracer_spec.rb'
342
+ - 'spec/ddtrace/contrib/sneakers/tracer_spec.rb'
343
+ - 'spec/ddtrace/correlation_spec.rb'
344
+ - 'spec/ddtrace/environment_spec.rb'
345
+ - 'spec/ddtrace/forced_tracing_spec.rb'
346
+ - 'spec/ddtrace/integration_spec.rb'
347
+ - 'spec/ddtrace/metrics_spec.rb'
348
+ - 'spec/ddtrace/opentracer/global_tracer_spec.rb'
349
+ - 'spec/ddtrace/opentracer/rack_propagator_spec.rb'
350
+ - 'spec/ddtrace/opentracer/text_map_propagator_spec.rb'
351
+ - 'spec/ddtrace/opentracer/tracer_spec.rb'
352
+ - 'spec/ddtrace/patcher_spec.rb'
353
+ - 'spec/ddtrace/pin_spec.rb'
354
+ - 'spec/ddtrace/runtime/metrics_spec.rb'
355
+ - 'spec/ddtrace/tracer_spec.rb'
356
+ - 'spec/ddtrace/transport/http/adapters/net_spec.rb'
357
+ - 'spec/ddtrace/transport/http/adapters/registry_spec.rb'
358
+ - 'spec/ddtrace/transport/http/adapters/test_spec.rb'
359
+ - 'spec/ddtrace/transport/http/adapters/unix_socket_spec.rb'
360
+ - 'spec/ddtrace/transport/http/api/endpoint_spec.rb'
361
+ - 'spec/ddtrace/transport/http/api/instance_spec.rb'
362
+ - 'spec/ddtrace/transport/http/builder_spec.rb'
363
+ - 'spec/ddtrace/transport/http/client_spec.rb'
364
+ - 'spec/ddtrace/transport/http/response_spec.rb'
365
+ - 'spec/ddtrace/transport/http/statistics_spec.rb'
366
+ - 'spec/ddtrace/transport/http/traces_spec.rb'
367
+ - 'spec/ddtrace/transport/http_spec.rb'
368
+ - 'spec/ddtrace/transport/io/client_spec.rb'
369
+ - 'spec/ddtrace/transport/io/response_spec.rb'
370
+ - 'spec/ddtrace/transport/io/traces_spec.rb'
371
+ - 'spec/ddtrace/transport/parcel_spec.rb'
372
+ - 'spec/ddtrace/transport/traces_spec.rb'
373
+ - 'spec/ddtrace/utils/object_set_spec.rb'
374
+ - 'spec/ddtrace/utils/string_table_spec.rb'
375
+ - 'spec/ddtrace/worker_spec.rb'
376
+ - 'spec/ddtrace/workers/async_spec.rb'
377
+ - 'spec/ddtrace/workers/loop_spec.rb'
378
+ - 'spec/ddtrace/workers/polling_spec.rb'
379
+ - 'spec/ddtrace/workers/queue_spec.rb'
380
+ - 'spec/ddtrace/workers/runtime_metrics_spec.rb'
381
+ - 'spec/ddtrace/workers/trace_writer_spec.rb'
382
+ - 'spec/ddtrace/workers_integration_spec.rb'
383
+ - 'spec/ddtrace/writer_spec.rb'
384
+ - 'spec/support/statsd_helpers.rb'
385
+
386
+ # Offense count: 24
387
+ Style/ClassVars:
388
+ Exclude:
389
+ - 'spec/ddtrace/contrib/rails/support/rails3.rb'
390
+ - 'spec/ddtrace/contrib/rails/support/rails4.rb'
391
+ - 'spec/ddtrace/contrib/rails/support/rails5.rb'
392
+ - 'spec/ddtrace/contrib/rails/support/rails6.rb'
393
+
394
+ # Offense count: 1
395
+ Style/MixinUsage:
396
+ Exclude:
397
+ - 'test/benchmark_test.rb'
data/.simplecov ADDED
@@ -0,0 +1,47 @@
1
+ # Enable branch coverage reporting.
2
+ # SimpleCov only supports branch coverage in
3
+ # Ruby >= 2.5.
4
+ SimpleCov.enable_coverage :branch if RUBY_VERSION >= '2.5.0'
5
+
6
+ # Categorize SimpleCov report, for easier reading
7
+ SimpleCov.add_group 'contrib', '/lib/ddtrace/contrib'
8
+ SimpleCov.add_group 'transport', '/lib/ddtrace/transport'
9
+ SimpleCov.add_group 'spec', '/spec/'
10
+
11
+ # Exclude code not maintained by this project
12
+ SimpleCov.add_filter %r{/vendor/}
13
+
14
+ SimpleCov.coverage_dir ENV.fetch('COVERAGE_DIR', 'coverage')
15
+
16
+ # Each test run requires its own unique command_name.
17
+ # When running `rake spec:test_name`, the test process doesn't have access to the
18
+ # rake task process, so we have come up with unique values ourselves.
19
+ #
20
+ # The current approach is to combine the ruby engine (ruby-2.7,jruby-9.2),
21
+ # program name (rspec/test), command line arguments (--pattern spec/**/*_spec.rb),
22
+ # and the loaded gemset.
23
+ #
24
+ # This should allow us to distinguish between runs with the same tests, but different gemsets:
25
+ # * appraisal rails5-mysql2 rake spec:rails
26
+ # * appraisal rails5-postgres rake spec:rails
27
+ #
28
+ # Subsequent runs of the same exact test suite should have the same command_name.
29
+ command_line_arguments = ARGV.join(' ')
30
+ gemset_hash = Digest::MD5.hexdigest Gem.loaded_specs.values.map { |x| "#{x.name}#{x.version}" }.sort.join
31
+ ruby_engine = if defined?(RUBY_ENGINE_VERSION)
32
+ "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}"
33
+ else
34
+ "#{RUBY_ENGINE}-#{RUBY_VERSION}" # For Ruby < 2.3
35
+ end
36
+ SimpleCov.command_name "#{ruby_engine}:#{gemset_hash}:#{$PROGRAM_NAME} #{command_line_arguments}"
37
+
38
+ # A very large number to disable result merging timeout
39
+ SimpleCov.merge_timeout 2 ** 31
40
+
41
+ # DEV If we choose to enforce a hard minimum.
42
+ # SimpleCov.minimum_coverage 95
43
+
44
+ # DEV If we choose to enforce a maximum coverage drop.
45
+ # DEV We have to figure out where to store previous coverage data
46
+ # DEV in order to perform this comparison
47
+ # SimpleCov.maximum_coverage_drop 1
data/Appraisals CHANGED
@@ -1,85 +1,15 @@
1
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.3')
2
- raise NotImplementedError, 'Ruby versions < 1.9.3 are not supported!'
3
- elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
4
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.0.0')
5
- if RUBY_PLATFORM != 'java'
6
- appraise 'rails30-postgres' do
7
- gem 'test-unit'
8
- gem 'rails', '3.0.20'
9
- gem 'pg', '0.15.1', platform: :ruby
10
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
11
- gem 'rack-cache', '1.7.1'
12
- end
13
-
14
- appraise 'rails30-postgres-sidekiq' do
15
- gem 'test-unit'
16
- gem 'rails', '3.0.20'
17
- gem 'pg', '0.15.1', platform: :ruby
18
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
19
- gem 'sidekiq', '4.0.0'
20
- gem 'rack-cache', '1.7.1'
21
- end
22
-
23
- appraise 'rails32-mysql2' do
24
- gem 'test-unit'
25
- gem 'rails', '3.2.22.5'
26
- gem 'mysql2', '0.3.21', platform: :ruby
27
- gem 'activerecord-mysql-adapter', platform: :ruby
28
- gem 'activerecord-jdbcmysql-adapter', platform: :jruby
29
- gem 'rack-cache', '1.7.1'
30
- end
31
-
32
- appraise 'rails32-postgres' do
33
- gem 'test-unit'
34
- gem 'rails', '3.2.22.5'
35
- gem 'pg', '0.15.1', platform: :ruby
36
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
37
- gem 'rack-cache', '1.7.1'
38
- end
39
-
40
- appraise 'rails32-postgres-redis' do
41
- gem 'test-unit'
42
- gem 'rails', '3.2.22.5'
43
- gem 'pg', '0.15.1', platform: :ruby
44
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
45
- gem 'redis-rails'
46
- gem 'redis', '< 4.0'
47
- gem 'rack-cache', '1.7.1'
48
- end
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'ddtrace/version'
49
4
 
50
- appraise 'rails32-postgres-sidekiq' do
51
- gem 'test-unit'
52
- gem 'rails', '3.2.22.5'
53
- gem 'pg', '0.15.1', platform: :ruby
54
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
55
- gem 'sidekiq', '4.0.0'
56
- gem 'rack-cache', '1.7.1'
57
- end
58
-
59
- appraise 'contrib-old' do
60
- gem 'active_model_serializers', '~> 0.9.0'
61
- gem 'activerecord', '3.2.22.5'
62
- gem 'activerecord-mysql-adapter', platform: :ruby
63
- gem 'aws-sdk', '~> 2.0'
64
- gem 'dalli'
65
- gem 'elasticsearch-transport'
66
- gem 'excon'
67
- gem 'hiredis'
68
- gem 'mongo', '< 2.5'
69
- gem 'mysql2', '0.3.21', platform: :ruby
70
- gem 'rack', '1.4.7'
71
- gem 'rack-cache', '1.7.1'
72
- gem 'rack-test', '0.7.0'
73
- gem 'rake', '< 12.3'
74
- gem 'redis', '< 4.0'
75
- gem 'resque', '< 2.0'
76
- gem 'sequel', '~> 4.0', '< 4.37'
77
- gem 'sidekiq', '4.0.0'
78
- gem 'sinatra', '1.4.5'
79
- gem 'sqlite3'
80
- gem 'sucker_punch'
81
- end
5
+ def self.gem_cucumber(version)
6
+ appraise "cucumber#{version}" do
7
+ gem 'cucumber', ">=#{version}.0.0", "<#{version + 1}.0.0"
82
8
  end
9
+ end
10
+
11
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(Datadog::VERSION::MINIMUM_RUBY_VERSION)
12
+ raise NotImplementedError, "Ruby versions < #{Datadog::VERSION::MINIMUM_RUBY_VERSION} are not supported!"
83
13
  elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
84
14
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
85
15
  if RUBY_PLATFORM != 'java'
@@ -89,6 +19,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
89
19
  gem 'pg', '0.15.1', platform: :ruby
90
20
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
91
21
  gem 'rack-cache', '1.7.1'
22
+ gem 'lograge', '< 0.4'
92
23
  end
93
24
 
94
25
  appraise 'rails30-postgres-sidekiq' do
@@ -98,6 +29,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
98
29
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
99
30
  gem 'sidekiq', '4.0.0'
100
31
  gem 'rack-cache', '1.7.1'
32
+ gem 'lograge', '< 0.4'
101
33
  end
102
34
 
103
35
  appraise 'rails32-mysql2' do
@@ -107,6 +39,8 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
107
39
  gem 'activerecord-mysql-adapter', platform: :ruby
108
40
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
109
41
  gem 'rack-cache', '1.7.1'
42
+ gem 'sqlite3', '~> 1.3.5'
43
+ gem 'lograge', '< 0.4'
110
44
  end
111
45
 
112
46
  appraise 'rails32-postgres' do
@@ -115,6 +49,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
115
49
  gem 'pg', '0.15.1', platform: :ruby
116
50
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
117
51
  gem 'rack-cache', '1.7.1'
52
+ gem 'lograge', '< 0.4'
118
53
  end
119
54
 
120
55
  appraise 'rails32-postgres-redis' do
@@ -125,6 +60,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
125
60
  gem 'redis-rails'
126
61
  gem 'redis', '< 4.0'
127
62
  gem 'rack-cache', '1.7.1'
63
+ gem 'lograge', '< 0.4'
128
64
  end
129
65
 
130
66
  appraise 'rails32-postgres-sidekiq' do
@@ -134,6 +70,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
134
70
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
135
71
  gem 'sidekiq', '4.0.0'
136
72
  gem 'rack-cache', '1.7.1'
73
+ gem 'lograge', '< 0.4'
137
74
  end
138
75
 
139
76
  appraise 'contrib-old' do
@@ -141,23 +78,34 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
141
78
  gem 'activerecord', '3.2.22.5'
142
79
  gem 'activerecord-mysql-adapter', platform: :ruby
143
80
  gem 'aws-sdk', '~> 2.0'
81
+ gem 'concurrent-ruby'
144
82
  gem 'dalli'
83
+ gem 'delayed_job'
84
+ gem 'delayed_job_active_record'
145
85
  gem 'elasticsearch-transport'
86
+ gem 'ethon'
146
87
  gem 'excon'
147
88
  gem 'hiredis'
89
+ gem 'http'
90
+ gem 'httpclient'
148
91
  gem 'mongo', '< 2.5'
149
92
  gem 'mysql2', '0.3.21', platform: :ruby
93
+ gem 'pg', '< 1.0', platform: :ruby
150
94
  gem 'rack', '1.4.7'
151
95
  gem 'rack-cache', '1.7.1'
152
96
  gem 'rack-test', '0.7.0'
153
97
  gem 'rake', '< 12.3'
154
98
  gem 'redis', '< 4.0'
99
+ gem 'rest-client'
155
100
  gem 'resque', '< 2.0'
101
+ gem 'rspec', '>= 3.0.0'
156
102
  gem 'sequel', '~> 4.0', '< 4.37'
157
- gem 'sidekiq', '4.0.0'
103
+ gem 'sidekiq', '~> 3.5.4'
158
104
  gem 'sinatra', '1.4.5'
159
- gem 'sqlite3'
105
+ gem 'sqlite3', '~> 1.3.6'
160
106
  gem 'sucker_punch'
107
+ gem 'timers', '< 4.2'
108
+ gem 'typhoeus'
161
109
  end
162
110
  end
163
111
  elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
@@ -169,6 +117,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
169
117
  gem 'pg', '0.15.1', platform: :ruby
170
118
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
171
119
  gem 'rack-cache', '1.7.1'
120
+ gem 'lograge', '< 0.4'
172
121
  end
173
122
 
174
123
  appraise 'rails30-postgres-sidekiq' do
@@ -178,6 +127,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
178
127
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
179
128
  gem 'sidekiq', '4.0.0'
180
129
  gem 'rack-cache', '1.7.1'
130
+ gem 'lograge', '< 0.4'
181
131
  end
182
132
 
183
133
  appraise 'rails32-mysql2' do
@@ -187,6 +137,8 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
187
137
  gem 'activerecord-mysql-adapter', platform: :ruby
188
138
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
189
139
  gem 'rack-cache', '1.7.1'
140
+ gem 'sqlite3', '~> 1.3.5'
141
+ gem 'lograge', '< 0.4'
190
142
  end
191
143
 
192
144
  appraise 'rails32-postgres' do
@@ -195,6 +147,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
195
147
  gem 'pg', '0.15.1', platform: :ruby
196
148
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
197
149
  gem 'rack-cache', '1.7.1'
150
+ gem 'lograge', '< 0.4'
198
151
  end
199
152
 
200
153
  appraise 'rails32-postgres-redis' do
@@ -205,6 +158,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
205
158
  gem 'redis-rails'
206
159
  gem 'redis', '< 4.0'
207
160
  gem 'rack-cache', '1.7.1'
161
+ gem 'lograge', '< 0.4'
208
162
  end
209
163
 
210
164
  appraise 'rails32-postgres-sidekiq' do
@@ -214,26 +168,33 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
214
168
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
215
169
  gem 'sidekiq', '4.0.0'
216
170
  gem 'rack-cache', '1.7.1'
171
+ gem 'lograge', '< 0.4'
217
172
  end
218
173
 
219
174
  appraise 'rails4-mysql2' do
220
- gem 'rails', '4.2.7.1'
221
- gem 'mysql2', '< 0.5', platform: :ruby
175
+ gem 'rails', '4.2.11.1'
176
+ gem 'mysql2', '< 1', platform: :ruby
222
177
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
178
+ gem 'sprockets', '< 4'
179
+ gem 'lograge'
223
180
  end
224
181
 
225
182
  appraise 'rails4-postgres' do
226
- gem 'rails', '4.2.7.1'
183
+ gem 'rails', '4.2.11.1'
227
184
  gem 'pg', '< 1.0', platform: :ruby
228
185
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
186
+ gem 'sprockets', '< 4'
187
+ gem 'lograge'
229
188
  end
230
189
 
231
190
  appraise 'rails4-postgres-redis' do
232
- gem 'rails', '4.2.7.1'
191
+ gem 'rails', '4.2.11.1'
233
192
  gem 'pg', '< 1.0', platform: :ruby
234
193
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
235
194
  gem 'redis-rails'
236
195
  gem 'redis', '< 4.0'
196
+ gem 'sprockets', '< 4'
197
+ gem 'lograge'
237
198
  end
238
199
 
239
200
  appraise 'contrib-old' do
@@ -241,23 +202,37 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
241
202
  gem 'activerecord', '3.2.22.5'
242
203
  gem 'activerecord-mysql-adapter', platform: :ruby
243
204
  gem 'aws-sdk', '~> 2.0'
205
+ gem 'concurrent-ruby'
244
206
  gem 'dalli'
207
+ gem 'delayed_job'
208
+ gem 'delayed_job_active_record'
245
209
  gem 'elasticsearch-transport'
210
+ gem 'presto-client', '>= 0.5.14'
211
+ gem 'ethon'
246
212
  gem 'excon'
247
213
  gem 'hiredis'
214
+ gem 'http'
215
+ gem 'httpclient'
248
216
  gem 'mongo', '< 2.5'
249
217
  gem 'mysql2', '0.3.21', platform: :ruby
218
+ gem 'pg', '< 1.0', platform: :ruby
250
219
  gem 'rack', '1.4.7'
251
220
  gem 'rack-cache', '1.7.1'
252
221
  gem 'rack-test', '0.7.0'
253
222
  gem 'rake', '< 12.3'
254
223
  gem 'redis', '< 4.0'
224
+ gem 'rest-client'
255
225
  gem 'resque', '< 2.0'
226
+ gem 'ruby-kafka', '>= 0.7.10'
227
+ gem 'rspec', '>= 3.0.0'
256
228
  gem 'sequel', '~> 4.0', '< 4.37'
257
- gem 'sidekiq', '4.0.0'
229
+ gem 'shoryuken'
230
+ gem 'sidekiq', '~> 3.5.4'
258
231
  gem 'sinatra', '1.4.5'
259
- gem 'sqlite3'
232
+ gem 'sqlite3', '~> 1.3.6'
260
233
  gem 'sucker_punch'
234
+ gem 'timers', '< 4.2'
235
+ gem 'typhoeus'
261
236
  end
262
237
  end
263
238
  elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
@@ -269,6 +244,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
269
244
  gem 'pg', '0.15.1', platform: :ruby
270
245
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
271
246
  gem 'rack-cache', '1.7.1'
247
+ gem 'lograge', '< 0.4'
272
248
  end
273
249
 
274
250
  appraise 'rails30-postgres-sidekiq' do
@@ -278,6 +254,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
278
254
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
279
255
  gem 'sidekiq', '4.0.0'
280
256
  gem 'rack-cache', '1.7.1'
257
+ gem 'lograge', '< 0.4'
281
258
  end
282
259
 
283
260
  appraise 'rails32-mysql2' do
@@ -287,6 +264,8 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
287
264
  gem 'activerecord-mysql-adapter', platform: :ruby
288
265
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
289
266
  gem 'rack-cache', '1.7.1'
267
+ gem 'sqlite3', '~> 1.3.5'
268
+ gem 'lograge', '< 0.4'
290
269
  end
291
270
 
292
271
  appraise 'rails32-postgres' do
@@ -295,6 +274,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
295
274
  gem 'pg', '0.15.1', platform: :ruby
296
275
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
297
276
  gem 'rack-cache', '1.7.1'
277
+ gem 'lograge', '< 0.4'
298
278
  end
299
279
 
300
280
  appraise 'rails32-postgres-redis' do
@@ -305,6 +285,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
305
285
  gem 'redis-rails'
306
286
  gem 'redis', '< 4.0'
307
287
  gem 'rack-cache', '1.7.1'
288
+ gem 'lograge', '< 0.4'
308
289
  end
309
290
 
310
291
  appraise 'rails32-postgres-sidekiq' do
@@ -314,84 +295,127 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
314
295
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
315
296
  gem 'sidekiq', '4.0.0'
316
297
  gem 'rack-cache', '1.7.1'
298
+ gem 'lograge', '< 0.4'
317
299
  end
318
300
 
319
301
  appraise 'rails4-mysql2' do
320
- gem 'rails', '4.2.7.1'
321
- gem 'mysql2', '< 0.5', platform: :ruby
302
+ gem 'rails', '4.2.11.1'
303
+ gem 'mysql2', '< 1', platform: :ruby
322
304
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
305
+ gem 'sprockets', '< 4'
306
+ gem 'lograge'
323
307
  end
324
308
 
325
309
  appraise 'rails4-postgres' do
326
- gem 'rails', '4.2.7.1'
310
+ gem 'rails', '4.2.11.1'
327
311
  gem 'pg', '< 1.0', platform: :ruby
328
312
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
313
+ gem 'sprockets', '< 4'
314
+ gem 'lograge'
329
315
  end
330
316
 
331
317
  appraise 'rails4-postgres-redis' do
332
- gem 'rails', '4.2.7.1'
318
+ gem 'rails', '4.2.11.1'
333
319
  gem 'pg', '< 1.0', platform: :ruby
334
320
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
335
321
  gem 'redis-rails'
336
322
  gem 'redis', '< 4.0'
323
+ gem 'sprockets', '< 4'
324
+ gem 'lograge'
337
325
  end
338
326
 
339
327
  appraise 'rails4-postgres-sidekiq' do
340
- gem 'rails', '4.2.7.1'
328
+ gem 'rails', '4.2.11.1'
341
329
  gem 'pg', '< 1.0', platform: :ruby
342
330
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
343
331
  gem 'sidekiq'
344
332
  gem 'activejob'
333
+ gem 'sprockets', '< 4'
334
+ gem 'lograge'
345
335
  end
346
336
 
347
337
  appraise 'rails5-mysql2' do
348
- gem 'rails', '~> 5.1.6'
349
- gem 'mysql2', '< 0.5', platform: :ruby
338
+ gem 'rails', '5.2.3'
339
+ gem 'mysql2', '< 1', platform: :ruby
340
+ gem 'sprockets', '< 4'
341
+ gem 'lograge'
350
342
  end
351
343
 
352
344
  appraise 'rails5-postgres' do
353
- gem 'rails', '~> 5.1.6'
345
+ gem 'rails', '5.2.3'
354
346
  gem 'pg', '< 1.0', platform: :ruby
347
+ gem 'sprockets', '< 4'
348
+ gem 'lograge'
355
349
  end
356
350
 
357
351
  appraise 'rails5-postgres-redis' do
358
- gem 'rails', '~> 5.1.6'
352
+ gem 'rails', '5.2.3'
359
353
  gem 'pg', '< 1.0', platform: :ruby
360
- gem 'redis-rails'
361
- gem 'redis'
354
+ gem 'redis', '>= 4.0.1'
355
+ gem 'sprockets', '< 4'
356
+ gem 'lograge'
357
+ end
358
+
359
+ appraise 'rails5-postgres-redis-activesupport' do
360
+ gem 'rails', '5.2.3'
361
+ gem 'pg', '< 1.0', platform: :ruby
362
+ gem 'redis', '>= 4.0.1'
363
+ gem 'sprockets', '< 4'
364
+ gem 'lograge'
362
365
  end
363
366
 
364
367
  appraise 'rails5-postgres-sidekiq' do
365
- gem 'rails', '~> 5.1.6'
368
+ gem 'rails', '5.2.3'
366
369
  gem 'pg', '< 1.0', platform: :ruby
367
370
  gem 'sidekiq'
368
371
  gem 'activejob'
372
+ gem 'sprockets', '< 4'
373
+ gem 'lograge'
369
374
  end
370
375
 
371
376
  appraise 'contrib' do
377
+ gem 'actionpack'
378
+ gem 'actionview'
372
379
  gem 'active_model_serializers', '>= 0.10.0'
373
380
  gem 'activerecord', '< 5.1.5'
374
381
  gem 'aws-sdk'
382
+ gem 'concurrent-ruby'
375
383
  gem 'dalli'
384
+ gem 'delayed_job'
385
+ gem 'delayed_job_active_record'
376
386
  gem 'elasticsearch-transport'
387
+ gem 'pg', platform: :ruby
388
+ gem 'presto-client', '>= 0.5.14'
389
+ gem 'ethon'
377
390
  gem 'excon'
391
+ gem 'faraday'
378
392
  gem 'grape'
379
- gem 'graphql'
380
- gem 'grpc'
393
+ gem 'graphql', '>= 1.12.0'
394
+ gem 'grpc', '~> 1.21.0' # Last version to support Ruby < 2.3
381
395
  gem 'hiredis'
382
- gem 'mongo', '< 2.5'
396
+ gem 'http'
397
+ gem 'httpclient'
398
+ gem 'mongo', '>= 2.8.0'
383
399
  gem 'mysql2', '< 0.5', platform: :ruby
400
+ gem 'qless'
384
401
  gem 'racecar', '>= 0.3.5'
385
- gem 'rack'
402
+ gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
386
403
  gem 'rack-test'
387
404
  gem 'rake', '>= 12.3'
388
405
  gem 'redis', '< 4.0'
406
+ gem 'rest-client'
389
407
  gem 'resque', '< 2.0'
408
+ gem 'ruby-kafka', '>= 0.7.10'
409
+ gem 'rspec', '>= 3.0.0'
390
410
  gem 'sequel'
411
+ gem 'shoryuken'
391
412
  gem 'sidekiq'
392
413
  gem 'sinatra'
393
- gem 'sqlite3'
414
+ gem 'sneakers', '>= 2.12.0'
415
+ gem 'sqlite3', '~> 1.3.6'
394
416
  gem 'sucker_punch'
417
+ gem 'typhoeus'
418
+ gem 'que', '>= 1.0.0.beta2'
395
419
  end
396
420
  end
397
421
  elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
@@ -403,6 +427,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
403
427
  gem 'pg', '0.15.1', platform: :ruby
404
428
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
405
429
  gem 'rack-cache', '1.7.1'
430
+ gem 'lograge', '< 0.4'
406
431
  end
407
432
 
408
433
  appraise 'rails30-postgres-sidekiq' do
@@ -412,6 +437,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
412
437
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
413
438
  gem 'sidekiq', '4.0.0'
414
439
  gem 'rack-cache', '1.7.1'
440
+ gem 'lograge', '< 0.4'
415
441
  end
416
442
 
417
443
  appraise 'rails32-mysql2' do
@@ -421,6 +447,8 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
421
447
  gem 'activerecord-mysql-adapter', platform: :ruby
422
448
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
423
449
  gem 'rack-cache', '1.7.1'
450
+ gem 'sqlite3', '~> 1.3.5'
451
+ gem 'lograge', '< 0.4'
424
452
  end
425
453
 
426
454
  appraise 'rails32-postgres' do
@@ -429,6 +457,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
429
457
  gem 'pg', '0.15.1', platform: :ruby
430
458
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
431
459
  gem 'rack-cache', '1.7.1'
460
+ gem 'lograge', '< 0.4'
432
461
  end
433
462
 
434
463
  appraise 'rails32-postgres-redis' do
@@ -439,6 +468,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
439
468
  gem 'redis-rails'
440
469
  gem 'redis', '< 4.0'
441
470
  gem 'rack-cache', '1.7.1'
471
+ gem 'lograge', '< 0.4'
442
472
  end
443
473
 
444
474
  appraise 'rails32-postgres-sidekiq' do
@@ -448,112 +478,888 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
448
478
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
449
479
  gem 'sidekiq', '4.0.0'
450
480
  gem 'rack-cache', '1.7.1'
481
+ gem 'lograge', '< 0.4'
451
482
  end
452
483
 
453
484
  appraise 'rails4-mysql2' do
454
- gem 'rails', '4.2.7.1'
455
- gem 'mysql2', '< 0.5', platform: :ruby
485
+ gem 'rails', '4.2.11.1'
486
+ gem 'mysql2', '< 1', platform: :ruby
456
487
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
488
+ gem 'sprockets', '< 4'
489
+ gem 'lograge'
457
490
  end
458
491
 
459
492
  appraise 'rails4-postgres' do
460
- gem 'rails', '4.2.7.1'
493
+ gem 'rails', '4.2.11.1'
461
494
  gem 'pg', '< 1.0', platform: :ruby
462
495
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
496
+ gem 'sprockets', '< 4'
497
+ gem 'lograge'
463
498
  end
464
499
 
465
500
  appraise 'rails4-postgres-redis' do
466
- gem 'rails', '4.2.7.1'
501
+ gem 'rails', '4.2.11.1'
467
502
  gem 'pg', '< 1.0', platform: :ruby
468
503
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
469
504
  gem 'redis-rails'
470
505
  gem 'redis', '< 4.0'
506
+ gem 'sprockets', '< 4'
507
+ gem 'lograge'
471
508
  end
472
509
 
473
510
  appraise 'rails4-postgres-sidekiq' do
474
- gem 'rails', '4.2.7.1'
511
+ gem 'rails', '4.2.11.1'
475
512
  gem 'pg', '< 1.0', platform: :ruby
476
513
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
477
514
  gem 'sidekiq'
478
515
  gem 'activejob'
516
+ gem 'sprockets', '< 4'
517
+ gem 'lograge'
479
518
  end
480
519
 
481
520
  appraise 'rails5-mysql2' do
482
- gem 'rails', '~> 5.1.6'
483
- gem 'mysql2', '< 0.5', platform: :ruby
521
+ gem 'rails', '~> 5.2.1'
522
+ gem 'mysql2', '< 1', platform: :ruby
523
+ gem 'sprockets', '< 4'
524
+ gem 'lograge'
484
525
  end
485
526
 
486
527
  appraise 'rails5-postgres' do
487
- gem 'rails', '~> 5.1.6'
528
+ gem 'rails', '~> 5.2.1'
488
529
  gem 'pg', '< 1.0', platform: :ruby
530
+ gem 'sprockets', '< 4'
531
+ gem 'lograge'
489
532
  end
490
533
 
491
534
  appraise 'rails5-postgres-redis' do
492
- gem 'rails', '~> 5.1.6'
535
+ gem 'rails', '~> 5.2.1'
493
536
  gem 'pg', '< 1.0', platform: :ruby
494
- gem 'redis-rails'
495
- gem 'redis'
537
+ gem 'redis', '>= 4.0.1'
538
+ gem 'sprockets', '< 4'
539
+ gem 'lograge'
540
+ end
541
+
542
+ appraise 'rails5-postgres-redis-activesupport' do
543
+ gem 'rails', '~> 5.2.1'
544
+ gem 'pg', '< 1.0', platform: :ruby
545
+ gem 'redis', '>= 4.0.1'
546
+ gem 'sprockets', '< 4'
547
+ gem 'lograge'
496
548
  end
497
549
 
498
550
  appraise 'rails5-postgres-sidekiq' do
499
- gem 'rails', '~> 5.1.6'
551
+ gem 'rails', '~> 5.2.1'
500
552
  gem 'pg', '< 1.0', platform: :ruby
501
553
  gem 'sidekiq'
502
554
  gem 'activejob'
555
+ gem 'sprockets', '< 4'
556
+ gem 'lograge'
557
+ end
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'
503
567
  end
504
568
 
569
+ (3..4).each { |v| gem_cucumber(v) }
570
+
505
571
  appraise 'contrib' do
572
+ gem 'actionpack'
573
+ gem 'actionview'
506
574
  gem 'active_model_serializers', '>= 0.10.0'
507
575
  gem 'activerecord', '< 5.1.5'
508
576
  gem 'aws-sdk'
577
+ gem 'concurrent-ruby'
509
578
  gem 'dalli'
579
+ gem 'delayed_job'
580
+ gem 'delayed_job_active_record'
510
581
  gem 'elasticsearch-transport'
582
+ gem 'ethon'
511
583
  gem 'excon'
584
+ gem 'faraday'
512
585
  gem 'grape'
513
- gem 'graphql'
586
+ gem 'graphql', '>= 1.12.0'
514
587
  gem 'grpc'
588
+ gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
515
589
  gem 'hiredis'
516
- gem 'mongo', '< 2.5'
590
+ gem 'http'
591
+ gem 'httpclient'
592
+ gem 'mongo', '>= 2.8.0'
517
593
  gem 'mysql2', '< 0.5', platform: :ruby
594
+ gem 'pg', platform: :ruby
595
+ gem 'presto-client', '>= 0.5.14'
596
+ gem 'qless'
518
597
  gem 'racecar', '>= 0.3.5'
519
- gem 'rack'
598
+ gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
520
599
  gem 'rack-test'
521
600
  gem 'rake', '>= 12.3'
522
601
  gem 'redis', '< 4.0'
523
- gem 'resque', '< 2.0'
602
+ gem 'rest-client'
603
+ gem 'resque'
604
+ gem 'ruby-kafka', '>= 0.7.10'
605
+ gem 'rspec', '>= 3.0.0'
524
606
  gem 'sequel'
607
+ gem 'shoryuken'
525
608
  gem 'sidekiq'
526
609
  gem 'sinatra'
527
- gem 'sqlite3'
610
+ gem 'sneakers', '>= 2.12.0'
611
+ gem 'sqlite3', '~> 1.3.6'
528
612
  gem 'sucker_punch'
613
+ gem 'typhoeus'
614
+ gem 'que', '>= 1.0.0.beta2'
615
+ end
616
+
617
+ appraise 'contrib-old' do
618
+ gem 'faraday', '0.17'
529
619
  end
530
620
  end
531
- elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION)
621
+ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
622
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0')
532
623
  if RUBY_PLATFORM != 'java'
624
+ appraise 'rails5-mysql2' do
625
+ gem 'rails', '~> 5.2.1'
626
+ gem 'mysql2', '< 1', platform: :ruby
627
+ gem 'sprockets', '< 4'
628
+ gem 'lograge'
629
+ end
630
+
631
+ appraise 'rails5-postgres' do
632
+ gem 'rails', '~> 5.2.1'
633
+ gem 'pg', '< 1.0', platform: :ruby
634
+ gem 'sprockets', '< 4'
635
+ gem 'lograge'
636
+ end
637
+
638
+ appraise 'rails5-postgres-redis' do
639
+ gem 'rails', '~> 5.2.1'
640
+ gem 'pg', '< 1.0', platform: :ruby
641
+ gem 'redis', '>= 4.0.1'
642
+ gem 'sprockets', '< 4'
643
+ gem 'lograge'
644
+ end
645
+
646
+ appraise 'rails5-postgres-redis-activesupport' do
647
+ gem 'rails', '~> 5.2.1'
648
+ gem 'pg', '< 1.0', platform: :ruby
649
+ gem 'redis', '>= 4.0.1'
650
+ gem 'sprockets', '< 4'
651
+ gem 'lograge'
652
+ end
653
+
654
+ appraise 'rails5-postgres-sidekiq' do
655
+ gem 'rails', '~> 5.2.1'
656
+ gem 'pg', '< 1.0', platform: :ruby
657
+ gem 'sidekiq'
658
+ gem 'activejob'
659
+ gem 'sprockets', '< 4'
660
+ gem 'lograge'
661
+ end
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
+
533
675
  appraise 'contrib' do
676
+ gem 'actionpack'
677
+ gem 'actionview'
534
678
  gem 'active_model_serializers', '>= 0.10.0'
535
679
  gem 'activerecord', '< 5.1.5'
536
680
  gem 'aws-sdk'
681
+ gem 'concurrent-ruby'
682
+ gem 'cucumber'
537
683
  gem 'dalli'
684
+ gem 'delayed_job'
685
+ gem 'delayed_job_active_record'
538
686
  gem 'elasticsearch-transport'
687
+ gem 'ethon'
539
688
  gem 'excon'
689
+ gem 'faraday'
540
690
  gem 'grape'
541
- gem 'graphql'
691
+ gem 'graphql', '>= 1.12.0'
542
692
  gem 'grpc'
693
+ gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
543
694
  gem 'hiredis'
544
- gem 'mongo', '< 2.5'
695
+ gem 'http'
696
+ gem 'httpclient'
697
+ gem 'mongo', '>= 2.8.0'
545
698
  gem 'mysql2', '< 0.5', platform: :ruby
699
+ gem 'pg', platform: :ruby
700
+ gem 'presto-client', '>= 0.5.14'
701
+ gem 'qless'
546
702
  gem 'racecar', '>= 0.3.5'
547
703
  gem 'rack'
548
704
  gem 'rack-test'
549
705
  gem 'rake', '>= 12.3'
550
706
  gem 'redis', '< 4.0'
551
- gem 'resque', '< 2.0'
707
+ gem 'rest-client'
708
+ gem 'resque'
709
+ gem 'ruby-kafka', '>= 0.7.10'
710
+ gem 'rspec', '>= 3.0.0'
711
+ gem 'sequel'
712
+ gem 'shoryuken'
713
+ gem 'sidekiq'
714
+ gem 'sinatra'
715
+ gem 'sneakers', '>= 2.12.0'
716
+ gem 'sqlite3', '~> 1.3.6'
717
+ gem 'sucker_punch'
718
+ gem 'typhoeus'
719
+ gem 'que', '>= 1.0.0.beta2'
720
+ end
721
+
722
+ appraise 'contrib-old' do
723
+ gem 'faraday', '0.17'
724
+ end
725
+ end
726
+ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
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', (RUBY_PLATFORM == 'java' ? '0.10.0' : '>= 0') # Newer releases require `rusage`, which is not available for JRuby
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'
932
+ appraise 'rails5-mysql2' do
933
+ gem 'rails', '~> 5.2.1'
934
+ gem 'mysql2', '< 1', platform: :ruby
935
+ gem 'sprockets', '< 4'
936
+ gem 'lograge'
937
+ end
938
+
939
+ appraise 'rails5-postgres' do
940
+ gem 'rails', '~> 5.2.1'
941
+ gem 'pg', '< 1.0', platform: :ruby
942
+ gem 'sprockets', '< 4'
943
+ gem 'lograge'
944
+ end
945
+
946
+ appraise 'rails5-postgres-redis' do
947
+ gem 'rails', '~> 5.2.1'
948
+ gem 'pg', '< 1.0', platform: :ruby
949
+ gem 'redis', '>= 4.0.1'
950
+ gem 'sprockets', '< 4'
951
+ gem 'lograge'
952
+ end
953
+
954
+ appraise 'rails5-postgres-redis-activesupport' do
955
+ gem 'rails', '~> 5.2.1'
956
+ gem 'pg', '< 1.0', platform: :ruby
957
+ gem 'redis', '>= 4.0.1'
958
+ gem 'sprockets', '< 4'
959
+ gem 'lograge'
960
+ end
961
+
962
+ appraise 'rails5-postgres-sidekiq' do
963
+ gem 'rails', '~> 5.2.1'
964
+ gem 'pg', '< 1.0', platform: :ruby
965
+ gem 'sidekiq'
966
+ gem 'activejob'
967
+ gem 'sprockets', '< 4'
968
+ gem 'lograge'
969
+ end
970
+
971
+ appraise 'rails6-mysql2' do
972
+ gem 'rails', '~> 6.0.0'
973
+ gem 'mysql2', '< 1', platform: :ruby
974
+ gem 'sprockets', '< 4'
975
+ gem 'lograge'
976
+ end
977
+
978
+ appraise 'rails6-postgres' do
979
+ gem 'rails', '~> 6.0.0'
980
+ gem 'pg', '< 1.0', platform: :ruby
981
+ gem 'sprockets', '< 4'
982
+ gem 'lograge'
983
+ end
984
+
985
+ appraise 'rails6-postgres-redis' do
986
+ gem 'rails', '~> 6.0.0'
987
+ gem 'pg', '< 1.0', platform: :ruby
988
+ gem 'redis', '>= 4.0.1'
989
+ gem 'sprockets', '< 4'
990
+ gem 'lograge'
991
+ end
992
+
993
+ appraise 'rails6-postgres-redis-activesupport' do
994
+ gem 'rails', '~> 6.0.0'
995
+ gem 'pg', '< 1.0', platform: :ruby
996
+ gem 'redis', '>= 4.0.1'
997
+ gem 'sprockets', '< 4'
998
+ gem 'lograge'
999
+ end
1000
+
1001
+ appraise 'rails6-postgres-sidekiq' do
1002
+ gem 'rails', '~> 6.0.0'
1003
+ gem 'pg', '< 1.0', platform: :ruby
1004
+ gem 'sidekiq'
1005
+ gem 'activejob'
1006
+ gem 'sprockets', '< 4'
1007
+ gem 'lograge'
1008
+ end
1009
+
1010
+ appraise 'rails61-mysql2' do
1011
+ gem 'rails', '~> 6.1.0'
1012
+ gem 'mysql2', '~> 0.5', platform: :ruby
1013
+ gem 'sprockets', '< 4'
1014
+ gem 'lograge', '~> 0.11'
1015
+ end
1016
+
1017
+ appraise 'rails61-postgres' do
1018
+ gem 'rails', '~> 6.1.0'
1019
+ gem 'pg', '>= 1.1', platform: :ruby
1020
+ gem 'sprockets', '< 4'
1021
+ gem 'lograge', '~> 0.11'
1022
+ end
1023
+
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'
1028
+ gem 'sprockets', '< 4'
1029
+ gem 'lograge', '~> 0.11'
1030
+ end
1031
+
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'
1036
+ gem 'sprockets', '< 4'
1037
+ gem 'lograge', '~> 0.11'
1038
+ end
1039
+
1040
+ appraise 'resque2-redis3' do
1041
+ gem 'redis', '< 4.0'
1042
+ gem 'resque', '>= 2.0'
1043
+ end
1044
+
1045
+ appraise 'resque2-redis4' do
1046
+ gem 'redis', '>= 4.0'
1047
+ gem 'resque', '>= 2.0'
1048
+ end
1049
+
1050
+ (3..5).each { |v| gem_cucumber(v) }
1051
+
1052
+ appraise 'contrib' do
1053
+ gem 'actionpack'
1054
+ gem 'actionview'
1055
+ gem 'active_model_serializers', '>= 0.10.0'
1056
+ gem 'activerecord'
1057
+ gem 'aws-sdk'
1058
+ gem 'concurrent-ruby'
1059
+ gem 'cucumber'
1060
+ gem 'dalli'
1061
+ gem 'delayed_job'
1062
+ gem 'delayed_job_active_record'
1063
+ gem 'elasticsearch-transport'
1064
+ gem 'ethon'
1065
+ gem 'excon'
1066
+ gem 'faraday'
1067
+ gem 'grape'
1068
+ gem 'graphql', '>= 1.12.0'
1069
+ gem 'grpc'
1070
+ gem 'hiredis'
1071
+ gem 'http'
1072
+ gem 'httpclient'
1073
+ gem 'mongo', '>= 2.8.0'
1074
+ gem 'mysql2', '< 1', platform: :ruby
1075
+ gem 'pg', platform: :ruby
1076
+ gem 'presto-client', '>= 0.5.14'
1077
+ gem 'qless'
1078
+ gem 'racecar', '>= 0.3.5'
1079
+ gem 'rack'
1080
+ gem 'rack-test'
1081
+ gem 'rake', '>= 12.3'
1082
+ gem 'redis', '< 4.0'
1083
+ gem 'rest-client'
1084
+ gem 'resque'
1085
+ gem 'ruby-kafka', '>= 0.7.10'
1086
+ gem 'rspec', '>= 3.0.0'
1087
+ gem 'sequel'
1088
+ gem 'shoryuken'
1089
+ gem 'sidekiq'
1090
+ gem 'sinatra'
1091
+ gem 'sneakers', '>= 2.12.0'
1092
+ gem 'sqlite3', '~> 1.4.1'
1093
+ gem 'sucker_punch'
1094
+ gem 'typhoeus'
1095
+ gem 'que', '>= 1.0.0.beta2'
1096
+ end
1097
+
1098
+ appraise 'contrib-old' do
1099
+ gem 'faraday', '0.17'
1100
+ end
1101
+ end
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')
1104
+ if RUBY_PLATFORM != 'java'
1105
+ appraise 'rails5-mysql2' do
1106
+ gem 'rails', '~> 5.2.1'
1107
+ gem 'mysql2', '< 1', platform: :ruby
1108
+ gem 'sprockets', '< 4'
1109
+ gem 'lograge'
1110
+ end
1111
+
1112
+ appraise 'rails5-postgres' do
1113
+ gem 'rails', '~> 5.2.1'
1114
+ gem 'pg', '< 1.0', platform: :ruby
1115
+ gem 'sprockets', '< 4'
1116
+ gem 'lograge'
1117
+ end
1118
+
1119
+ appraise 'rails5-postgres-redis' do
1120
+ gem 'rails', '~> 5.2.1'
1121
+ gem 'pg', '< 1.0', platform: :ruby
1122
+ gem 'redis-rails'
1123
+ gem 'redis'
1124
+ gem 'sprockets', '< 4'
1125
+ gem 'lograge'
1126
+ end
1127
+
1128
+ appraise 'rails5-postgres-redis-activesupport' do
1129
+ gem 'rails', '~> 5.2.1'
1130
+ gem 'pg', '< 1.0', platform: :ruby
1131
+ gem 'redis-rails'
1132
+ gem 'redis'
1133
+ gem 'sprockets', '< 4'
1134
+ gem 'lograge'
1135
+ end
1136
+
1137
+ appraise 'rails5-postgres-sidekiq' do
1138
+ gem 'rails', '~> 5.2.1'
1139
+ gem 'pg', '< 1.0', platform: :ruby
1140
+ gem 'sidekiq'
1141
+ gem 'activejob'
1142
+ gem 'sprockets', '< 4'
1143
+ gem 'lograge'
1144
+ end
1145
+
1146
+ appraise 'rails6-mysql2' do
1147
+ gem 'rails', '~> 6.0.0'
1148
+ gem 'mysql2', '< 1', platform: :ruby
1149
+ gem 'sprockets', '< 4'
1150
+ gem 'lograge'
1151
+ end
1152
+
1153
+ appraise 'rails6-postgres' do
1154
+ gem 'rails', '~> 6.0.0'
1155
+ gem 'pg', '< 1.0', platform: :ruby
1156
+ gem 'sprockets', '< 4'
1157
+ gem 'lograge'
1158
+ end
1159
+
1160
+ appraise 'rails6-postgres-redis' do
1161
+ gem 'rails', '~> 6.0.0'
1162
+ gem 'pg', '< 1.0', platform: :ruby
1163
+ gem 'redis-rails'
1164
+ gem 'redis'
1165
+ gem 'sprockets', '< 4'
1166
+ gem 'lograge'
1167
+ end
1168
+
1169
+ appraise 'rails6-postgres-redis-activesupport' do
1170
+ gem 'rails', '~> 6.0.0'
1171
+ gem 'pg', '< 1.0', platform: :ruby
1172
+ gem 'redis-rails'
1173
+ gem 'redis'
1174
+ gem 'sprockets', '< 4'
1175
+ gem 'lograge'
1176
+ end
1177
+
1178
+ appraise 'rails6-postgres-sidekiq' do
1179
+ gem 'rails', '~> 6.0.0'
1180
+ gem 'pg', '< 1.0', platform: :ruby
1181
+ gem 'sidekiq'
1182
+ gem 'activejob'
1183
+ gem 'sprockets', '< 4'
1184
+ gem 'lograge'
1185
+ end
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
+
1229
+ appraise 'contrib' do
1230
+ gem 'actionpack'
1231
+ gem 'actionview'
1232
+ gem 'active_model_serializers', '>= 0.10.0'
1233
+ gem 'activerecord'
1234
+ gem 'aws-sdk'
1235
+ gem 'concurrent-ruby'
1236
+ gem 'cucumber'
1237
+ gem 'dalli'
1238
+ gem 'delayed_job'
1239
+ gem 'delayed_job_active_record'
1240
+ gem 'elasticsearch-transport'
1241
+ gem 'ethon'
1242
+ gem 'excon'
1243
+ gem 'grape'
1244
+ gem 'graphql', '>= 1.12.0'
1245
+ gem 'grpc'
1246
+ gem 'hiredis'
1247
+ gem 'http'
1248
+ gem 'httpclient'
1249
+ gem 'mongo', '>= 2.8.0'
1250
+ gem 'mysql2', '< 1', platform: :ruby
1251
+ gem 'pg', platform: :ruby
1252
+ gem 'presto-client', '>= 0.5.14'
1253
+ gem 'qless'
1254
+ gem 'racecar', '>= 0.3.5'
1255
+ gem 'rack'
1256
+ gem 'rack-test'
1257
+ gem 'rake', '>= 12.3'
1258
+ gem 'redis', '< 4.0'
1259
+ gem 'rest-client'
1260
+ gem 'resque'
1261
+ gem 'ruby-kafka', '>= 0.7.10'
1262
+ gem 'rspec', '>= 3.0.0'
552
1263
  gem 'sequel'
1264
+ gem 'shoryuken'
553
1265
  gem 'sidekiq'
554
1266
  gem 'sinatra'
555
- gem 'sqlite3'
1267
+ gem 'sneakers', '>= 2.12.0'
1268
+ gem 'sqlite3', '~> 1.4.1'
556
1269
  gem 'sucker_punch'
1270
+ gem 'typhoeus'
1271
+ gem 'que', '>= 1.0.0.beta2'
557
1272
  end
1273
+
1274
+ appraise 'contrib-old' do
1275
+ gem 'faraday', '0.17'
1276
+ end
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'
558
1364
  end
559
1365
  end