ls-trace 0.1.2 → 0.2.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 (337) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +419 -544
  3. data/.circleci/images/primary/Dockerfile-2.7.0 +73 -0
  4. data/.circleci/images/primary/Dockerfile-jruby-9.2 +77 -0
  5. data/.env +2 -0
  6. data/.gitignore +2 -0
  7. data/.gitlab-ci.yml +27 -0
  8. data/.rubocop.yml +8 -0
  9. data/.simplecov +38 -0
  10. data/Appraisals +299 -48
  11. data/CHANGELOG.md +3 -4
  12. data/LICENSE +4 -22
  13. data/LICENSE.Apache +200 -0
  14. data/LICENSE.BSD3 +24 -0
  15. data/NOTICE +4 -0
  16. data/README.md +4 -3
  17. data/Rakefile +561 -405
  18. data/ddtrace.gemspec +13 -4
  19. data/docker-compose.yml +96 -2
  20. data/docs/DevelopmentGuide.md +17 -1
  21. data/docs/GettingStarted.md +433 -138
  22. data/lib/ddtrace.rb +15 -0
  23. data/lib/ddtrace/analytics.rb +7 -0
  24. data/lib/ddtrace/buffer.rb +9 -9
  25. data/lib/ddtrace/chunker.rb +34 -0
  26. data/lib/ddtrace/configuration.rb +59 -5
  27. data/lib/ddtrace/configuration/base.rb +4 -2
  28. data/lib/ddtrace/configuration/components.rb +151 -0
  29. data/lib/ddtrace/configuration/option.rb +12 -3
  30. data/lib/ddtrace/configuration/option_definition.rb +1 -5
  31. data/lib/ddtrace/configuration/options.rb +6 -1
  32. data/lib/ddtrace/configuration/pin_setup.rb +3 -2
  33. data/lib/ddtrace/configuration/settings.rb +214 -40
  34. data/lib/ddtrace/context.rb +84 -63
  35. data/lib/ddtrace/context_flush.rb +51 -114
  36. data/lib/ddtrace/context_provider.rb +50 -0
  37. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +30 -0
  38. data/lib/ddtrace/contrib/action_cable/event.rb +65 -0
  39. data/lib/ddtrace/contrib/action_cable/events.rb +33 -0
  40. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +49 -0
  41. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +55 -0
  42. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +50 -0
  43. data/lib/ddtrace/contrib/action_cable/ext.rb +26 -0
  44. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +31 -0
  45. data/lib/ddtrace/contrib/action_cable/integration.rb +38 -0
  46. data/lib/ddtrace/contrib/action_cable/patcher.rb +27 -0
  47. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +6 -2
  48. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +3 -15
  49. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +7 -2
  50. data/lib/ddtrace/contrib/action_pack/ext.rb +5 -2
  51. data/lib/ddtrace/contrib/action_pack/integration.rb +5 -3
  52. data/lib/ddtrace/contrib/action_pack/patcher.rb +3 -9
  53. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +7 -2
  54. data/lib/ddtrace/contrib/action_view/event.rb +39 -0
  55. data/lib/ddtrace/contrib/action_view/events.rb +30 -0
  56. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +45 -0
  57. data/lib/ddtrace/contrib/action_view/events/render_template.rb +48 -0
  58. data/lib/ddtrace/contrib/action_view/ext.rb +5 -2
  59. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +9 -13
  60. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +16 -16
  61. data/lib/ddtrace/contrib/action_view/integration.rb +5 -3
  62. data/lib/ddtrace/contrib/action_view/patcher.rb +19 -25
  63. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +7 -2
  64. data/lib/ddtrace/contrib/active_model_serializers/event.rb +3 -0
  65. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +5 -2
  66. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +6 -5
  67. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +3 -10
  68. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +4 -5
  69. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +7 -2
  70. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +4 -1
  71. data/lib/ddtrace/contrib/active_record/events/sql.rb +1 -1
  72. data/lib/ddtrace/contrib/active_record/ext.rb +5 -2
  73. data/lib/ddtrace/contrib/active_record/integration.rb +5 -3
  74. data/lib/ddtrace/contrib/active_record/patcher.rb +3 -9
  75. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +2 -2
  76. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +10 -24
  77. data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -1
  78. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +7 -2
  79. data/lib/ddtrace/contrib/active_support/ext.rb +5 -2
  80. data/lib/ddtrace/contrib/active_support/integration.rb +5 -3
  81. data/lib/ddtrace/contrib/active_support/notifications/event.rb +3 -1
  82. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +3 -3
  83. data/lib/ddtrace/contrib/active_support/patcher.rb +3 -9
  84. data/lib/ddtrace/contrib/analytics.rb +5 -1
  85. data/lib/ddtrace/contrib/aws/configuration/settings.rb +7 -2
  86. data/lib/ddtrace/contrib/aws/ext.rb +5 -2
  87. data/lib/ddtrace/contrib/aws/integration.rb +8 -2
  88. data/lib/ddtrace/contrib/aws/patcher.rb +15 -15
  89. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +5 -0
  90. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +9 -3
  91. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
  92. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +8 -2
  93. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +4 -11
  94. data/lib/ddtrace/contrib/configurable.rb +30 -13
  95. data/lib/ddtrace/contrib/configuration/resolver.rb +7 -3
  96. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +39 -0
  97. data/lib/ddtrace/contrib/configuration/settings.rb +20 -1
  98. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +7 -2
  99. data/lib/ddtrace/contrib/dalli/ext.rb +5 -2
  100. data/lib/ddtrace/contrib/dalli/integration.rb +5 -3
  101. data/lib/ddtrace/contrib/dalli/patcher.rb +6 -16
  102. data/lib/ddtrace/contrib/dalli/quantize.rb +1 -1
  103. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +7 -2
  104. data/lib/ddtrace/contrib/delayed_job/ext.rb +5 -2
  105. data/lib/ddtrace/contrib/delayed_job/integration.rb +8 -2
  106. data/lib/ddtrace/contrib/delayed_job/patcher.rb +4 -10
  107. data/lib/ddtrace/contrib/delayed_job/plugin.rb +4 -0
  108. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +7 -2
  109. data/lib/ddtrace/contrib/elasticsearch/ext.rb +5 -2
  110. data/lib/ddtrace/contrib/elasticsearch/integration.rb +5 -3
  111. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +10 -17
  112. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +8 -2
  113. data/lib/ddtrace/contrib/ethon/easy_patch.rb +22 -13
  114. data/lib/ddtrace/contrib/ethon/ext.rb +5 -2
  115. data/lib/ddtrace/contrib/ethon/integration.rb +14 -2
  116. data/lib/ddtrace/contrib/ethon/patcher.rb +7 -9
  117. data/lib/ddtrace/contrib/excon/configuration/settings.rb +7 -2
  118. data/lib/ddtrace/contrib/excon/ext.rb +5 -2
  119. data/lib/ddtrace/contrib/excon/integration.rb +13 -2
  120. data/lib/ddtrace/contrib/excon/middleware.rb +15 -12
  121. data/lib/ddtrace/contrib/excon/patcher.rb +4 -11
  122. data/lib/ddtrace/contrib/extensions.rb +39 -5
  123. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +7 -2
  124. data/lib/ddtrace/contrib/faraday/connection.rb +18 -0
  125. data/lib/ddtrace/contrib/faraday/ext.rb +5 -2
  126. data/lib/ddtrace/contrib/faraday/integration.rb +10 -3
  127. data/lib/ddtrace/contrib/faraday/middleware.rb +24 -34
  128. data/lib/ddtrace/contrib/faraday/patcher.rb +26 -19
  129. data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -3
  130. data/lib/ddtrace/contrib/grape/endpoint.rb +14 -5
  131. data/lib/ddtrace/contrib/grape/ext.rb +5 -2
  132. data/lib/ddtrace/contrib/grape/integration.rb +6 -3
  133. data/lib/ddtrace/contrib/grape/patcher.rb +9 -15
  134. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +7 -2
  135. data/lib/ddtrace/contrib/graphql/ext.rb +5 -2
  136. data/lib/ddtrace/contrib/graphql/integration.rb +6 -5
  137. data/lib/ddtrace/contrib/graphql/patcher.rb +11 -14
  138. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +7 -2
  139. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +1 -1
  140. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +2 -4
  141. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +5 -2
  142. data/lib/ddtrace/contrib/grpc/ext.rb +5 -2
  143. data/lib/ddtrace/contrib/grpc/integration.rb +5 -3
  144. data/lib/ddtrace/contrib/grpc/patcher.rb +9 -19
  145. data/lib/ddtrace/contrib/http/circuit_breaker.rb +8 -32
  146. data/lib/ddtrace/contrib/http/configuration/settings.rb +8 -2
  147. data/lib/ddtrace/contrib/http/ext.rb +5 -2
  148. data/lib/ddtrace/contrib/http/instrumentation.rb +89 -28
  149. data/lib/ddtrace/contrib/http/integration.rb +13 -0
  150. data/lib/ddtrace/contrib/http/patcher.rb +3 -9
  151. data/lib/ddtrace/contrib/http_annotation_helper.rb +10 -0
  152. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +32 -0
  153. data/lib/ddtrace/contrib/httprb/ext.rb +17 -0
  154. data/lib/ddtrace/contrib/httprb/instrumentation.rb +160 -0
  155. data/lib/ddtrace/contrib/httprb/integration.rb +43 -0
  156. data/lib/ddtrace/contrib/httprb/patcher.rb +35 -0
  157. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +30 -0
  158. data/lib/ddtrace/contrib/kafka/consumer_event.rb +14 -0
  159. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +14 -0
  160. data/lib/ddtrace/contrib/kafka/event.rb +51 -0
  161. data/lib/ddtrace/contrib/kafka/events.rb +44 -0
  162. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +34 -0
  163. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +41 -0
  164. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +39 -0
  165. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +39 -0
  166. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +29 -0
  167. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +29 -0
  168. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +29 -0
  169. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +32 -0
  170. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +35 -0
  171. data/lib/ddtrace/contrib/kafka/ext.rb +41 -0
  172. data/lib/ddtrace/contrib/kafka/integration.rb +39 -0
  173. data/lib/ddtrace/contrib/kafka/patcher.rb +26 -0
  174. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +7 -2
  175. data/lib/ddtrace/contrib/mongodb/ext.rb +5 -2
  176. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +1 -2
  177. data/lib/ddtrace/contrib/mongodb/integration.rb +5 -3
  178. data/lib/ddtrace/contrib/mongodb/patcher.rb +5 -11
  179. data/lib/ddtrace/contrib/mongodb/subscribers.rb +2 -2
  180. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +7 -2
  181. data/lib/ddtrace/contrib/mysql2/ext.rb +5 -2
  182. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +1 -1
  183. data/lib/ddtrace/contrib/mysql2/integration.rb +8 -2
  184. data/lib/ddtrace/contrib/mysql2/patcher.rb +3 -9
  185. data/lib/ddtrace/contrib/patchable.rb +21 -4
  186. data/lib/ddtrace/contrib/patcher.rb +44 -10
  187. data/lib/ddtrace/contrib/presto/configuration/settings.rb +30 -0
  188. data/lib/ddtrace/contrib/presto/ext.rb +28 -0
  189. data/lib/ddtrace/contrib/presto/instrumentation.rb +107 -0
  190. data/lib/ddtrace/contrib/presto/integration.rb +38 -0
  191. data/lib/ddtrace/contrib/presto/patcher.rb +30 -0
  192. data/lib/ddtrace/contrib/que/configuration/settings.rb +42 -0
  193. data/lib/ddtrace/contrib/que/ext.rb +30 -0
  194. data/lib/ddtrace/contrib/que/integration.rb +42 -0
  195. data/lib/ddtrace/contrib/que/patcher.rb +24 -0
  196. data/lib/ddtrace/contrib/que/tracer.rb +56 -0
  197. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +7 -2
  198. data/lib/ddtrace/contrib/racecar/event.rb +4 -0
  199. data/lib/ddtrace/contrib/racecar/events.rb +2 -0
  200. data/lib/ddtrace/contrib/racecar/events/consume.rb +27 -0
  201. data/lib/ddtrace/contrib/racecar/ext.rb +6 -2
  202. data/lib/ddtrace/contrib/racecar/integration.rb +6 -3
  203. data/lib/ddtrace/contrib/racecar/patcher.rb +4 -10
  204. data/lib/ddtrace/contrib/rack/configuration/settings.rb +7 -2
  205. data/lib/ddtrace/contrib/rack/ext.rb +5 -2
  206. data/lib/ddtrace/contrib/rack/integration.rb +8 -2
  207. data/lib/ddtrace/contrib/rack/middlewares.rb +23 -14
  208. data/lib/ddtrace/contrib/rack/patcher.rb +57 -22
  209. data/lib/ddtrace/contrib/rack/request_queue.rb +1 -1
  210. data/lib/ddtrace/contrib/rails/configuration/settings.rb +23 -10
  211. data/lib/ddtrace/contrib/rails/ext.rb +7 -2
  212. data/lib/ddtrace/contrib/rails/framework.rb +59 -35
  213. data/lib/ddtrace/contrib/rails/integration.rb +12 -5
  214. data/lib/ddtrace/contrib/rails/log_injection.rb +81 -0
  215. data/lib/ddtrace/contrib/rails/middlewares.rb +7 -2
  216. data/lib/ddtrace/contrib/rails/patcher.rb +19 -8
  217. data/lib/ddtrace/contrib/rake/configuration/settings.rb +7 -3
  218. data/lib/ddtrace/contrib/rake/ext.rb +5 -2
  219. data/lib/ddtrace/contrib/rake/instrumentation.rb +6 -2
  220. data/lib/ddtrace/contrib/rake/integration.rb +8 -2
  221. data/lib/ddtrace/contrib/rake/patcher.rb +4 -10
  222. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +36 -0
  223. data/lib/ddtrace/contrib/redis/configuration/settings.rb +7 -2
  224. data/lib/ddtrace/contrib/redis/ext.rb +5 -2
  225. data/lib/ddtrace/contrib/redis/integration.rb +9 -3
  226. data/lib/ddtrace/contrib/redis/patcher.rb +20 -17
  227. data/lib/ddtrace/contrib/redis/quantize.rb +1 -1
  228. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +159 -0
  229. data/lib/ddtrace/contrib/resque/configuration/settings.rb +7 -2
  230. data/lib/ddtrace/contrib/resque/ext.rb +5 -2
  231. data/lib/ddtrace/contrib/resque/integration.rb +12 -2
  232. data/lib/ddtrace/contrib/resque/patcher.rb +4 -10
  233. data/lib/ddtrace/contrib/resque/resque_job.rb +6 -2
  234. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +7 -2
  235. data/lib/ddtrace/contrib/rest_client/ext.rb +5 -2
  236. data/lib/ddtrace/contrib/rest_client/integration.rb +9 -2
  237. data/lib/ddtrace/contrib/rest_client/patcher.rb +5 -7
  238. data/lib/ddtrace/contrib/rest_client/request_patch.rb +2 -2
  239. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +7 -2
  240. data/lib/ddtrace/contrib/sequel/database.rb +1 -1
  241. data/lib/ddtrace/contrib/sequel/ext.rb +5 -2
  242. data/lib/ddtrace/contrib/sequel/integration.rb +8 -2
  243. data/lib/ddtrace/contrib/sequel/patcher.rb +4 -10
  244. data/lib/ddtrace/contrib/sequel/utils.rb +19 -1
  245. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +7 -2
  246. data/lib/ddtrace/contrib/shoryuken/ext.rb +5 -2
  247. data/lib/ddtrace/contrib/shoryuken/integration.rb +11 -7
  248. data/lib/ddtrace/contrib/shoryuken/patcher.rb +4 -10
  249. data/lib/ddtrace/contrib/shoryuken/tracer.rb +4 -0
  250. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +12 -2
  251. data/lib/ddtrace/contrib/sidekiq/ext.rb +8 -2
  252. data/lib/ddtrace/contrib/sidekiq/integration.rb +5 -3
  253. data/lib/ddtrace/contrib/sidekiq/patcher.rb +19 -18
  254. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +12 -3
  255. data/lib/ddtrace/contrib/sidekiq/tracing.rb +19 -2
  256. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +7 -2
  257. data/lib/ddtrace/contrib/sinatra/env.rb +25 -4
  258. data/lib/ddtrace/contrib/sinatra/ext.rb +11 -2
  259. data/lib/ddtrace/contrib/sinatra/integration.rb +5 -3
  260. data/lib/ddtrace/contrib/sinatra/patcher.rb +5 -10
  261. data/lib/ddtrace/contrib/sinatra/tracer.rb +79 -34
  262. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +48 -15
  263. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +32 -0
  264. data/lib/ddtrace/contrib/sneakers/ext.rb +22 -0
  265. data/lib/ddtrace/contrib/sneakers/integration.rb +41 -0
  266. data/lib/ddtrace/contrib/sneakers/patcher.rb +24 -0
  267. data/lib/ddtrace/contrib/sneakers/tracer.rb +58 -0
  268. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +7 -2
  269. data/lib/ddtrace/contrib/sucker_punch/ext.rb +5 -2
  270. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +14 -0
  271. data/lib/ddtrace/contrib/sucker_punch/integration.rb +5 -3
  272. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +8 -14
  273. data/lib/ddtrace/correlation.rb +15 -5
  274. data/lib/ddtrace/diagnostics/environment_logger.rb +278 -0
  275. data/lib/ddtrace/diagnostics/health.rb +11 -8
  276. data/lib/ddtrace/encoding.rb +15 -11
  277. data/lib/ddtrace/environment.rb +21 -3
  278. data/lib/ddtrace/event.rb +52 -0
  279. data/lib/ddtrace/ext/analytics.rb +1 -0
  280. data/lib/ddtrace/ext/correlation.rb +11 -0
  281. data/lib/ddtrace/ext/diagnostics.rb +11 -0
  282. data/lib/ddtrace/ext/environment.rb +16 -0
  283. data/lib/ddtrace/ext/forced_tracing.rb +1 -1
  284. data/lib/ddtrace/ext/sampling.rb +16 -0
  285. data/lib/ddtrace/ext/transport.rb +1 -0
  286. data/lib/ddtrace/logger.rb +4 -3
  287. data/lib/ddtrace/metrics.rb +12 -5
  288. data/lib/ddtrace/monkey.rb +1 -1
  289. data/lib/ddtrace/opentelemetry/extensions.rb +13 -0
  290. data/lib/ddtrace/opentelemetry/span.rb +33 -0
  291. data/lib/ddtrace/opentracer/global_tracer.rb +1 -1
  292. data/lib/ddtrace/pin.rb +40 -16
  293. data/lib/ddtrace/pipeline.rb +1 -1
  294. data/lib/ddtrace/pipeline/span_filter.rb +15 -15
  295. data/lib/ddtrace/propagation/http_propagator.rb +2 -2
  296. data/lib/ddtrace/runtime/cgroup.rb +1 -1
  297. data/lib/ddtrace/runtime/container.rb +1 -1
  298. data/lib/ddtrace/runtime/metrics.rb +23 -6
  299. data/lib/ddtrace/sampler.rb +126 -29
  300. data/lib/ddtrace/sampling.rb +2 -0
  301. data/lib/ddtrace/sampling/matcher.rb +57 -0
  302. data/lib/ddtrace/sampling/rate_limiter.rb +127 -0
  303. data/lib/ddtrace/sampling/rule.rb +61 -0
  304. data/lib/ddtrace/sampling/rule_sampler.rb +125 -0
  305. data/lib/ddtrace/span.rb +54 -7
  306. data/lib/ddtrace/sync_writer.rb +13 -8
  307. data/lib/ddtrace/tracer.rb +72 -92
  308. data/lib/ddtrace/transport/http.rb +16 -1
  309. data/lib/ddtrace/transport/http/adapters/net.rb +8 -0
  310. data/lib/ddtrace/transport/http/adapters/test.rb +6 -0
  311. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +4 -0
  312. data/lib/ddtrace/transport/http/api/instance.rb +4 -0
  313. data/lib/ddtrace/transport/http/builder.rb +3 -5
  314. data/lib/ddtrace/transport/http/client.rb +7 -64
  315. data/lib/ddtrace/transport/http/response.rb +1 -1
  316. data/lib/ddtrace/transport/http/statistics.rb +1 -1
  317. data/lib/ddtrace/transport/http/traces.rb +10 -7
  318. data/lib/ddtrace/transport/io.rb +26 -0
  319. data/lib/ddtrace/transport/io/client.rb +76 -0
  320. data/lib/ddtrace/transport/io/response.rb +25 -0
  321. data/lib/ddtrace/transport/io/traces.rb +91 -0
  322. data/lib/ddtrace/transport/response.rb +11 -0
  323. data/lib/ddtrace/transport/statistics.rb +2 -2
  324. data/lib/ddtrace/transport/traces.rb +160 -10
  325. data/lib/ddtrace/utils.rb +1 -1
  326. data/lib/ddtrace/version.rb +2 -2
  327. data/lib/ddtrace/worker.rb +20 -0
  328. data/lib/ddtrace/workers.rb +5 -13
  329. data/lib/ddtrace/workers/async.rb +165 -0
  330. data/lib/ddtrace/workers/loop.rb +105 -0
  331. data/lib/ddtrace/workers/polling.rb +48 -0
  332. data/lib/ddtrace/workers/queue.rb +39 -0
  333. data/lib/ddtrace/workers/runtime_metrics.rb +47 -0
  334. data/lib/ddtrace/workers/trace_writer.rb +202 -0
  335. data/lib/ddtrace/writer.rb +56 -38
  336. metadata +185 -25
  337. data/lib/ddtrace/provider.rb +0 -21
@@ -0,0 +1,73 @@
1
+ # Current version: https://github.com/docker-library/ruby/blob/defb10adcd6dd2178be3cd9c884fd035b52d42fb/2.7/buster/Dockerfile
2
+ FROM ruby:2.7.0
3
+
4
+ # Make apt non-interactive
5
+ RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
+ && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
+
8
+ ENV DEBIAN_FRONTEND=noninteractive
9
+
10
+ # Install required packages
11
+ RUN set -ex; \
12
+ apt-get update; \
13
+ mkdir -p /usr/share/man/man1; \
14
+ apt-get install -y --no-install-recommends \
15
+ git mercurial xvfb \
16
+ locales sudo openssh-client ca-certificates tar gzip parallel \
17
+ net-tools netcat unzip zip bzip2 gnupg curl wget \
18
+ tzdata rsync vim; \
19
+ rm -rf /var/lib/apt/lists/*;
20
+
21
+ # Set timezone to UTC by default
22
+ RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
+
24
+ # Set language
25
+ RUN locale-gen en_US.UTF-8
26
+ ENV LANG en_US.UTF-8
27
+ ENV LANGUAGE en_US:en
28
+
29
+ # Install jq
30
+ RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
+ && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
+ && chmod +x /usr/bin/jq \
33
+ && jq --version
34
+
35
+ # Install Docker
36
+ RUN set -ex \
37
+ && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
+ && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
+ && echo Docker URL: $DOCKER_URL \
40
+ && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
+ && ls -lha /tmp/docker.tgz \
42
+ && tar -xz -C /tmp -f /tmp/docker.tgz \
43
+ && mv /tmp/docker/* /usr/bin \
44
+ && rm -rf /tmp/docker /tmp/docker.tgz \
45
+ && which docker \
46
+ && (docker version || true)
47
+
48
+ # Install Docker Compose
49
+ RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
+ && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
+ && chmod +x /usr/bin/docker-compose \
52
+ && docker-compose version
53
+
54
+ # Install Dockerize
55
+ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
+ && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
+ && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
+ && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
+ && dockerize --version
60
+
61
+ # Install RubyGems
62
+ # RUN gem update --system # Upgrading disabled until https://github.com/thoughtbot/appraisal/issues/162 is fixed
63
+ RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
+
65
+ # Upgrade RubyGems and Bundler # Upgrading disabled until https://github.com/thoughtbot/appraisal/issues/162 is fixed
66
+ # RUN gem update --system
67
+ # RUN gem install bundler
68
+ ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
+
70
+ RUN mkdir /app
71
+ WORKDIR /app
72
+
73
+ CMD ["/bin/sh"]
@@ -0,0 +1,77 @@
1
+ # Current version: https://github.com/cpuguy83/docker-jruby/blob/db08637839406420a254a9c825d94994cded5021/9000/jre/Dockerfile
2
+ FROM jruby:9.2.11.1
3
+
4
+ # Make apt non-interactive
5
+ RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
+ && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
+
8
+ ENV DEBIAN_FRONTEND=noninteractive
9
+
10
+ # Install required packages
11
+ RUN set -ex; \
12
+ apt-get update; \
13
+ mkdir -p /usr/share/man/man1; \
14
+ apt-get install -y --no-install-recommends \
15
+ git mercurial xvfb \
16
+ locales sudo openssh-client ca-certificates tar gzip parallel \
17
+ net-tools netcat unzip zip bzip2 gnupg curl wget \
18
+ tzdata rsync vim \
19
+ build-essential; \
20
+ rm -rf /var/lib/apt/lists/*;
21
+
22
+ # Set timezone to UTC by default
23
+ RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
24
+
25
+ # Set language
26
+ RUN locale-gen en_US.UTF-8
27
+ ENV LANG en_US.UTF-8
28
+ ENV LANGUAGE en_US:en
29
+
30
+ # Install jq
31
+ RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
32
+ && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
33
+ && chmod +x /usr/bin/jq \
34
+ && jq --version
35
+
36
+ # Install Docker
37
+ RUN set -ex \
38
+ && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
39
+ && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
40
+ && echo Docker URL: $DOCKER_URL \
41
+ && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
42
+ && ls -lha /tmp/docker.tgz \
43
+ && tar -xz -C /tmp -f /tmp/docker.tgz \
44
+ && mv /tmp/docker/* /usr/bin \
45
+ && rm -rf /tmp/docker /tmp/docker.tgz \
46
+ && which docker \
47
+ && (docker version || true)
48
+
49
+ # Install Docker Compose
50
+ RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
51
+ && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
52
+ && chmod +x /usr/bin/docker-compose \
53
+ && docker-compose version
54
+
55
+ # Install Dockerize
56
+ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
57
+ && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
58
+ && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
59
+ && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
60
+ && dockerize --version
61
+
62
+ # Install RubyGems
63
+ RUN gem update --system
64
+ RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
65
+
66
+ # Upgrade RubyGems and Bundler
67
+ RUN gem uninstall -i /opt/jruby/lib/ruby/gems/shared bundler -v 2.1.4 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
68
+ RUN gem install bundler -v 2.1.2 # Remove when https://github.com/thoughtbot/appraisal/issues/162 is fixed
69
+ ENV BUNDLE_SILENCE_ROOT_WARNING 1
70
+
71
+ # Ensure JRuby is available when running "bash --login"
72
+ RUN echo "export PATH=/opt/jruby/bin:$BUNDLE_BIN:\$PATH" >> ~/.profile
73
+
74
+ RUN mkdir /app
75
+ WORKDIR /app
76
+
77
+ CMD ["bin", "bash", "--login"]
data/.env CHANGED
@@ -20,5 +20,7 @@ TEST_POSTGRES_HOST=127.0.0.1
20
20
  TEST_POSTGRES_PASSWORD=postgres
21
21
  TEST_POSTGRES_PORT=5432
22
22
  TEST_POSTGRES_USER=postgres
23
+ TEST_PRESTO_HOST=localhost
24
+ TEST_PRESTO_PORT=8080
23
25
  TEST_REDIS_HOST=127.0.0.1
24
26
  TEST_REDIS_PORT=6379
data/.gitignore CHANGED
@@ -50,6 +50,8 @@ build-iPhoneSimulator/
50
50
 
51
51
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
52
52
  .rvmrc
53
+ # Ignore local variables
54
+ .envrc
53
55
 
54
56
  # lock files
55
57
  Gemfile.lock
@@ -0,0 +1,27 @@
1
+ stages:
2
+ - deploy
3
+
4
+ variables:
5
+ INDEX_FILE: index.txt
6
+
7
+ .common: &common
8
+ tags: [ "runner:main", "size:large" ]
9
+
10
+ copy_to_s3:
11
+ <<: *common
12
+ stage: deploy
13
+ image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
14
+ rules:
15
+ - if: '$CI_COMMIT_BRANCH == "master"'
16
+ when: on_success
17
+ - when: manual
18
+ allow_failure: true
19
+ script:
20
+ - export ACCESS_KEY_ID=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-rb.secret_key_id --with-decryption --query "Parameter.Value" --out text)
21
+ - export SECRET_ACCESS_KEY=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-rb.secret_sec_key_id --with-decryption --query "Parameter.Value" --out text)
22
+ - export AWS_ACCESS_KEY_ID=$ACCESS_KEY_ID
23
+ - export AWS_SECRET_ACCESS_KEY=$SECRET_ACCESS_KEY
24
+ - echo $CI_COMMIT_REF_NAME >> $INDEX_FILE
25
+ - echo $CI_COMMIT_SHA >> $INDEX_FILE
26
+ - echo $GITLAB_USER_NAME >> $INDEX_FILE
27
+ - aws s3 cp $INDEX_FILE s3://datadog-reliability-env/ruby/$INDEX_FILE
@@ -67,6 +67,10 @@ Metrics/PerceivedComplexity:
67
67
  Lint/UnusedMethodArgument:
68
68
  Enabled: false
69
69
 
70
+ # alias and alias_method are not equivalent
71
+ Style/Alias:
72
+ Enabled: false
73
+
70
74
  # Disabling advices that would lead to incompatible Ruby 1.9 code
71
75
  Style/SymbolArray:
72
76
  Enabled: false
@@ -75,3 +79,7 @@ Style/SymbolArray:
75
79
  # expressions.
76
80
  Style/GuardClause:
77
81
  Enabled: false
82
+
83
+ # Case equality is not intrinsically problematic.
84
+ Style/CaseEquality:
85
+ Enabled: false
@@ -0,0 +1,38 @@
1
+ SimpleCov.add_group 'contrib', '/lib/ddtrace/contrib'
2
+ SimpleCov.add_group 'transport', '/lib/ddtrace/transport'
3
+ SimpleCov.add_group 'spec', '/spec/'
4
+
5
+ SimpleCov.coverage_dir ENV.fetch('COVERAGE_DIR', 'coverage')
6
+
7
+ # Each test run requires its own unique command_name.
8
+ # When running `rake spec:test_name`, the test process doesn't have access to the
9
+ # rake task process, so we have come up with unique values ourselves.
10
+ #
11
+ # The current approach is to combine the ruby engine (ruby-2.7,jruby-9.2),
12
+ # program name (rspec/test), command line arguments (--pattern spec/**/*_spec.rb),
13
+ # and the loaded gemset.
14
+ #
15
+ # This should allow us to distinguish between runs with the same tests, but different gemsets:
16
+ # * appraisal rails5-mysql2 rake spec:rails
17
+ # * appraisal rails5-postgres rake spec:rails
18
+ #
19
+ # Subsequent runs of the same exact test suite should have the same command_name.
20
+ command_line_arguments = ARGV.join(' ')
21
+ gemset_hash = Digest::MD5.hexdigest Gem.loaded_specs.values.map { |x| "#{x.name}#{x.version}" }.sort.join
22
+ ruby_engine = if defined?(RUBY_ENGINE_VERSION)
23
+ "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}"
24
+ else
25
+ "#{RUBY_ENGINE}-#{RUBY_VERSION}" # For Ruby < 2.3
26
+ end
27
+ SimpleCov.command_name "#{ruby_engine}:#{gemset_hash}:#{$PROGRAM_NAME} #{command_line_arguments}"
28
+
29
+ # A very large number to disable result merging timeout
30
+ SimpleCov.merge_timeout 2 ** 31
31
+
32
+ # DEV If we choose to enforce a hard minimum.
33
+ # SimpleCov.minimum_coverage 95
34
+
35
+ # DEV If we choose to enforce a maximum coverage drop.
36
+ # DEV We have to figure out where to store previous coverage data
37
+ # DEV in order to perform this comparison
38
+ # SimpleCov.maximum_coverage_drop 1
data/Appraisals CHANGED
@@ -13,6 +13,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
13
13
  gem 'pg', '0.15.1', platform: :ruby
14
14
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
15
15
  gem 'rack-cache', '1.7.1'
16
+ gem 'lograge', '< 0.4'
16
17
  end
17
18
 
18
19
  appraise 'rails30-postgres-sidekiq' do
@@ -22,6 +23,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
22
23
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
23
24
  gem 'sidekiq', '4.0.0'
24
25
  gem 'rack-cache', '1.7.1'
26
+ gem 'lograge', '< 0.4'
25
27
  end
26
28
 
27
29
  appraise 'rails32-mysql2' do
@@ -31,6 +33,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
31
33
  gem 'activerecord-mysql-adapter', platform: :ruby
32
34
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
33
35
  gem 'rack-cache', '1.7.1'
36
+ gem 'lograge', '< 0.4'
34
37
  end
35
38
 
36
39
  appraise 'rails32-postgres' do
@@ -39,6 +42,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
39
42
  gem 'pg', '0.15.1', platform: :ruby
40
43
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
41
44
  gem 'rack-cache', '1.7.1'
45
+ gem 'lograge', '< 0.4'
42
46
  end
43
47
 
44
48
  appraise 'rails32-postgres-redis' do
@@ -49,6 +53,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
49
53
  gem 'redis-rails'
50
54
  gem 'redis', '< 4.0'
51
55
  gem 'rack-cache', '1.7.1'
56
+ gem 'lograge', '< 0.4'
52
57
  end
53
58
 
54
59
  appraise 'rails32-postgres-sidekiq' do
@@ -58,6 +63,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
58
63
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
59
64
  gem 'sidekiq', '4.0.0'
60
65
  gem 'rack-cache', '1.7.1'
66
+ gem 'lograge', '< 0.4'
61
67
  end
62
68
 
63
69
  appraise 'contrib-old' do
@@ -73,8 +79,10 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
73
79
  gem 'ethon'
74
80
  gem 'excon'
75
81
  gem 'hiredis'
82
+ gem 'http'
76
83
  gem 'mongo', '< 2.5'
77
84
  gem 'mysql2', '0.3.21', platform: :ruby
85
+ gem 'pg', '< 1.0', platform: :ruby
78
86
  gem 'rack', '1.4.7'
79
87
  gem 'rack-cache', '1.7.1'
80
88
  gem 'rack-test', '0.7.0'
@@ -100,6 +108,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
100
108
  gem 'pg', '0.15.1', platform: :ruby
101
109
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
102
110
  gem 'rack-cache', '1.7.1'
111
+ gem 'lograge', '< 0.4'
103
112
  end
104
113
 
105
114
  appraise 'rails30-postgres-sidekiq' do
@@ -109,6 +118,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
109
118
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
110
119
  gem 'sidekiq', '4.0.0'
111
120
  gem 'rack-cache', '1.7.1'
121
+ gem 'lograge', '< 0.4'
112
122
  end
113
123
 
114
124
  appraise 'rails32-mysql2' do
@@ -118,6 +128,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
118
128
  gem 'activerecord-mysql-adapter', platform: :ruby
119
129
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
120
130
  gem 'rack-cache', '1.7.1'
131
+ gem 'lograge', '< 0.4'
121
132
  end
122
133
 
123
134
  appraise 'rails32-postgres' do
@@ -126,6 +137,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
126
137
  gem 'pg', '0.15.1', platform: :ruby
127
138
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
128
139
  gem 'rack-cache', '1.7.1'
140
+ gem 'lograge', '< 0.4'
129
141
  end
130
142
 
131
143
  appraise 'rails32-postgres-redis' do
@@ -136,6 +148,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
136
148
  gem 'redis-rails'
137
149
  gem 'redis', '< 4.0'
138
150
  gem 'rack-cache', '1.7.1'
151
+ gem 'lograge', '< 0.4'
139
152
  end
140
153
 
141
154
  appraise 'rails32-postgres-sidekiq' do
@@ -145,29 +158,33 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
145
158
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
146
159
  gem 'sidekiq', '4.0.0'
147
160
  gem 'rack-cache', '1.7.1'
161
+ gem 'lograge', '< 0.4'
148
162
  end
149
163
 
150
164
  appraise 'rails4-mysql2' do
151
- gem 'rails', '4.2.7.1'
152
- gem 'mysql2', '< 0.5', platform: :ruby
165
+ gem 'rails', '4.2.11.1'
166
+ gem 'mysql2', '< 1', platform: :ruby
153
167
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
154
168
  gem 'sprockets', '< 4'
169
+ gem 'lograge'
155
170
  end
156
171
 
157
172
  appraise 'rails4-postgres' do
158
- gem 'rails', '4.2.7.1'
173
+ gem 'rails', '4.2.11.1'
159
174
  gem 'pg', '< 1.0', platform: :ruby
160
175
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
161
176
  gem 'sprockets', '< 4'
177
+ gem 'lograge'
162
178
  end
163
179
 
164
180
  appraise 'rails4-postgres-redis' do
165
- gem 'rails', '4.2.7.1'
181
+ gem 'rails', '4.2.11.1'
166
182
  gem 'pg', '< 1.0', platform: :ruby
167
183
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
168
184
  gem 'redis-rails'
169
185
  gem 'redis', '< 4.0'
170
186
  gem 'sprockets', '< 4'
187
+ gem 'lograge'
171
188
  end
172
189
 
173
190
  appraise 'contrib-old' do
@@ -180,11 +197,14 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
180
197
  gem 'delayed_job'
181
198
  gem 'delayed_job_active_record'
182
199
  gem 'elasticsearch-transport'
200
+ gem 'presto-client', '>= 0.5.14'
183
201
  gem 'ethon'
184
202
  gem 'excon'
185
203
  gem 'hiredis'
204
+ gem 'http'
186
205
  gem 'mongo', '< 2.5'
187
206
  gem 'mysql2', '0.3.21', platform: :ruby
207
+ gem 'pg', '< 1.0', platform: :ruby
188
208
  gem 'rack', '1.4.7'
189
209
  gem 'rack-cache', '1.7.1'
190
210
  gem 'rack-test', '0.7.0'
@@ -192,6 +212,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
192
212
  gem 'redis', '< 4.0'
193
213
  gem 'rest-client'
194
214
  gem 'resque', '< 2.0'
215
+ gem 'ruby-kafka', '>= 0.7.10'
195
216
  gem 'sequel', '~> 4.0', '< 4.37'
196
217
  gem 'shoryuken'
197
218
  gem 'sidekiq', '~> 3.5.4'
@@ -211,6 +232,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
211
232
  gem 'pg', '0.15.1', platform: :ruby
212
233
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
213
234
  gem 'rack-cache', '1.7.1'
235
+ gem 'lograge', '< 0.4'
214
236
  end
215
237
 
216
238
  appraise 'rails30-postgres-sidekiq' do
@@ -220,6 +242,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
220
242
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
221
243
  gem 'sidekiq', '4.0.0'
222
244
  gem 'rack-cache', '1.7.1'
245
+ gem 'lograge', '< 0.4'
223
246
  end
224
247
 
225
248
  appraise 'rails32-mysql2' do
@@ -229,6 +252,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
229
252
  gem 'activerecord-mysql-adapter', platform: :ruby
230
253
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
231
254
  gem 'rack-cache', '1.7.1'
255
+ gem 'lograge', '< 0.4'
232
256
  end
233
257
 
234
258
  appraise 'rails32-postgres' do
@@ -237,6 +261,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
237
261
  gem 'pg', '0.15.1', platform: :ruby
238
262
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
239
263
  gem 'rack-cache', '1.7.1'
264
+ gem 'lograge', '< 0.4'
240
265
  end
241
266
 
242
267
  appraise 'rails32-postgres-redis' do
@@ -247,6 +272,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
247
272
  gem 'redis-rails'
248
273
  gem 'redis', '< 4.0'
249
274
  gem 'rack-cache', '1.7.1'
275
+ gem 'lograge', '< 0.4'
250
276
  end
251
277
 
252
278
  appraise 'rails32-postgres-sidekiq' do
@@ -256,73 +282,82 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
256
282
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
257
283
  gem 'sidekiq', '4.0.0'
258
284
  gem 'rack-cache', '1.7.1'
285
+ gem 'lograge', '< 0.4'
259
286
  end
260
287
 
261
288
  appraise 'rails4-mysql2' do
262
- gem 'rails', '4.2.7.1'
263
- gem 'mysql2', '< 0.5', platform: :ruby
289
+ gem 'rails', '4.2.11.1'
290
+ gem 'mysql2', '< 1', platform: :ruby
264
291
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
265
292
  gem 'sprockets', '< 4'
293
+ gem 'lograge'
266
294
  end
267
295
 
268
296
  appraise 'rails4-postgres' do
269
- gem 'rails', '4.2.7.1'
297
+ gem 'rails', '4.2.11.1'
270
298
  gem 'pg', '< 1.0', platform: :ruby
271
299
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
272
300
  gem 'sprockets', '< 4'
301
+ gem 'lograge'
273
302
  end
274
303
 
275
304
  appraise 'rails4-postgres-redis' do
276
- gem 'rails', '4.2.7.1'
305
+ gem 'rails', '4.2.11.1'
277
306
  gem 'pg', '< 1.0', platform: :ruby
278
307
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
279
308
  gem 'redis-rails'
280
309
  gem 'redis', '< 4.0'
281
310
  gem 'sprockets', '< 4'
311
+ gem 'lograge'
282
312
  end
283
313
 
284
314
  appraise 'rails4-postgres-sidekiq' do
285
- gem 'rails', '4.2.7.1'
315
+ gem 'rails', '4.2.11.1'
286
316
  gem 'pg', '< 1.0', platform: :ruby
287
317
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
288
318
  gem 'sidekiq'
289
319
  gem 'activejob'
290
320
  gem 'sprockets', '< 4'
321
+ gem 'lograge'
291
322
  end
292
323
 
293
324
  appraise 'rails5-mysql2' do
294
- gem 'rails', '~> 5.2.1'
295
- gem 'mysql2', '< 0.5', platform: :ruby
325
+ gem 'rails', '5.2.3'
326
+ gem 'mysql2', '< 1', platform: :ruby
296
327
  gem 'sprockets', '< 4'
328
+ gem 'lograge'
297
329
  end
298
330
 
299
331
  appraise 'rails5-postgres' do
300
- gem 'rails', '~> 5.2.1'
332
+ gem 'rails', '5.2.3'
301
333
  gem 'pg', '< 1.0', platform: :ruby
302
334
  gem 'sprockets', '< 4'
335
+ gem 'lograge'
303
336
  end
304
337
 
305
338
  appraise 'rails5-postgres-redis' do
306
- gem 'rails', '~> 5.2.1'
339
+ gem 'rails', '5.2.3'
307
340
  gem 'pg', '< 1.0', platform: :ruby
308
- gem 'redis'
341
+ gem 'redis', '>= 4.0.1'
309
342
  gem 'sprockets', '< 4'
343
+ gem 'lograge'
310
344
  end
311
345
 
312
346
  appraise 'rails5-postgres-redis-activesupport' do
313
- gem 'rails', '~> 5.2.1'
347
+ gem 'rails', '5.2.3'
314
348
  gem 'pg', '< 1.0', platform: :ruby
315
- gem 'redis-rails'
316
- gem 'redis'
349
+ gem 'redis', '>= 4.0.1'
317
350
  gem 'sprockets', '< 4'
351
+ gem 'lograge'
318
352
  end
319
353
 
320
354
  appraise 'rails5-postgres-sidekiq' do
321
- gem 'rails', '~> 5.2.1'
355
+ gem 'rails', '5.2.3'
322
356
  gem 'pg', '< 1.0', platform: :ruby
323
357
  gem 'sidekiq'
324
358
  gem 'activejob'
325
359
  gem 'sprockets', '< 4'
360
+ gem 'lograge'
326
361
  end
327
362
 
328
363
  appraise 'contrib' do
@@ -336,29 +371,35 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
336
371
  gem 'delayed_job'
337
372
  gem 'delayed_job_active_record'
338
373
  gem 'elasticsearch-transport'
374
+ gem 'pg', platform: :ruby
375
+ gem 'presto-client', '>= 0.5.14'
339
376
  gem 'ethon'
340
377
  gem 'excon'
341
378
  gem 'faraday'
342
379
  gem 'grape'
343
380
  gem 'graphql', '< 1.9.4'
344
- gem 'grpc'
381
+ gem 'grpc', '~> 1.21.0' # Last version to support Ruby < 2.3
345
382
  gem 'hiredis'
383
+ gem 'http'
346
384
  gem 'mongo', '>= 2.8.0'
347
385
  gem 'mysql2', '< 0.5', platform: :ruby
348
386
  gem 'racecar', '>= 0.3.5'
349
- gem 'rack'
387
+ gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
350
388
  gem 'rack-test'
351
389
  gem 'rake', '>= 12.3'
352
390
  gem 'redis', '< 4.0'
353
391
  gem 'rest-client'
354
392
  gem 'resque', '< 2.0'
393
+ gem 'ruby-kafka', '>= 0.7.10'
355
394
  gem 'sequel'
356
395
  gem 'shoryuken'
357
396
  gem 'sidekiq'
358
397
  gem 'sinatra'
398
+ gem 'sneakers', '>= 2.12.0'
359
399
  gem 'sqlite3', '~> 1.3.6'
360
400
  gem 'sucker_punch'
361
401
  gem 'typhoeus'
402
+ gem 'que', '>= 1.0.0.beta2'
362
403
  end
363
404
  end
364
405
  elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
@@ -370,6 +411,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
370
411
  gem 'pg', '0.15.1', platform: :ruby
371
412
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
372
413
  gem 'rack-cache', '1.7.1'
414
+ gem 'lograge', '< 0.4'
373
415
  end
374
416
 
375
417
  appraise 'rails30-postgres-sidekiq' do
@@ -379,6 +421,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
379
421
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
380
422
  gem 'sidekiq', '4.0.0'
381
423
  gem 'rack-cache', '1.7.1'
424
+ gem 'lograge', '< 0.4'
382
425
  end
383
426
 
384
427
  appraise 'rails32-mysql2' do
@@ -388,6 +431,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
388
431
  gem 'activerecord-mysql-adapter', platform: :ruby
389
432
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
390
433
  gem 'rack-cache', '1.7.1'
434
+ gem 'lograge', '< 0.4'
391
435
  end
392
436
 
393
437
  appraise 'rails32-postgres' do
@@ -396,6 +440,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
396
440
  gem 'pg', '0.15.1', platform: :ruby
397
441
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
398
442
  gem 'rack-cache', '1.7.1'
443
+ gem 'lograge', '< 0.4'
399
444
  end
400
445
 
401
446
  appraise 'rails32-postgres-redis' do
@@ -406,6 +451,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
406
451
  gem 'redis-rails'
407
452
  gem 'redis', '< 4.0'
408
453
  gem 'rack-cache', '1.7.1'
454
+ gem 'lograge', '< 0.4'
409
455
  end
410
456
 
411
457
  appraise 'rails32-postgres-sidekiq' do
@@ -415,65 +461,73 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
415
461
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
416
462
  gem 'sidekiq', '4.0.0'
417
463
  gem 'rack-cache', '1.7.1'
464
+ gem 'lograge', '< 0.4'
418
465
  end
419
466
 
420
467
  appraise 'rails4-mysql2' do
421
- gem 'rails', '4.2.7.1'
422
- gem 'mysql2', '< 0.5', platform: :ruby
468
+ gem 'rails', '4.2.11.1'
469
+ gem 'mysql2', '< 1', platform: :ruby
423
470
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
424
471
  gem 'sprockets', '< 4'
472
+ gem 'lograge'
425
473
  end
426
474
 
427
475
  appraise 'rails4-postgres' do
428
- gem 'rails', '4.2.7.1'
476
+ gem 'rails', '4.2.11.1'
429
477
  gem 'pg', '< 1.0', platform: :ruby
430
478
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
431
479
  gem 'sprockets', '< 4'
480
+ gem 'lograge'
432
481
  end
433
482
 
434
483
  appraise 'rails4-postgres-redis' do
435
- gem 'rails', '4.2.7.1'
484
+ gem 'rails', '4.2.11.1'
436
485
  gem 'pg', '< 1.0', platform: :ruby
437
486
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
438
487
  gem 'redis-rails'
439
488
  gem 'redis', '< 4.0'
440
489
  gem 'sprockets', '< 4'
490
+ gem 'lograge'
441
491
  end
442
492
 
443
493
  appraise 'rails4-postgres-sidekiq' do
444
- gem 'rails', '4.2.7.1'
494
+ gem 'rails', '4.2.11.1'
445
495
  gem 'pg', '< 1.0', platform: :ruby
446
496
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
447
497
  gem 'sidekiq'
448
498
  gem 'activejob'
449
499
  gem 'sprockets', '< 4'
500
+ gem 'lograge'
450
501
  end
451
502
 
452
503
  appraise 'rails5-mysql2' do
453
504
  gem 'rails', '~> 5.2.1'
454
- gem 'mysql2', '< 0.5', platform: :ruby
505
+ gem 'mysql2', '< 1', platform: :ruby
455
506
  gem 'sprockets', '< 4'
507
+ gem 'lograge'
456
508
  end
457
509
 
458
510
  appraise 'rails5-postgres' do
459
511
  gem 'rails', '~> 5.2.1'
460
512
  gem 'pg', '< 1.0', platform: :ruby
461
513
  gem 'sprockets', '< 4'
514
+ gem 'lograge'
462
515
  end
463
516
 
464
517
  appraise 'rails5-postgres-redis' do
465
518
  gem 'rails', '~> 5.2.1'
466
519
  gem 'pg', '< 1.0', platform: :ruby
467
- gem 'redis'
520
+ gem 'redis', '>= 4.0.1'
468
521
  gem 'sprockets', '< 4'
522
+ gem 'lograge'
469
523
  end
470
524
 
471
525
  appraise 'rails5-postgres-redis-activesupport' do
472
526
  gem 'rails', '~> 5.2.1'
473
527
  gem 'pg', '< 1.0', platform: :ruby
474
- gem 'redis-rails'
475
- gem 'redis'
528
+ gem 'redis', '>= 4.0.1'
476
529
  gem 'sprockets', '< 4'
530
+ gem 'lograge'
477
531
  end
478
532
 
479
533
  appraise 'rails5-postgres-sidekiq' do
@@ -482,6 +536,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
482
536
  gem 'sidekiq'
483
537
  gem 'activejob'
484
538
  gem 'sprockets', '< 4'
539
+ gem 'lograge'
485
540
  end
486
541
 
487
542
  appraise 'contrib' do
@@ -501,23 +556,34 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
501
556
  gem 'grape'
502
557
  gem 'graphql'
503
558
  gem 'grpc'
559
+ gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
504
560
  gem 'hiredis'
561
+ gem 'http'
505
562
  gem 'mongo', '>= 2.8.0'
506
563
  gem 'mysql2', '< 0.5', platform: :ruby
564
+ gem 'pg', platform: :ruby
565
+ gem 'presto-client', '>= 0.5.14'
507
566
  gem 'racecar', '>= 0.3.5'
508
- gem 'rack'
567
+ gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
509
568
  gem 'rack-test'
510
569
  gem 'rake', '>= 12.3'
511
570
  gem 'redis', '< 4.0'
512
571
  gem 'rest-client'
513
572
  gem 'resque', '< 2.0'
573
+ gem 'ruby-kafka', '>= 0.7.10'
514
574
  gem 'sequel'
515
575
  gem 'shoryuken'
516
576
  gem 'sidekiq'
517
577
  gem 'sinatra'
578
+ gem 'sneakers', '>= 2.12.0'
518
579
  gem 'sqlite3', '~> 1.3.6'
519
580
  gem 'sucker_punch'
520
581
  gem 'typhoeus'
582
+ gem 'que', '>= 1.0.0.beta2'
583
+ end
584
+
585
+ appraise 'contrib-old' do
586
+ gem 'faraday', '0.17'
521
587
  end
522
588
  end
523
589
  elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
@@ -525,30 +591,32 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
525
591
  if RUBY_PLATFORM != 'java'
526
592
  appraise 'rails5-mysql2' do
527
593
  gem 'rails', '~> 5.2.1'
528
- gem 'mysql2', '< 0.5', platform: :ruby
594
+ gem 'mysql2', '< 1', platform: :ruby
529
595
  gem 'sprockets', '< 4'
596
+ gem 'lograge'
530
597
  end
531
598
 
532
599
  appraise 'rails5-postgres' do
533
600
  gem 'rails', '~> 5.2.1'
534
601
  gem 'pg', '< 1.0', platform: :ruby
535
602
  gem 'sprockets', '< 4'
603
+ gem 'lograge'
536
604
  end
537
605
 
538
606
  appraise 'rails5-postgres-redis' do
539
607
  gem 'rails', '~> 5.2.1'
540
608
  gem 'pg', '< 1.0', platform: :ruby
541
- gem 'redis-rails'
542
- gem 'redis'
609
+ gem 'redis', '>= 4.0.1'
543
610
  gem 'sprockets', '< 4'
611
+ gem 'lograge'
544
612
  end
545
613
 
546
614
  appraise 'rails5-postgres-redis-activesupport' do
547
615
  gem 'rails', '~> 5.2.1'
548
616
  gem 'pg', '< 1.0', platform: :ruby
549
- gem 'redis-rails'
550
- gem 'redis'
617
+ gem 'redis', '>= 4.0.1'
551
618
  gem 'sprockets', '< 4'
619
+ gem 'lograge'
552
620
  end
553
621
 
554
622
  appraise 'rails5-postgres-sidekiq' do
@@ -557,6 +625,7 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
557
625
  gem 'sidekiq'
558
626
  gem 'activejob'
559
627
  gem 'sprockets', '< 4'
628
+ gem 'lograge'
560
629
  end
561
630
 
562
631
  appraise 'contrib' do
@@ -576,9 +645,13 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
576
645
  gem 'grape'
577
646
  gem 'graphql'
578
647
  gem 'grpc'
648
+ gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
579
649
  gem 'hiredis'
650
+ gem 'http'
580
651
  gem 'mongo', '>= 2.8.0'
581
652
  gem 'mysql2', '< 0.5', platform: :ruby
653
+ gem 'pg', platform: :ruby
654
+ gem 'presto-client', '>= 0.5.14'
582
655
  gem 'racecar', '>= 0.3.5'
583
656
  gem 'rack'
584
657
  gem 'rack-test'
@@ -586,44 +659,190 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
586
659
  gem 'redis', '< 4.0'
587
660
  gem 'rest-client'
588
661
  gem 'resque', '< 2.0'
662
+ gem 'ruby-kafka', '>= 0.7.10'
589
663
  gem 'sequel'
590
664
  gem 'shoryuken'
591
665
  gem 'sidekiq'
592
666
  gem 'sinatra'
667
+ gem 'sneakers', '>= 2.12.0'
593
668
  gem 'sqlite3', '~> 1.3.6'
594
669
  gem 'sucker_punch'
595
670
  gem 'typhoeus'
671
+ gem 'que', '>= 1.0.0.beta2'
672
+ end
673
+
674
+ appraise 'contrib-old' do
675
+ gem 'faraday', '0.17'
596
676
  end
597
677
  end
598
678
  elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
599
679
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
600
- if RUBY_PLATFORM != 'java'
601
680
  appraise 'rails5-mysql2' do
602
681
  gem 'rails', '~> 5.2.1'
682
+ gem 'mysql2', '< 1', platform: :ruby
683
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
684
+ gem 'sprockets', '< 4'
685
+ gem 'lograge'
686
+ end
687
+
688
+ appraise 'rails5-postgres' do
689
+ gem 'rails', '~> 5.2.1'
690
+ gem 'pg', '< 1.0', platform: :ruby
691
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
692
+ gem 'sprockets', '< 4'
693
+ gem 'lograge'
694
+ end
695
+
696
+ appraise 'rails5-postgres-redis' do
697
+ gem 'rails', '~> 5.2.1'
698
+ gem 'pg', '< 1.0', platform: :ruby
699
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
700
+ gem 'redis', '>= 4.0.1'
701
+ gem 'sprockets', '< 4'
702
+ gem 'lograge'
703
+ end
704
+
705
+ appraise 'rails5-postgres-redis-activesupport' do
706
+ gem 'rails', '~> 5.2.1'
707
+ gem 'pg', '< 1.0', platform: :ruby
708
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
709
+ gem 'redis', '>= 4.0.1'
710
+ gem 'sprockets', '< 4'
711
+ gem 'lograge'
712
+ end
713
+
714
+ appraise 'rails5-postgres-sidekiq' do
715
+ gem 'rails', '~> 5.2.1'
716
+ gem 'pg', '< 1.0', platform: :ruby
717
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
718
+ gem 'sidekiq'
719
+ gem 'activejob'
720
+ gem 'sprockets', '< 4'
721
+ gem 'lograge'
722
+ end
723
+
724
+ appraise 'rails6-mysql2' do
725
+ gem 'rails', '~> 6.0.0'
726
+ gem 'mysql2', '< 1', platform: :ruby
727
+ gem 'activerecord-jdbcmysql-adapter', '>= 60', platform: :jruby # try remove >= 60
728
+ gem 'sprockets', '< 4'
729
+ gem 'lograge'
730
+ end
731
+
732
+ appraise 'rails6-postgres' do
733
+ gem 'rails', '~> 6.0.0'
734
+ gem 'pg', '< 1.0', platform: :ruby
735
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
736
+ gem 'sprockets', '< 4'
737
+ gem 'lograge'
738
+ end
739
+
740
+ appraise 'rails6-postgres-redis' do
741
+ gem 'rails', '~> 6.0.0'
742
+ gem 'pg', '< 1.0', platform: :ruby
743
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
744
+ gem 'redis', '>= 4.0.1'
745
+ gem 'sprockets', '< 4'
746
+ gem 'lograge'
747
+ end
748
+
749
+ appraise 'rails6-postgres-redis-activesupport' do
750
+ gem 'rails', '~> 6.0.0'
751
+ gem 'pg', '< 1.0', platform: :ruby
752
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
753
+ gem 'redis', '>= 4.0.1'
754
+ gem 'sprockets', '< 4'
755
+ gem 'lograge'
756
+ end
757
+
758
+ appraise 'rails6-postgres-sidekiq' do
759
+ gem 'rails', '~> 6.0.0'
760
+ gem 'pg', '< 1.0', platform: :ruby
761
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
762
+ gem 'sidekiq'
763
+ gem 'activejob'
764
+ gem 'sprockets', '< 4'
765
+ gem 'lograge'
766
+ end
767
+
768
+ appraise 'contrib' do
769
+ gem 'actionpack'
770
+ gem 'actionview'
771
+ gem 'active_model_serializers', '>= 0.10.0'
772
+ gem 'activerecord'
773
+ gem 'aws-sdk'
774
+ gem 'concurrent-ruby'
775
+ gem 'dalli'
776
+ gem 'delayed_job'
777
+ gem 'delayed_job_active_record'
778
+ gem 'elasticsearch-transport'
779
+ gem 'ethon'
780
+ gem 'excon'
781
+ gem 'faraday'
782
+ gem 'grape'
783
+ gem 'graphql'
784
+ gem 'grpc', platform: :ruby
785
+ gem 'hiredis'
786
+ gem 'http'
787
+ gem 'mongo', '>= 2.8.0'
603
788
  gem 'mysql2', '< 0.5', platform: :ruby
789
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
790
+ gem 'pg', platform: :ruby
791
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
792
+ gem 'presto-client', '>= 0.5.14'
793
+ gem 'racecar', '>= 0.3.5'
794
+ gem 'rack'
795
+ gem 'rack-test'
796
+ gem 'rake', '>= 12.3'
797
+ gem 'redis', '< 4.0'
798
+ gem 'rest-client'
799
+ gem 'resque', '< 2.0'
800
+ gem 'ruby-kafka', '>= 0.7.10'
801
+ gem 'sequel'
802
+ gem 'shoryuken'
803
+ gem 'sidekiq'
804
+ gem 'sinatra'
805
+ gem 'sneakers', '>= 2.12.0'
806
+ gem 'sqlite3', '~> 1.4.1', platform: :ruby
807
+ gem 'sucker_punch'
808
+ gem 'typhoeus'
809
+ gem 'que', '>= 1.0.0.beta2'
810
+ end
811
+
812
+ appraise 'contrib-old' do
813
+ gem 'faraday', '0.17'
814
+ end
815
+ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
816
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
817
+ if RUBY_PLATFORM != 'java'
818
+ appraise 'rails5-mysql2' do
819
+ gem 'rails', '~> 5.2.1'
820
+ gem 'mysql2', '< 1', platform: :ruby
604
821
  gem 'sprockets', '< 4'
822
+ gem 'lograge'
605
823
  end
606
824
 
607
825
  appraise 'rails5-postgres' do
608
826
  gem 'rails', '~> 5.2.1'
609
827
  gem 'pg', '< 1.0', platform: :ruby
610
828
  gem 'sprockets', '< 4'
829
+ gem 'lograge'
611
830
  end
612
831
 
613
832
  appraise 'rails5-postgres-redis' do
614
833
  gem 'rails', '~> 5.2.1'
615
834
  gem 'pg', '< 1.0', platform: :ruby
616
- gem 'redis-rails'
617
- gem 'redis'
835
+ gem 'redis', '>= 4.0.1'
618
836
  gem 'sprockets', '< 4'
837
+ gem 'lograge'
619
838
  end
620
839
 
621
840
  appraise 'rails5-postgres-redis-activesupport' do
622
841
  gem 'rails', '~> 5.2.1'
623
842
  gem 'pg', '< 1.0', platform: :ruby
624
- gem 'redis-rails'
625
- gem 'redis'
843
+ gem 'redis', '>= 4.0.1'
626
844
  gem 'sprockets', '< 4'
845
+ gem 'lograge'
627
846
  end
628
847
 
629
848
  appraise 'rails5-postgres-sidekiq' do
@@ -632,34 +851,37 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
632
851
  gem 'sidekiq'
633
852
  gem 'activejob'
634
853
  gem 'sprockets', '< 4'
854
+ gem 'lograge'
635
855
  end
636
856
 
637
857
  appraise 'rails6-mysql2' do
638
858
  gem 'rails', '~> 6.0.0'
639
- gem 'mysql2', '< 0.6', platform: :ruby
859
+ gem 'mysql2', '< 1', platform: :ruby
640
860
  gem 'sprockets', '< 4'
861
+ gem 'lograge'
641
862
  end
642
863
 
643
864
  appraise 'rails6-postgres' do
644
865
  gem 'rails', '~> 6.0.0'
645
866
  gem 'pg', '< 1.0', platform: :ruby
646
867
  gem 'sprockets', '< 4'
868
+ gem 'lograge'
647
869
  end
648
870
 
649
871
  appraise 'rails6-postgres-redis' do
650
872
  gem 'rails', '~> 6.0.0'
651
873
  gem 'pg', '< 1.0', platform: :ruby
652
- gem 'redis-rails'
653
- gem 'redis'
874
+ gem 'redis', '>= 4.0.1'
654
875
  gem 'sprockets', '< 4'
876
+ gem 'lograge'
655
877
  end
656
878
 
657
879
  appraise 'rails6-postgres-redis-activesupport' do
658
880
  gem 'rails', '~> 6.0.0'
659
881
  gem 'pg', '< 1.0', platform: :ruby
660
- gem 'redis-rails'
661
- gem 'redis'
882
+ gem 'redis', '>= 4.0.1'
662
883
  gem 'sprockets', '< 4'
884
+ gem 'lograge'
663
885
  end
664
886
 
665
887
  appraise 'rails6-postgres-sidekiq' do
@@ -668,6 +890,7 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
668
890
  gem 'sidekiq'
669
891
  gem 'activejob'
670
892
  gem 'sprockets', '< 4'
893
+ gem 'lograge'
671
894
  end
672
895
 
673
896
  appraise 'contrib' do
@@ -688,8 +911,11 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
688
911
  gem 'graphql'
689
912
  gem 'grpc'
690
913
  gem 'hiredis'
914
+ gem 'http'
691
915
  gem 'mongo', '>= 2.8.0'
692
916
  gem 'mysql2', '< 0.5', platform: :ruby
917
+ gem 'pg', platform: :ruby
918
+ gem 'presto-client', '>= 0.5.14'
693
919
  gem 'racecar', '>= 0.3.5'
694
920
  gem 'rack'
695
921
  gem 'rack-test'
@@ -697,27 +923,36 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
697
923
  gem 'redis', '< 4.0'
698
924
  gem 'rest-client'
699
925
  gem 'resque', '< 2.0'
926
+ gem 'ruby-kafka', '>= 0.7.10'
700
927
  gem 'sequel'
701
928
  gem 'shoryuken'
702
929
  gem 'sidekiq'
703
930
  gem 'sinatra'
931
+ gem 'sneakers', '>= 2.12.0'
704
932
  gem 'sqlite3', '~> 1.4.1'
705
933
  gem 'sucker_punch'
706
934
  gem 'typhoeus'
935
+ gem 'que', '>= 1.0.0.beta2'
936
+ end
937
+
938
+ appraise 'contrib-old' do
939
+ gem 'faraday', '0.17'
707
940
  end
708
941
  end
709
- elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
942
+ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
710
943
  if RUBY_PLATFORM != 'java'
711
944
  appraise 'rails5-mysql2' do
712
945
  gem 'rails', '~> 5.2.1'
713
946
  gem 'mysql2', '< 0.5', platform: :ruby
714
947
  gem 'sprockets', '< 4'
948
+ gem 'lograge'
715
949
  end
716
950
 
717
951
  appraise 'rails5-postgres' do
718
952
  gem 'rails', '~> 5.2.1'
719
953
  gem 'pg', '< 1.0', platform: :ruby
720
954
  gem 'sprockets', '< 4'
955
+ gem 'lograge'
721
956
  end
722
957
 
723
958
  appraise 'rails5-postgres-redis' do
@@ -726,6 +961,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
726
961
  gem 'redis-rails'
727
962
  gem 'redis'
728
963
  gem 'sprockets', '< 4'
964
+ gem 'lograge'
729
965
  end
730
966
 
731
967
  appraise 'rails5-postgres-redis-activesupport' do
@@ -734,6 +970,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
734
970
  gem 'redis-rails'
735
971
  gem 'redis'
736
972
  gem 'sprockets', '< 4'
973
+ gem 'lograge'
737
974
  end
738
975
 
739
976
  appraise 'rails5-postgres-sidekiq' do
@@ -742,18 +979,21 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
742
979
  gem 'sidekiq'
743
980
  gem 'activejob'
744
981
  gem 'sprockets', '< 4'
982
+ gem 'lograge'
745
983
  end
746
984
 
747
985
  appraise 'rails6-mysql2' do
748
986
  gem 'rails', '~> 6.0.0'
749
987
  gem 'mysql2', '< 0.6', platform: :ruby
750
988
  gem 'sprockets', '< 4'
989
+ gem 'lograge'
751
990
  end
752
991
 
753
992
  appraise 'rails6-postgres' do
754
993
  gem 'rails', '~> 6.0.0'
755
994
  gem 'pg', '< 1.0', platform: :ruby
756
995
  gem 'sprockets', '< 4'
996
+ gem 'lograge'
757
997
  end
758
998
 
759
999
  appraise 'rails6-postgres-redis' do
@@ -762,6 +1002,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
762
1002
  gem 'redis-rails'
763
1003
  gem 'redis'
764
1004
  gem 'sprockets', '< 4'
1005
+ gem 'lograge'
765
1006
  end
766
1007
 
767
1008
  appraise 'rails6-postgres-redis-activesupport' do
@@ -770,6 +1011,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
770
1011
  gem 'redis-rails'
771
1012
  gem 'redis'
772
1013
  gem 'sprockets', '< 4'
1014
+ gem 'lograge'
773
1015
  end
774
1016
 
775
1017
  appraise 'rails6-postgres-sidekiq' do
@@ -778,6 +1020,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
778
1020
  gem 'sidekiq'
779
1021
  gem 'activejob'
780
1022
  gem 'sprockets', '< 4'
1023
+ gem 'lograge'
781
1024
  end
782
1025
 
783
1026
  appraise 'contrib' do
@@ -793,13 +1036,15 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
793
1036
  gem 'elasticsearch-transport'
794
1037
  gem 'ethon'
795
1038
  gem 'excon'
796
- gem 'faraday'
797
1039
  gem 'grape'
798
1040
  gem 'graphql'
799
1041
  gem 'grpc'
800
1042
  gem 'hiredis'
1043
+ gem 'http'
801
1044
  gem 'mongo', '>= 2.8.0'
802
1045
  gem 'mysql2', '< 0.5', platform: :ruby
1046
+ gem 'pg', platform: :ruby
1047
+ gem 'presto-client', '>= 0.5.14'
803
1048
  gem 'racecar', '>= 0.3.5'
804
1049
  gem 'rack'
805
1050
  gem 'rack-test'
@@ -807,14 +1052,20 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION)
807
1052
  gem 'redis', '< 4.0'
808
1053
  gem 'rest-client'
809
1054
  gem 'resque', '< 2.0'
1055
+ gem 'ruby-kafka', '>= 0.7.10'
810
1056
  gem 'sequel'
811
1057
  gem 'shoryuken'
812
1058
  gem 'sidekiq'
813
1059
  gem 'sinatra'
1060
+ gem 'sneakers', '>= 2.12.0'
814
1061
  gem 'sqlite3', '~> 1.4.1'
815
1062
  gem 'sucker_punch'
816
1063
  gem 'typhoeus'
1064
+ gem 'que', '>= 1.0.0.beta2'
1065
+ end
1066
+
1067
+ appraise 'contrib-old' do
1068
+ gem 'faraday', '0.17'
817
1069
  end
818
1070
  end
819
1071
  end
820
-