ddtrace 0.45.0 → 0.52.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 (586) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +22 -0
  3. data/.gitignore +7 -1
  4. data/CHANGELOG.md +406 -1
  5. data/CONTRIBUTING.md +1 -5
  6. data/LICENSE-3rdparty.csv +2 -0
  7. data/bin/ddtracerb +15 -0
  8. data/ddtrace.gemspec +19 -38
  9. data/docs/DevelopmentGuide.md +43 -0
  10. data/docs/GettingStarted.md +164 -76
  11. data/docs/ProfilingDevelopment.md +107 -0
  12. data/ext/ddtrace_profiling_native_extension/extconf.rb +28 -0
  13. data/ext/ddtrace_profiling_native_extension/profiling.c +17 -0
  14. data/lib/datadog/ci/configuration/components.rb +31 -0
  15. data/lib/datadog/ci/configuration/settings.rb +37 -0
  16. data/lib/datadog/ci/context_flush.rb +29 -0
  17. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +31 -0
  18. data/lib/datadog/ci/contrib/cucumber/ext.rb +20 -0
  19. data/lib/datadog/ci/contrib/cucumber/formatter.rb +98 -0
  20. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +27 -0
  21. data/lib/datadog/ci/contrib/cucumber/integration.rb +48 -0
  22. data/lib/datadog/ci/contrib/cucumber/patcher.rb +26 -0
  23. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +31 -0
  24. data/lib/datadog/ci/contrib/rspec/example.rb +74 -0
  25. data/lib/datadog/ci/contrib/rspec/ext.rb +19 -0
  26. data/lib/datadog/ci/contrib/rspec/integration.rb +49 -0
  27. data/lib/datadog/ci/contrib/rspec/patcher.rb +26 -0
  28. data/lib/datadog/ci/ext/app_types.rb +10 -0
  29. data/lib/datadog/ci/ext/environment.rb +443 -0
  30. data/lib/datadog/ci/ext/settings.rb +11 -0
  31. data/lib/datadog/ci/ext/test.rb +35 -0
  32. data/lib/datadog/ci/extensions.rb +18 -0
  33. data/lib/datadog/ci/test.rb +77 -0
  34. data/lib/datadog/ci.rb +17 -0
  35. data/lib/datadog/contrib.rb +69 -0
  36. data/lib/datadog/core/environment/cgroup.rb +52 -0
  37. data/lib/datadog/core/environment/class_count.rb +20 -0
  38. data/lib/datadog/core/environment/container.rb +91 -0
  39. data/lib/datadog/core/environment/ext.rb +27 -0
  40. data/lib/datadog/core/environment/gc.rb +19 -0
  41. data/lib/datadog/core/environment/identity.rb +51 -0
  42. data/lib/datadog/core/environment/socket.rb +17 -0
  43. data/lib/datadog/core/environment/thread_count.rb +19 -0
  44. data/lib/datadog/core/environment/variable_helpers.rb +42 -0
  45. data/lib/ddtrace/analytics.rb +3 -0
  46. data/lib/ddtrace/auto_instrument.rb +2 -0
  47. data/lib/ddtrace/auto_instrument_base.rb +1 -0
  48. data/lib/ddtrace/buffer.rb +10 -8
  49. data/lib/ddtrace/chunker.rb +1 -0
  50. data/lib/ddtrace/configuration/agent_settings_resolver.rb +231 -0
  51. data/lib/ddtrace/configuration/base.rb +9 -11
  52. data/lib/ddtrace/configuration/components.rb +167 -26
  53. data/lib/ddtrace/configuration/dependency_resolver.rb +1 -0
  54. data/lib/ddtrace/configuration/option.rb +1 -0
  55. data/lib/ddtrace/configuration/option_definition.rb +2 -3
  56. data/lib/ddtrace/configuration/option_definition_set.rb +1 -0
  57. data/lib/ddtrace/configuration/option_set.rb +1 -0
  58. data/lib/ddtrace/configuration/options.rb +7 -9
  59. data/lib/ddtrace/configuration/pin_setup.rb +1 -0
  60. data/lib/ddtrace/configuration/settings.rb +128 -10
  61. data/lib/ddtrace/configuration.rb +118 -26
  62. data/lib/ddtrace/context.rb +23 -20
  63. data/lib/ddtrace/context_flush.rb +15 -2
  64. data/lib/ddtrace/context_provider.rb +1 -1
  65. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +1 -0
  66. data/lib/ddtrace/contrib/action_cable/event.rb +6 -4
  67. data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +1 -0
  68. data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +1 -0
  69. data/lib/ddtrace/contrib/action_cable/events/transmit.rb +1 -0
  70. data/lib/ddtrace/contrib/action_cable/events.rb +1 -0
  71. data/lib/ddtrace/contrib/action_cable/ext.rb +1 -0
  72. data/lib/ddtrace/contrib/action_cable/instrumentation.rb +1 -0
  73. data/lib/ddtrace/contrib/action_cable/integration.rb +1 -0
  74. data/lib/ddtrace/contrib/action_cable/patcher.rb +1 -0
  75. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +22 -13
  76. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +2 -1
  77. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +1 -0
  78. data/lib/ddtrace/contrib/action_pack/ext.rb +1 -0
  79. data/lib/ddtrace/contrib/action_pack/integration.rb +1 -0
  80. data/lib/ddtrace/contrib/action_pack/patcher.rb +1 -0
  81. data/lib/ddtrace/contrib/action_pack/utils.rb +2 -1
  82. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +1 -0
  83. data/lib/ddtrace/contrib/action_view/event.rb +4 -3
  84. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  85. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  86. data/lib/ddtrace/contrib/action_view/events.rb +1 -0
  87. data/lib/ddtrace/contrib/action_view/ext.rb +1 -0
  88. data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +1 -0
  89. data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +1 -0
  90. data/lib/ddtrace/contrib/action_view/integration.rb +1 -0
  91. data/lib/ddtrace/contrib/action_view/patcher.rb +5 -4
  92. data/lib/ddtrace/contrib/action_view/utils.rb +2 -1
  93. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +1 -0
  94. data/lib/ddtrace/contrib/active_model_serializers/event.rb +3 -2
  95. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +1 -0
  96. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +1 -0
  97. data/lib/ddtrace/contrib/active_model_serializers/events.rb +1 -0
  98. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +1 -0
  99. data/lib/ddtrace/contrib/active_model_serializers/integration.rb +1 -0
  100. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +1 -0
  101. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +31 -0
  102. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +108 -18
  103. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +1 -0
  104. data/lib/ddtrace/contrib/active_record/event.rb +3 -2
  105. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +1 -0
  106. data/lib/ddtrace/contrib/active_record/events/sql.rb +1 -0
  107. data/lib/ddtrace/contrib/active_record/events.rb +1 -0
  108. data/lib/ddtrace/contrib/active_record/ext.rb +1 -0
  109. data/lib/ddtrace/contrib/active_record/integration.rb +1 -0
  110. data/lib/ddtrace/contrib/active_record/patcher.rb +1 -0
  111. data/lib/ddtrace/contrib/active_record/utils.rb +5 -3
  112. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +1 -0
  113. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +8 -7
  114. data/lib/ddtrace/contrib/active_support/cache/redis.rb +2 -5
  115. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +1 -0
  116. data/lib/ddtrace/contrib/active_support/ext.rb +1 -0
  117. data/lib/ddtrace/contrib/active_support/integration.rb +1 -0
  118. data/lib/ddtrace/contrib/active_support/notifications/event.rb +5 -3
  119. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +3 -1
  120. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +10 -5
  121. data/lib/ddtrace/contrib/active_support/patcher.rb +1 -0
  122. data/lib/ddtrace/contrib/analytics.rb +1 -0
  123. data/lib/ddtrace/contrib/auto_instrument.rb +4 -3
  124. data/lib/ddtrace/contrib/aws/configuration/settings.rb +1 -0
  125. data/lib/ddtrace/contrib/aws/ext.rb +1 -0
  126. data/lib/ddtrace/contrib/aws/instrumentation.rb +30 -0
  127. data/lib/ddtrace/contrib/aws/integration.rb +1 -0
  128. data/lib/ddtrace/contrib/aws/parsed_context.rb +1 -0
  129. data/lib/ddtrace/contrib/aws/patcher.rb +6 -0
  130. data/lib/ddtrace/contrib/aws/services.rb +3 -0
  131. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +1 -0
  132. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -0
  133. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
  134. data/lib/ddtrace/contrib/concurrent_ruby/future_patch.rb +1 -0
  135. data/lib/ddtrace/contrib/concurrent_ruby/integration.rb +1 -0
  136. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +3 -1
  137. data/lib/ddtrace/contrib/configurable.rb +65 -40
  138. data/lib/ddtrace/contrib/configuration/resolver.rb +71 -5
  139. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +20 -20
  140. data/lib/ddtrace/contrib/configuration/settings.rb +8 -6
  141. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +1 -0
  142. data/lib/ddtrace/contrib/dalli/ext.rb +1 -0
  143. data/lib/ddtrace/contrib/dalli/instrumentation.rb +2 -1
  144. data/lib/ddtrace/contrib/dalli/integration.rb +1 -0
  145. data/lib/ddtrace/contrib/dalli/patcher.rb +2 -39
  146. data/lib/ddtrace/contrib/dalli/quantize.rb +1 -0
  147. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +1 -0
  148. data/lib/ddtrace/contrib/delayed_job/ext.rb +1 -0
  149. data/lib/ddtrace/contrib/delayed_job/integration.rb +1 -0
  150. data/lib/ddtrace/contrib/delayed_job/patcher.rb +1 -0
  151. data/lib/ddtrace/contrib/delayed_job/plugin.rb +1 -1
  152. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +1 -0
  153. data/lib/ddtrace/contrib/elasticsearch/ext.rb +1 -0
  154. data/lib/ddtrace/contrib/elasticsearch/integration.rb +1 -0
  155. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -0
  156. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +6 -2
  157. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +1 -0
  158. data/lib/ddtrace/contrib/ethon/easy_patch.rb +7 -6
  159. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  160. data/lib/ddtrace/contrib/ethon/integration.rb +1 -0
  161. data/lib/ddtrace/contrib/ethon/multi_patch.rb +2 -1
  162. data/lib/ddtrace/contrib/ethon/patcher.rb +4 -2
  163. data/lib/ddtrace/contrib/excon/configuration/settings.rb +1 -0
  164. data/lib/ddtrace/contrib/excon/ext.rb +1 -0
  165. data/lib/ddtrace/contrib/excon/integration.rb +1 -0
  166. data/lib/ddtrace/contrib/excon/middleware.rb +3 -6
  167. data/lib/ddtrace/contrib/excon/patcher.rb +1 -0
  168. data/lib/ddtrace/contrib/extensions.rb +64 -14
  169. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +1 -0
  170. data/lib/ddtrace/contrib/faraday/connection.rb +1 -0
  171. data/lib/ddtrace/contrib/faraday/ext.rb +1 -0
  172. data/lib/ddtrace/contrib/faraday/integration.rb +1 -0
  173. data/lib/ddtrace/contrib/faraday/middleware.rb +2 -3
  174. data/lib/ddtrace/contrib/faraday/patcher.rb +3 -38
  175. data/lib/ddtrace/contrib/faraday/rack_builder.rb +1 -0
  176. data/lib/ddtrace/contrib/grape/configuration/settings.rb +1 -0
  177. data/lib/ddtrace/contrib/grape/endpoint.rb +34 -31
  178. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  179. data/lib/ddtrace/contrib/grape/instrumentation.rb +4 -3
  180. data/lib/ddtrace/contrib/grape/integration.rb +1 -0
  181. data/lib/ddtrace/contrib/grape/patcher.rb +2 -43
  182. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +1 -0
  183. data/lib/ddtrace/contrib/graphql/ext.rb +1 -0
  184. data/lib/ddtrace/contrib/graphql/integration.rb +1 -0
  185. data/lib/ddtrace/contrib/graphql/patcher.rb +1 -0
  186. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +2 -0
  187. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -0
  188. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -4
  189. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +13 -8
  190. data/lib/ddtrace/contrib/grpc/ext.rb +1 -0
  191. data/lib/ddtrace/contrib/grpc/integration.rb +1 -0
  192. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +1 -0
  193. data/lib/ddtrace/contrib/grpc/patcher.rb +3 -37
  194. data/lib/ddtrace/contrib/http/circuit_breaker.rb +2 -3
  195. data/lib/ddtrace/contrib/http/configuration/settings.rb +1 -0
  196. data/lib/ddtrace/contrib/http/ext.rb +1 -0
  197. data/lib/ddtrace/contrib/http/instrumentation.rb +7 -6
  198. data/lib/ddtrace/contrib/http/integration.rb +1 -0
  199. data/lib/ddtrace/contrib/http/patcher.rb +2 -1
  200. data/lib/ddtrace/contrib/http_annotation_helper.rb +1 -0
  201. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +1 -0
  202. data/lib/ddtrace/contrib/httpclient/ext.rb +1 -0
  203. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +16 -20
  204. data/lib/ddtrace/contrib/httpclient/integration.rb +1 -0
  205. data/lib/ddtrace/contrib/httpclient/patcher.rb +8 -4
  206. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +1 -0
  207. data/lib/ddtrace/contrib/httprb/ext.rb +1 -0
  208. data/lib/ddtrace/contrib/httprb/instrumentation.rb +16 -21
  209. data/lib/ddtrace/contrib/httprb/integration.rb +1 -0
  210. data/lib/ddtrace/contrib/httprb/patcher.rb +8 -4
  211. data/lib/ddtrace/contrib/integration.rb +4 -3
  212. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +1 -0
  213. data/lib/ddtrace/contrib/kafka/consumer_event.rb +1 -0
  214. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +1 -0
  215. data/lib/ddtrace/contrib/kafka/event.rb +3 -2
  216. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +1 -0
  217. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +1 -0
  218. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +1 -0
  219. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +1 -0
  220. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +1 -0
  221. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +1 -0
  222. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +1 -0
  223. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +1 -0
  224. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +1 -0
  225. data/lib/ddtrace/contrib/kafka/events.rb +1 -0
  226. data/lib/ddtrace/contrib/kafka/ext.rb +1 -0
  227. data/lib/ddtrace/contrib/kafka/integration.rb +1 -0
  228. data/lib/ddtrace/contrib/kafka/patcher.rb +1 -0
  229. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +19 -0
  230. data/lib/ddtrace/contrib/lograge/ext.rb +11 -0
  231. data/lib/ddtrace/contrib/lograge/instrumentation.rb +39 -0
  232. data/lib/ddtrace/contrib/lograge/integration.rb +46 -0
  233. data/lib/ddtrace/contrib/{cucumber → lograge}/patcher.rb +7 -4
  234. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +1 -0
  235. data/lib/ddtrace/contrib/mongodb/ext.rb +1 -0
  236. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +5 -2
  237. data/lib/ddtrace/contrib/mongodb/integration.rb +1 -0
  238. data/lib/ddtrace/contrib/mongodb/parsers.rb +1 -0
  239. data/lib/ddtrace/contrib/mongodb/patcher.rb +3 -2
  240. data/lib/ddtrace/contrib/mongodb/subscribers.rb +3 -3
  241. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +1 -0
  242. data/lib/ddtrace/contrib/mysql2/ext.rb +1 -0
  243. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +2 -1
  244. data/lib/ddtrace/contrib/mysql2/integration.rb +1 -0
  245. data/lib/ddtrace/contrib/mysql2/patcher.rb +2 -1
  246. data/lib/ddtrace/contrib/patchable.rb +3 -2
  247. data/lib/ddtrace/contrib/patcher.rb +12 -8
  248. data/lib/ddtrace/contrib/presto/configuration/settings.rb +1 -0
  249. data/lib/ddtrace/contrib/presto/ext.rb +1 -0
  250. data/lib/ddtrace/contrib/presto/instrumentation.rb +2 -1
  251. data/lib/ddtrace/contrib/presto/integration.rb +1 -0
  252. data/lib/ddtrace/contrib/presto/patcher.rb +7 -3
  253. data/lib/ddtrace/contrib/qless/configuration/settings.rb +1 -0
  254. data/lib/ddtrace/contrib/qless/ext.rb +1 -0
  255. data/lib/ddtrace/contrib/qless/integration.rb +1 -0
  256. data/lib/ddtrace/contrib/qless/patcher.rb +5 -5
  257. data/lib/ddtrace/contrib/qless/qless_job.rb +2 -0
  258. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +2 -0
  259. data/lib/ddtrace/contrib/que/configuration/settings.rb +1 -0
  260. data/lib/ddtrace/contrib/que/ext.rb +20 -19
  261. data/lib/ddtrace/contrib/que/integration.rb +1 -0
  262. data/lib/ddtrace/contrib/que/patcher.rb +1 -0
  263. data/lib/ddtrace/contrib/que/tracer.rb +2 -1
  264. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +1 -0
  265. data/lib/ddtrace/contrib/racecar/event.rb +4 -2
  266. data/lib/ddtrace/contrib/racecar/events/batch.rb +1 -0
  267. data/lib/ddtrace/contrib/racecar/events/consume.rb +1 -0
  268. data/lib/ddtrace/contrib/racecar/events/message.rb +1 -0
  269. data/lib/ddtrace/contrib/racecar/events.rb +1 -0
  270. data/lib/ddtrace/contrib/racecar/ext.rb +1 -0
  271. data/lib/ddtrace/contrib/racecar/integration.rb +1 -0
  272. data/lib/ddtrace/contrib/racecar/patcher.rb +1 -0
  273. data/lib/ddtrace/contrib/rack/configuration/settings.rb +4 -3
  274. data/lib/ddtrace/contrib/rack/ext.rb +1 -0
  275. data/lib/ddtrace/contrib/rack/integration.rb +1 -0
  276. data/lib/ddtrace/contrib/rack/middlewares.rb +7 -11
  277. data/lib/ddtrace/contrib/rack/patcher.rb +2 -3
  278. data/lib/ddtrace/contrib/rack/request_queue.rb +1 -0
  279. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +1 -0
  280. data/lib/ddtrace/contrib/rails/configuration/settings.rb +1 -0
  281. data/lib/ddtrace/contrib/rails/ext.rb +1 -0
  282. data/lib/ddtrace/contrib/rails/framework.rb +26 -1
  283. data/lib/ddtrace/contrib/rails/integration.rb +1 -0
  284. data/lib/ddtrace/contrib/rails/log_injection.rb +1 -40
  285. data/lib/ddtrace/contrib/rails/middlewares.rb +1 -0
  286. data/lib/ddtrace/contrib/rails/patcher.rb +18 -11
  287. data/lib/ddtrace/contrib/rails/railtie.rb +1 -0
  288. data/lib/ddtrace/contrib/rails/utils.rb +1 -0
  289. data/lib/ddtrace/contrib/rake/configuration/settings.rb +1 -0
  290. data/lib/ddtrace/contrib/rake/ext.rb +1 -0
  291. data/lib/ddtrace/contrib/rake/instrumentation.rb +6 -3
  292. data/lib/ddtrace/contrib/rake/integration.rb +1 -0
  293. data/lib/ddtrace/contrib/rake/patcher.rb +2 -1
  294. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +12 -4
  295. data/lib/ddtrace/contrib/redis/configuration/settings.rb +1 -0
  296. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  297. data/lib/ddtrace/contrib/redis/integration.rb +1 -0
  298. data/lib/ddtrace/contrib/redis/patcher.rb +1 -0
  299. data/lib/ddtrace/contrib/redis/quantize.rb +2 -0
  300. data/lib/ddtrace/contrib/redis/tags.rb +1 -0
  301. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  302. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +7 -7
  303. data/lib/ddtrace/contrib/registerable.rb +5 -4
  304. data/lib/ddtrace/contrib/registry.rb +3 -2
  305. data/lib/ddtrace/contrib/resque/configuration/settings.rb +18 -1
  306. data/lib/ddtrace/contrib/resque/ext.rb +1 -0
  307. data/lib/ddtrace/contrib/resque/integration.rb +2 -1
  308. data/lib/ddtrace/contrib/resque/patcher.rb +5 -4
  309. data/lib/ddtrace/contrib/resque/resque_job.rb +25 -1
  310. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +1 -0
  311. data/lib/ddtrace/contrib/rest_client/ext.rb +1 -0
  312. data/lib/ddtrace/contrib/rest_client/integration.rb +1 -0
  313. data/lib/ddtrace/contrib/rest_client/patcher.rb +3 -1
  314. data/lib/ddtrace/contrib/rest_client/request_patch.rb +3 -4
  315. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +19 -0
  316. data/lib/ddtrace/contrib/semantic_logger/ext.rb +11 -0
  317. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +43 -0
  318. data/lib/ddtrace/contrib/semantic_logger/integration.rb +48 -0
  319. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +26 -0
  320. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +1 -0
  321. data/lib/ddtrace/contrib/sequel/database.rb +2 -1
  322. data/lib/ddtrace/contrib/sequel/dataset.rb +2 -1
  323. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  324. data/lib/ddtrace/contrib/sequel/integration.rb +1 -0
  325. data/lib/ddtrace/contrib/sequel/patcher.rb +3 -2
  326. data/lib/ddtrace/contrib/sequel/utils.rb +6 -6
  327. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +2 -0
  328. data/lib/ddtrace/contrib/shoryuken/ext.rb +1 -0
  329. data/lib/ddtrace/contrib/shoryuken/integration.rb +1 -0
  330. data/lib/ddtrace/contrib/shoryuken/patcher.rb +1 -0
  331. data/lib/ddtrace/contrib/shoryuken/tracer.rb +8 -4
  332. data/lib/ddtrace/contrib/sidekiq/client_tracer.rb +1 -0
  333. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +1 -0
  334. data/lib/ddtrace/contrib/sidekiq/ext.rb +1 -0
  335. data/lib/ddtrace/contrib/sidekiq/integration.rb +1 -0
  336. data/lib/ddtrace/contrib/sidekiq/patcher.rb +1 -0
  337. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +3 -7
  338. data/lib/ddtrace/contrib/sidekiq/tracing.rb +1 -1
  339. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +1 -0
  340. data/lib/ddtrace/contrib/sinatra/env.rb +2 -3
  341. data/lib/ddtrace/contrib/sinatra/ext.rb +1 -0
  342. data/lib/ddtrace/contrib/sinatra/headers.rb +2 -3
  343. data/lib/ddtrace/contrib/sinatra/integration.rb +1 -0
  344. data/lib/ddtrace/contrib/sinatra/patcher.rb +3 -1
  345. data/lib/ddtrace/contrib/sinatra/tracer.rb +14 -6
  346. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +11 -4
  347. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +1 -0
  348. data/lib/ddtrace/contrib/sneakers/ext.rb +12 -11
  349. data/lib/ddtrace/contrib/sneakers/integration.rb +1 -0
  350. data/lib/ddtrace/contrib/sneakers/patcher.rb +1 -0
  351. data/lib/ddtrace/contrib/sneakers/tracer.rb +3 -4
  352. data/lib/ddtrace/contrib/status_code_matcher.rb +6 -3
  353. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +1 -0
  354. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +5 -6
  355. data/lib/ddtrace/contrib/sucker_punch/ext.rb +1 -0
  356. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +5 -0
  357. data/lib/ddtrace/contrib/sucker_punch/integration.rb +1 -0
  358. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +2 -0
  359. data/lib/ddtrace/correlation.rb +3 -1
  360. data/lib/ddtrace/diagnostics/environment_logger.rb +9 -7
  361. data/lib/ddtrace/diagnostics/health.rb +1 -0
  362. data/lib/ddtrace/distributed_tracing/headers/b3.rb +1 -0
  363. data/lib/ddtrace/distributed_tracing/headers/b3_single.rb +1 -0
  364. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +1 -0
  365. data/lib/ddtrace/distributed_tracing/headers/headers.rb +2 -0
  366. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +2 -3
  367. data/lib/ddtrace/encoding.rb +3 -0
  368. data/lib/ddtrace/error.rb +78 -8
  369. data/lib/ddtrace/event.rb +1 -0
  370. data/lib/ddtrace/ext/analytics.rb +1 -0
  371. data/lib/ddtrace/ext/app_types.rb +1 -1
  372. data/lib/ddtrace/ext/correlation.rb +1 -0
  373. data/lib/ddtrace/ext/diagnostics.rb +1 -0
  374. data/lib/ddtrace/ext/distributed.rb +2 -1
  375. data/lib/ddtrace/ext/environment.rb +8 -0
  376. data/lib/ddtrace/ext/errors.rb +1 -0
  377. data/lib/ddtrace/ext/forced_tracing.rb +1 -0
  378. data/lib/ddtrace/ext/git.rb +10 -1
  379. data/lib/ddtrace/ext/http.rb +2 -1
  380. data/lib/ddtrace/ext/integration.rb +1 -0
  381. data/lib/ddtrace/ext/manual_tracing.rb +1 -0
  382. data/lib/ddtrace/ext/metrics.rb +1 -0
  383. data/lib/ddtrace/ext/net.rb +1 -0
  384. data/lib/ddtrace/ext/priority.rb +1 -0
  385. data/lib/ddtrace/ext/profiling.rb +56 -0
  386. data/lib/ddtrace/ext/runtime.rb +1 -7
  387. data/lib/ddtrace/ext/sampling.rb +1 -0
  388. data/lib/ddtrace/ext/sql.rb +1 -0
  389. data/lib/ddtrace/ext/test.rb +3 -18
  390. data/lib/ddtrace/ext/transport.rb +3 -0
  391. data/lib/ddtrace/forced_tracing.rb +3 -0
  392. data/lib/ddtrace/logger.rb +2 -1
  393. data/lib/ddtrace/metrics.rb +84 -24
  394. data/lib/ddtrace/opentelemetry/extensions.rb +2 -1
  395. data/lib/ddtrace/opentelemetry/span.rb +1 -0
  396. data/lib/ddtrace/opentracer/binary_propagator.rb +1 -0
  397. data/lib/ddtrace/opentracer/carrier.rb +1 -0
  398. data/lib/ddtrace/opentracer/distributed_headers.rb +4 -0
  399. data/lib/ddtrace/opentracer/global_tracer.rb +1 -0
  400. data/lib/ddtrace/opentracer/propagator.rb +1 -0
  401. data/lib/ddtrace/opentracer/rack_propagator.rb +1 -0
  402. data/lib/ddtrace/opentracer/scope.rb +1 -0
  403. data/lib/ddtrace/opentracer/scope_manager.rb +1 -0
  404. data/lib/ddtrace/opentracer/span.rb +3 -6
  405. data/lib/ddtrace/opentracer/span_context.rb +1 -0
  406. data/lib/ddtrace/opentracer/span_context_factory.rb +1 -0
  407. data/lib/ddtrace/opentracer/text_map_propagator.rb +1 -0
  408. data/lib/ddtrace/opentracer/thread_local_scope.rb +2 -0
  409. data/lib/ddtrace/opentracer/thread_local_scope_manager.rb +1 -0
  410. data/lib/ddtrace/opentracer/tracer.rb +1 -0
  411. data/lib/ddtrace/opentracer.rb +21 -39
  412. data/lib/ddtrace/patcher.rb +28 -6
  413. data/lib/ddtrace/pin.rb +9 -61
  414. data/lib/ddtrace/pipeline/span_filter.rb +2 -1
  415. data/lib/ddtrace/pipeline/span_processor.rb +1 -0
  416. data/lib/ddtrace/pipeline.rb +1 -0
  417. data/lib/ddtrace/profiling/backtrace_location.rb +33 -0
  418. data/lib/ddtrace/profiling/buffer.rb +42 -0
  419. data/lib/ddtrace/profiling/collectors/stack.rb +257 -0
  420. data/lib/ddtrace/profiling/encoding/profile.rb +38 -0
  421. data/lib/ddtrace/profiling/event.rb +14 -0
  422. data/lib/ddtrace/profiling/events/stack.rb +81 -0
  423. data/lib/ddtrace/profiling/exporter.rb +24 -0
  424. data/lib/ddtrace/profiling/ext/cpu.rb +67 -0
  425. data/lib/ddtrace/profiling/ext/cthread.rb +156 -0
  426. data/lib/ddtrace/profiling/ext/forking.rb +98 -0
  427. data/lib/ddtrace/profiling/flush.rb +44 -0
  428. data/lib/ddtrace/profiling/native_extension.rb +18 -0
  429. data/lib/ddtrace/profiling/pprof/builder.rb +120 -0
  430. data/lib/ddtrace/profiling/pprof/converter.rb +90 -0
  431. data/lib/ddtrace/profiling/pprof/message_set.rb +15 -0
  432. data/lib/ddtrace/profiling/pprof/payload.rb +19 -0
  433. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  434. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +82 -0
  435. data/lib/ddtrace/profiling/pprof/stack_sample.rb +117 -0
  436. data/lib/ddtrace/profiling/pprof/string_table.rb +11 -0
  437. data/lib/ddtrace/profiling/pprof/template.rb +119 -0
  438. data/lib/ddtrace/profiling/preload.rb +4 -0
  439. data/lib/ddtrace/profiling/profiler.rb +31 -0
  440. data/lib/ddtrace/profiling/recorder.rb +96 -0
  441. data/lib/ddtrace/profiling/scheduler.rb +134 -0
  442. data/lib/ddtrace/profiling/tasks/setup.rb +82 -0
  443. data/lib/ddtrace/profiling/trace_identifiers/ddtrace.rb +41 -0
  444. data/lib/ddtrace/profiling/trace_identifiers/helper.rb +46 -0
  445. data/lib/ddtrace/profiling/transport/client.rb +15 -0
  446. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +101 -0
  447. data/lib/ddtrace/profiling/transport/http/api/instance.rb +37 -0
  448. data/lib/ddtrace/profiling/transport/http/api/spec.rb +41 -0
  449. data/lib/ddtrace/profiling/transport/http/api.rb +44 -0
  450. data/lib/ddtrace/profiling/transport/http/builder.rb +29 -0
  451. data/lib/ddtrace/profiling/transport/http/client.rb +34 -0
  452. data/lib/ddtrace/profiling/transport/http/response.rb +22 -0
  453. data/lib/ddtrace/profiling/transport/http.rb +120 -0
  454. data/lib/ddtrace/profiling/transport/io/client.rb +28 -0
  455. data/lib/ddtrace/profiling/transport/io/response.rb +17 -0
  456. data/lib/ddtrace/profiling/transport/io.rb +31 -0
  457. data/lib/ddtrace/profiling/transport/parcel.rb +18 -0
  458. data/lib/ddtrace/profiling/transport/request.rb +16 -0
  459. data/lib/ddtrace/profiling/transport/response.rb +9 -0
  460. data/lib/ddtrace/profiling.rb +151 -0
  461. data/lib/ddtrace/propagation/grpc_propagator.rb +2 -0
  462. data/lib/ddtrace/propagation/http_propagator.rb +3 -2
  463. data/lib/ddtrace/quantization/hash.rb +1 -0
  464. data/lib/ddtrace/quantization/http.rb +4 -0
  465. data/lib/ddtrace/runtime/metrics.rb +21 -14
  466. data/lib/ddtrace/sampler.rb +2 -1
  467. data/lib/ddtrace/sampling/matcher.rb +1 -0
  468. data/lib/ddtrace/sampling/rate_limiter.rb +1 -0
  469. data/lib/ddtrace/sampling/rule.rb +2 -1
  470. data/lib/ddtrace/sampling/rule_sampler.rb +6 -10
  471. data/lib/ddtrace/sampling.rb +1 -0
  472. data/lib/ddtrace/span.rb +44 -19
  473. data/lib/ddtrace/sync_writer.rb +17 -15
  474. data/lib/ddtrace/tasks/exec.rb +47 -0
  475. data/lib/ddtrace/tasks/help.rb +15 -0
  476. data/lib/ddtrace/tracer.rb +48 -50
  477. data/lib/ddtrace/transport/http/adapters/net.rb +28 -8
  478. data/lib/ddtrace/transport/http/adapters/registry.rb +2 -0
  479. data/lib/ddtrace/transport/http/adapters/test.rb +1 -0
  480. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +3 -4
  481. data/lib/ddtrace/transport/http/api/endpoint.rb +1 -0
  482. data/lib/ddtrace/transport/http/api/fallbacks.rb +1 -0
  483. data/lib/ddtrace/transport/http/api/instance.rb +1 -0
  484. data/lib/ddtrace/transport/http/api/map.rb +1 -0
  485. data/lib/ddtrace/transport/http/api/spec.rb +1 -0
  486. data/lib/ddtrace/transport/http/api.rb +1 -0
  487. data/lib/ddtrace/transport/http/builder.rb +8 -1
  488. data/lib/ddtrace/transport/http/client.rb +3 -1
  489. data/lib/ddtrace/transport/http/env.rb +9 -0
  490. data/lib/ddtrace/transport/http/response.rb +1 -0
  491. data/lib/ddtrace/transport/http/statistics.rb +3 -2
  492. data/lib/ddtrace/transport/http/traces.rb +6 -6
  493. data/lib/ddtrace/transport/http.rb +51 -38
  494. data/lib/ddtrace/transport/io/client.rb +17 -9
  495. data/lib/ddtrace/transport/io/response.rb +2 -3
  496. data/lib/ddtrace/transport/io/traces.rb +10 -1
  497. data/lib/ddtrace/transport/io.rb +2 -1
  498. data/lib/ddtrace/transport/parcel.rb +7 -0
  499. data/lib/ddtrace/transport/request.rb +1 -0
  500. data/lib/ddtrace/transport/response.rb +1 -0
  501. data/lib/ddtrace/transport/statistics.rb +1 -0
  502. data/lib/ddtrace/transport/traces.rb +21 -3
  503. data/lib/ddtrace/utils/compression.rb +28 -0
  504. data/lib/ddtrace/utils/database.rb +1 -0
  505. data/lib/ddtrace/utils/forking.rb +2 -1
  506. data/lib/ddtrace/utils/object_set.rb +40 -0
  507. data/lib/ddtrace/utils/only_once.rb +41 -0
  508. data/lib/ddtrace/utils/sequence.rb +18 -0
  509. data/lib/ddtrace/utils/string_table.rb +46 -0
  510. data/lib/ddtrace/utils/time.rb +34 -2
  511. data/lib/ddtrace/utils.rb +14 -2
  512. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  513. data/lib/ddtrace/vendor/active_record/connection_specification.rb +1 -0
  514. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  515. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +117 -0
  516. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +58 -0
  517. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +136 -0
  518. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +10 -0
  519. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +9 -0
  520. data/lib/ddtrace/vendor/multipart-post/multipart.rb +13 -0
  521. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +33 -0
  522. data/lib/ddtrace/version.rb +15 -2
  523. data/lib/ddtrace/worker.rb +1 -0
  524. data/lib/ddtrace/workers/async.rb +15 -5
  525. data/lib/ddtrace/workers/loop.rb +32 -5
  526. data/lib/ddtrace/workers/polling.rb +13 -5
  527. data/lib/ddtrace/workers/queue.rb +3 -1
  528. data/lib/ddtrace/workers/runtime_metrics.rb +15 -1
  529. data/lib/ddtrace/workers/trace_writer.rb +14 -16
  530. data/lib/ddtrace/workers.rb +8 -2
  531. data/lib/ddtrace/writer.rb +14 -7
  532. data/lib/ddtrace.rb +20 -56
  533. metadata +130 -446
  534. data/.circleci/config.yml +0 -566
  535. data/.circleci/images/primary/Dockerfile-2.0.0 +0 -73
  536. data/.circleci/images/primary/Dockerfile-2.1.10 +0 -73
  537. data/.circleci/images/primary/Dockerfile-2.2.10 +0 -73
  538. data/.circleci/images/primary/Dockerfile-2.3.8 +0 -75
  539. data/.circleci/images/primary/Dockerfile-2.4.6 +0 -73
  540. data/.circleci/images/primary/Dockerfile-2.5.6 +0 -73
  541. data/.circleci/images/primary/Dockerfile-2.6.4 +0 -73
  542. data/.circleci/images/primary/Dockerfile-2.7.0 +0 -73
  543. data/.circleci/images/primary/Dockerfile-3.0.0 +0 -73
  544. data/.circleci/images/primary/Dockerfile-jruby-9.2 +0 -77
  545. data/.dockerignore +0 -1
  546. data/.env +0 -26
  547. data/.github/CODEOWNERS +0 -1
  548. data/.github/workflows/add-milestone-to-pull-requests.yml +0 -42
  549. data/.github/workflows/create-next-milestone.yml +0 -20
  550. data/.gitlab-ci.yml +0 -27
  551. data/.rspec +0 -1
  552. data/.rubocop.yml +0 -85
  553. data/.simplecov +0 -41
  554. data/Appraisals +0 -1350
  555. data/Gemfile +0 -9
  556. data/Rakefile +0 -993
  557. data/benchmarks/postgres_database.yml +0 -9
  558. data/benchmarks/sidekiq_test.rb +0 -154
  559. data/docker-compose.yml +0 -400
  560. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  561. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  562. data/lib/ddtrace/augmentation/shim.rb +0 -102
  563. data/lib/ddtrace/augmentation.rb +0 -13
  564. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +0 -38
  565. data/lib/ddtrace/contrib/cucumber/ext.rb +0 -19
  566. data/lib/ddtrace/contrib/cucumber/formatter.rb +0 -104
  567. data/lib/ddtrace/contrib/cucumber/instrumentation.rb +0 -24
  568. data/lib/ddtrace/contrib/cucumber/integration.rb +0 -45
  569. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +0 -38
  570. data/lib/ddtrace/contrib/rspec/example.rb +0 -61
  571. data/lib/ddtrace/contrib/rspec/example_group.rb +0 -61
  572. data/lib/ddtrace/contrib/rspec/ext.rb +0 -19
  573. data/lib/ddtrace/contrib/rspec/integration.rb +0 -46
  574. data/lib/ddtrace/contrib/rspec/patcher.rb +0 -25
  575. data/lib/ddtrace/environment.rb +0 -41
  576. data/lib/ddtrace/ext/ci.rb +0 -297
  577. data/lib/ddtrace/monkey.rb +0 -58
  578. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  579. data/lib/ddtrace/runtime/class_count.rb +0 -17
  580. data/lib/ddtrace/runtime/container.rb +0 -73
  581. data/lib/ddtrace/runtime/gc.rb +0 -16
  582. data/lib/ddtrace/runtime/identity.rb +0 -40
  583. data/lib/ddtrace/runtime/object_space.rb +0 -19
  584. data/lib/ddtrace/runtime/socket.rb +0 -14
  585. data/lib/ddtrace/runtime/thread_count.rb +0 -16
  586. data/tasks/release_gem.rake +0 -28
data/Rakefile DELETED
@@ -1,993 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'ddtrace/version'
3
- require 'rubocop/rake_task' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
4
- require 'rspec/core/rake_task'
5
- require 'rake/testtask'
6
- require 'appraisal'
7
- require 'yard'
8
-
9
- Dir.glob('tasks/*.rake').each { |r| import r }
10
-
11
- desc 'Run RSpec'
12
- # rubocop:disable Metrics/BlockLength
13
- namespace :spec do
14
- task all: [:main, :benchmark,
15
- :rails, :railsredis, :railsactivejob,
16
- :elasticsearch, :http, :redis, :sidekiq, :sinatra]
17
-
18
- RSpec::Core::RakeTask.new(:main) do |t, args|
19
- t.pattern = 'spec/**/*_spec.rb'
20
- t.exclude_pattern = 'spec/**/{contrib,benchmark,redis,opentracer,opentelemetry,auto_instrument}/**/*_spec.rb,'\
21
- ' spec/**/auto_instrument_spec.rb'
22
- t.rspec_opts = args.to_a.join(' ')
23
- end
24
-
25
- RSpec::Core::RakeTask.new(:benchmark) do |t, args|
26
- t.pattern = 'spec/ddtrace/benchmark/**/*_spec.rb'
27
- t.rspec_opts = args.to_a.join(' ')
28
- end
29
-
30
- RSpec::Core::RakeTask.new(:opentracer) do |t, args|
31
- t.pattern = 'spec/ddtrace/opentracer/**/*_spec.rb'
32
- t.rspec_opts = args.to_a.join(' ')
33
- end
34
-
35
- RSpec::Core::RakeTask.new(:opentelemetry) do |t, args|
36
- t.pattern = 'spec/ddtrace/opentelemetry/**/*_spec.rb'
37
- t.rspec_opts = args.to_a.join(' ')
38
- end
39
-
40
- RSpec::Core::RakeTask.new(:rails) do |t, args|
41
- t.pattern = 'spec/ddtrace/contrib/rails/**/*_spec.rb'
42
- t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache,auto_instrument}*_spec.rb'
43
- t.rspec_opts = args.to_a.join(' ')
44
- end
45
-
46
- RSpec::Core::RakeTask.new(:railsredis) do |t, args|
47
- t.pattern = 'spec/ddtrace/contrib/rails/**/*redis*_spec.rb'
48
- t.rspec_opts = args.to_a.join(' ')
49
- end
50
-
51
- RSpec::Core::RakeTask.new(:railsactivejob) do |t, args|
52
- t.pattern = 'spec/ddtrace/contrib/rails/**/*active_job*_spec.rb'
53
- t.rspec_opts = args.to_a.join(' ')
54
- end
55
-
56
- RSpec::Core::RakeTask.new(:railsdisableenv) do |t, args|
57
- t.pattern = 'spec/ddtrace/contrib/rails/**/*disable_env*_spec.rb'
58
- t.rspec_opts = args.to_a.join(' ')
59
- end
60
-
61
- RSpec::Core::RakeTask.new(:railsautoinstrument) do |t, args|
62
- t.pattern = 'spec/ddtrace/contrib/rails/**/*auto_instrument*_spec.rb'
63
- t.rspec_opts = args.to_a.join(' ')
64
- end
65
-
66
- RSpec::Core::RakeTask.new(:autoinstrument) do |t, args|
67
- t.pattern = 'spec/ddtrace/auto_instrument_spec.rb'
68
- t.rspec_opts = args.to_a.join(' ')
69
- end
70
-
71
- RSpec::Core::RakeTask.new(:contrib) do |t, args|
72
- contrib_paths = [
73
- 'analytics',
74
- 'configurable',
75
- 'configuration/*',
76
- 'configuration/resolvers/*',
77
- 'extensions',
78
- 'integration',
79
- 'patchable',
80
- 'patcher',
81
- 'registerable',
82
- 'registry',
83
- 'registry/*'
84
- ].join(',')
85
-
86
- t.pattern = "spec/**/contrib/{#{contrib_paths}}_spec.rb"
87
- t.rspec_opts = args.to_a.join(' ')
88
- end
89
-
90
- [
91
- :action_cable,
92
- :action_pack,
93
- :action_view,
94
- :active_model_serializers,
95
- :active_record,
96
- :active_support,
97
- :aws,
98
- :concurrent_ruby,
99
- :cucumber,
100
- :dalli,
101
- :delayed_job,
102
- :elasticsearch,
103
- :ethon,
104
- :excon,
105
- :faraday,
106
- :grape,
107
- :graphql,
108
- :grpc,
109
- :http,
110
- :httpclient,
111
- :httprb,
112
- :kafka,
113
- :mongodb,
114
- :mysql2,
115
- :presto,
116
- :qless,
117
- :que,
118
- :racecar,
119
- :rack,
120
- :rake,
121
- :redis,
122
- :resque,
123
- :rest_client,
124
- :rspec,
125
- :sequel,
126
- :shoryuken,
127
- :sidekiq,
128
- :sinatra,
129
- :sneakers,
130
- :sucker_punch,
131
- :suite
132
- ].each do |contrib|
133
- RSpec::Core::RakeTask.new(contrib) do |t, args|
134
- t.pattern = "spec/ddtrace/contrib/#{contrib}/**/*_spec.rb"
135
- t.rspec_opts = args.to_a.join(' ')
136
- end
137
- end
138
- end
139
-
140
- namespace :test do
141
- task all: [:main,
142
- :rails,
143
- :monkey]
144
-
145
- Rake::TestTask.new(:main) do |t|
146
- t.libs << %w[test lib]
147
- t.test_files = FileList['test/**/*_test.rb'].reject do |path|
148
- path.include?('contrib') ||
149
- path.include?('benchmark') ||
150
- path.include?('redis') ||
151
- path.include?('monkey_test.rb')
152
- end
153
- end
154
-
155
- Rake::TestTask.new(:rails) do |t|
156
- t.libs << %w[test lib]
157
- t.test_files = FileList['test/contrib/rails/**/*_test.rb']
158
- end
159
-
160
- [
161
- ].each do |contrib|
162
- Rake::TestTask.new(contrib) do |t|
163
- t.libs << %w[test lib]
164
- t.test_files = FileList["test/contrib/#{contrib}/*_test.rb"]
165
- end
166
- end
167
-
168
- Rake::TestTask.new(:monkey) do |t|
169
- t.libs << %w[test lib]
170
- t.test_files = FileList['test/monkey_test.rb']
171
- end
172
- end
173
-
174
- Rake::TestTask.new(:benchmark) do |t|
175
- t.libs << %w[test lib]
176
- t.test_files = FileList['test/benchmark_test.rb']
177
- end
178
-
179
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
180
- RuboCop::RakeTask.new(:rubocop) do |t|
181
- t.options << ['-D', '--force-exclusion']
182
- t.patterns = ['lib/**/*.rb', 'test/**/*.rb', 'spec/**/*.rb', 'Gemfile', 'Rakefile']
183
- end
184
- end
185
-
186
- YARD::Rake::YardocTask.new(:docs) do |t|
187
- t.options += ['--title', "ddtrace #{Datadog::VERSION::STRING} documentation"]
188
- t.options += ['--markup', 'markdown']
189
- t.options += ['--markup-provider', 'redcarpet']
190
- end
191
-
192
- # Deploy tasks
193
- S3_BUCKET = 'gems.datadoghq.com'.freeze
194
- S3_DIR = ENV['S3_DIR']
195
-
196
- desc 'release the docs website'
197
- task :'release:docs' => :docs do
198
- raise 'Missing environment variable S3_DIR' if !S3_DIR || S3_DIR.empty?
199
- sh "aws s3 cp --recursive doc/ s3://#{S3_BUCKET}/#{S3_DIR}/docs/"
200
- end
201
-
202
- # Declare a command for execution.
203
- # Jobs are parallelized if running in CI.
204
- def declare(*args)
205
- total_executors = ENV.key?('CIRCLE_NODE_TOTAL') ? ENV['CIRCLE_NODE_TOTAL'].to_i : nil
206
- current_executor = ENV.key?('CIRCLE_NODE_INDEX') ? ENV['CIRCLE_NODE_INDEX'].to_i : nil
207
-
208
- if total_executors && current_executor && total_executors > 1
209
- @execution_count ||= 0
210
- @execution_count += 1
211
- sh(*args) if @execution_count % total_executors == current_executor
212
- else
213
- sh(*args)
214
- end
215
- end
216
-
217
- desc 'CI task; it runs all tests for current version of Ruby'
218
- task :ci do
219
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(Datadog::VERSION::MINIMUM_RUBY_VERSION)
220
- raise NotImplementedError, "Ruby versions < #{Datadog::VERSION::MINIMUM_RUBY_VERSION} are not supported!"
221
- elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
222
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
223
- # Main library
224
- declare 'bundle exec rake test:main'
225
- declare 'bundle exec rake spec:main'
226
- declare 'bundle exec rake spec:contrib'
227
-
228
- if RUBY_PLATFORM != 'java'
229
- # Contrib minitests
230
- declare 'bundle exec appraisal contrib-old rake test:monkey'
231
- # Contrib specs
232
- declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
233
- declare 'bundle exec appraisal contrib-old rake spec:active_record'
234
- declare 'bundle exec appraisal contrib-old rake spec:active_support'
235
- declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
236
- declare 'bundle exec appraisal contrib-old rake spec:aws'
237
- declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
238
- declare 'bundle exec appraisal contrib-old rake spec:dalli'
239
- declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
240
- declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
241
- declare 'bundle exec appraisal contrib-old rake spec:ethon'
242
- declare 'bundle exec appraisal contrib-old rake spec:excon'
243
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
244
- declare 'bundle exec appraisal contrib-old rake spec:http'
245
- declare 'bundle exec appraisal contrib-old rake spec:httpclient'
246
- declare 'bundle exec appraisal contrib-old rake spec:httprb'
247
- declare 'bundle exec appraisal contrib-old rake spec:mongodb'
248
- declare 'bundle exec appraisal contrib-old rake spec:mysql2'
249
- declare 'bundle exec appraisal contrib-old rake spec:rack'
250
- declare 'bundle exec appraisal contrib-old rake spec:rake'
251
- declare 'bundle exec appraisal contrib-old rake spec:redis'
252
- declare 'bundle exec appraisal contrib-old rake spec:resque'
253
- declare 'bundle exec appraisal contrib-old rake spec:rest_client'
254
- declare 'bundle exec appraisal contrib-old rake spec:rspec'
255
- declare 'bundle exec appraisal contrib-old rake spec:sequel'
256
- declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
257
- declare 'bundle exec appraisal contrib-old rake spec:sinatra'
258
- declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
259
- declare 'bundle exec appraisal contrib-old rake spec:suite'
260
- # Rails minitests
261
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
262
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
263
- declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
264
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
265
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
266
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
267
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
268
- declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
269
- # Rails specs
270
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
271
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
272
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
273
- # Rails suite specs
274
- declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
275
- declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
276
- declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
277
- declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
278
- end
279
- elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
280
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.0')
281
- # Main library
282
- declare 'bundle exec rake test:main'
283
- declare 'bundle exec rake spec:main'
284
- declare 'bundle exec rake spec:contrib'
285
- declare 'bundle exec rake spec:opentracer'
286
-
287
- if RUBY_PLATFORM != 'java'
288
- # Contrib minitests
289
- declare 'bundle exec appraisal contrib-old rake test:monkey'
290
- # Contrib specs
291
- declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
292
- declare 'bundle exec appraisal contrib-old rake spec:active_record'
293
- declare 'bundle exec appraisal contrib-old rake spec:active_support'
294
- declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
295
- declare 'bundle exec appraisal contrib-old rake spec:aws'
296
- declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
297
- declare 'bundle exec appraisal contrib-old rake spec:dalli'
298
- declare 'bundle exec appraisal contrib-old rake spec:delayed_job'
299
- declare 'bundle exec appraisal contrib-old rake spec:elasticsearch'
300
- declare 'bundle exec appraisal contrib-old rake spec:ethon'
301
- declare 'bundle exec appraisal contrib-old rake spec:excon'
302
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
303
- declare 'bundle exec appraisal contrib-old rake spec:http'
304
- declare 'bundle exec appraisal contrib-old rake spec:httpclient'
305
- declare 'bundle exec appraisal contrib-old rake spec:httprb'
306
- declare 'bundle exec appraisal contrib-old rake spec:kafka'
307
- declare 'bundle exec appraisal contrib-old rake spec:mongodb'
308
- declare 'bundle exec appraisal contrib-old rake spec:mysql2'
309
- declare 'bundle exec appraisal contrib-old rake spec:presto'
310
- declare 'bundle exec appraisal contrib-old rake spec:rack'
311
- declare 'bundle exec appraisal contrib-old rake spec:rake'
312
- declare 'bundle exec appraisal contrib-old rake spec:redis'
313
- declare 'bundle exec appraisal contrib-old rake spec:resque'
314
- declare 'bundle exec appraisal contrib-old rake spec:rest_client'
315
- declare 'bundle exec appraisal contrib-old rake spec:rspec'
316
- declare 'bundle exec appraisal contrib-old rake spec:sequel'
317
- declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
318
- declare 'bundle exec appraisal contrib-old rake spec:sinatra'
319
- declare 'bundle exec appraisal contrib-old rake spec:sucker_punch'
320
- declare 'bundle exec appraisal contrib-old rake spec:suite'
321
- # Rails minitests
322
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
323
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
324
- declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
325
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
326
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
327
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
328
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
329
- declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
330
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
331
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
332
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
333
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
334
- declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
335
- # Rails specs
336
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
337
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
338
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
339
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
340
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
341
- # Rails suite specs
342
- declare 'bundle exec appraisal rails32-postgres rake spec:action_pack'
343
- declare 'bundle exec appraisal rails32-postgres rake spec:action_view'
344
- declare 'bundle exec appraisal rails32-mysql2 rake spec:active_record'
345
- declare 'bundle exec appraisal rails32-postgres rake spec:active_support'
346
- end
347
- elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION)\
348
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
349
- # Main library
350
- declare 'bundle exec rake test:main'
351
- declare 'bundle exec rake spec:main'
352
- declare 'bundle exec rake spec:contrib'
353
- declare 'bundle exec rake spec:opentracer'
354
-
355
- if RUBY_PLATFORM != 'java'
356
- # Contrib minitests
357
- # Contrib specs
358
- declare 'bundle exec appraisal contrib rake spec:action_pack'
359
- declare 'bundle exec appraisal contrib rake spec:action_view'
360
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
361
- declare 'bundle exec appraisal contrib rake spec:active_record'
362
- declare 'bundle exec appraisal contrib rake spec:active_support'
363
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
364
- declare 'bundle exec appraisal contrib rake spec:aws'
365
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
366
- declare 'bundle exec appraisal contrib rake spec:dalli'
367
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
368
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
369
- declare 'bundle exec appraisal contrib rake spec:ethon'
370
- declare 'bundle exec appraisal contrib rake spec:excon'
371
- declare 'bundle exec appraisal contrib rake spec:faraday'
372
- declare 'bundle exec appraisal contrib rake spec:grape'
373
- declare 'bundle exec appraisal contrib rake spec:graphql'
374
- declare 'bundle exec appraisal contrib rake spec:grpc'
375
- declare 'bundle exec appraisal contrib rake spec:http'
376
- declare 'bundle exec appraisal contrib rake spec:httpclient'
377
- declare 'bundle exec appraisal contrib rake spec:httprb'
378
- declare 'bundle exec appraisal contrib rake spec:kafka'
379
- declare 'bundle exec appraisal contrib rake spec:mongodb'
380
- declare 'bundle exec appraisal contrib rake spec:mysql2'
381
- declare 'bundle exec appraisal contrib rake spec:presto'
382
- declare 'bundle exec appraisal contrib rake spec:qless'
383
- declare 'bundle exec appraisal contrib rake spec:que'
384
- declare 'bundle exec appraisal contrib rake spec:racecar'
385
- declare 'bundle exec appraisal contrib rake spec:rack'
386
- declare 'bundle exec appraisal contrib rake spec:rake'
387
- declare 'bundle exec appraisal contrib rake spec:redis'
388
- declare 'bundle exec appraisal contrib rake spec:resque'
389
- declare 'bundle exec appraisal contrib rake spec:rest_client'
390
- declare 'bundle exec appraisal contrib rake spec:rspec'
391
- declare 'bundle exec appraisal contrib rake spec:sequel'
392
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
393
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
394
- declare 'bundle exec appraisal contrib rake spec:sinatra'
395
- declare 'bundle exec appraisal contrib rake spec:sneakers'
396
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
397
- declare 'bundle exec appraisal contrib rake spec:suite'
398
- # Rails minitests
399
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
400
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
401
- declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
402
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
403
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
404
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
405
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
406
- declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
407
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
408
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
409
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
410
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
411
- declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
412
- declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
413
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
414
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
415
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
416
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
417
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
418
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
419
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
420
- # Rails specs
421
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
422
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
423
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
424
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
425
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
426
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
427
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
428
- end
429
- elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
430
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.4.0')
431
- # Main library
432
- declare 'bundle exec rake test:main'
433
- declare 'bundle exec rake spec:main'
434
- declare 'bundle exec rake spec:contrib'
435
- declare 'bundle exec rake spec:opentracer'
436
-
437
- if RUBY_PLATFORM != 'java'
438
- # Contrib minitests
439
- # Contrib specs
440
- declare 'bundle exec appraisal contrib rake spec:action_pack'
441
- declare 'bundle exec appraisal contrib rake spec:action_view'
442
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
443
- declare 'bundle exec appraisal contrib rake spec:active_record'
444
- declare 'bundle exec appraisal contrib rake spec:active_support'
445
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
446
- declare 'bundle exec appraisal contrib rake spec:aws'
447
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
448
- declare 'bundle exec appraisal contrib rake spec:dalli'
449
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
450
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
451
- declare 'bundle exec appraisal contrib rake spec:ethon'
452
- declare 'bundle exec appraisal contrib rake spec:excon'
453
- declare 'bundle exec appraisal contrib rake spec:faraday'
454
- declare 'bundle exec appraisal contrib rake spec:grape'
455
- declare 'bundle exec appraisal contrib rake spec:graphql'
456
- declare 'bundle exec appraisal contrib rake spec:grpc'
457
- declare 'bundle exec appraisal contrib rake spec:http'
458
- declare 'bundle exec appraisal contrib rake spec:httpclient'
459
- declare 'bundle exec appraisal contrib rake spec:httprb'
460
- declare 'bundle exec appraisal contrib rake spec:kafka'
461
- declare 'bundle exec appraisal contrib rake spec:mongodb'
462
- declare 'bundle exec appraisal contrib rake spec:mysql2'
463
- declare 'bundle exec appraisal contrib rake spec:presto'
464
- declare 'bundle exec appraisal contrib rake spec:que'
465
- declare 'bundle exec appraisal contrib rake spec:racecar'
466
- declare 'bundle exec appraisal contrib rake spec:rack'
467
- declare 'bundle exec appraisal contrib rake spec:rake'
468
- declare 'bundle exec appraisal contrib rake spec:redis'
469
- declare 'bundle exec appraisal contrib rake spec:resque'
470
- declare 'bundle exec appraisal contrib rake spec:rest_client'
471
- declare 'bundle exec appraisal contrib rake spec:rspec'
472
- declare 'bundle exec appraisal contrib rake spec:sequel'
473
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
474
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
475
- declare 'bundle exec appraisal contrib rake spec:sinatra'
476
- declare 'bundle exec appraisal contrib rake spec:sneakers'
477
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
478
- declare 'bundle exec appraisal contrib rake spec:suite'
479
- # Contrib specs with old gem versions
480
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
481
- # Rails minitests
482
- declare 'bundle exec appraisal rails30-postgres rake test:rails'
483
- declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
484
- declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
485
- declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
486
- declare 'bundle exec appraisal rails32-postgres rake test:rails'
487
- declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
488
- declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
489
- declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
490
- declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
491
- declare 'bundle exec appraisal rails4-postgres rake test:rails'
492
- declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
493
- declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
494
- declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
495
- declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
496
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
497
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
498
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
499
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
500
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
501
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
502
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
503
- # Rails specs
504
- declare 'bundle exec appraisal rails30-postgres rake spec:rails'
505
- declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
506
- declare 'bundle exec appraisal rails32-postgres rake spec:rails'
507
- declare 'bundle exec appraisal rails4-mysql2 rake spec:rails'
508
- declare 'bundle exec appraisal rails4-postgres rake spec:rails'
509
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
510
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
511
-
512
- # explicitly test resque-2x compatability
513
- declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
514
- declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
515
- end
516
- elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
517
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0')
518
- # Main library
519
- declare 'bundle exec rake test:main'
520
- declare 'bundle exec rake spec:main'
521
- declare 'bundle exec rake spec:contrib'
522
- declare 'bundle exec rake spec:opentracer'
523
- declare 'bundle exec rake spec:opentelemetry'
524
-
525
- if RUBY_PLATFORM != 'java'
526
- # Contrib minitests
527
- # Contrib specs
528
- declare 'bundle exec appraisal contrib rake spec:action_pack'
529
- declare 'bundle exec appraisal contrib rake spec:action_view'
530
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
531
- declare 'bundle exec appraisal contrib rake spec:active_record'
532
- declare 'bundle exec appraisal contrib rake spec:active_support'
533
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
534
- declare 'bundle exec appraisal contrib rake spec:aws'
535
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
536
- declare 'bundle exec appraisal contrib rake spec:dalli'
537
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
538
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
539
- declare 'bundle exec appraisal contrib rake spec:ethon'
540
- declare 'bundle exec appraisal contrib rake spec:excon'
541
- declare 'bundle exec appraisal contrib rake spec:faraday'
542
- declare 'bundle exec appraisal contrib rake spec:grape'
543
- declare 'bundle exec appraisal contrib rake spec:graphql'
544
- declare 'bundle exec appraisal contrib rake spec:grpc'
545
- declare 'bundle exec appraisal contrib rake spec:http'
546
- declare 'bundle exec appraisal contrib rake spec:httpclient'
547
- declare 'bundle exec appraisal contrib rake spec:httprb'
548
- declare 'bundle exec appraisal contrib rake spec:kafka'
549
- declare 'bundle exec appraisal contrib rake spec:mongodb'
550
- declare 'bundle exec appraisal contrib rake spec:mysql2'
551
- declare 'bundle exec appraisal contrib rake spec:presto'
552
- declare 'bundle exec appraisal contrib rake spec:que'
553
- declare 'bundle exec appraisal contrib rake spec:racecar'
554
- declare 'bundle exec appraisal contrib rake spec:rack'
555
- declare 'bundle exec appraisal contrib rake spec:rake'
556
- declare 'bundle exec appraisal contrib rake spec:redis'
557
- declare 'bundle exec appraisal contrib rake spec:resque'
558
- declare 'bundle exec appraisal contrib rake spec:rest_client'
559
- declare 'bundle exec appraisal contrib rake spec:rspec'
560
- declare 'bundle exec appraisal contrib rake spec:sequel'
561
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
562
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
563
- declare 'bundle exec appraisal contrib rake spec:sinatra'
564
- declare 'bundle exec appraisal contrib rake spec:sneakers'
565
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
566
- declare 'bundle exec appraisal contrib rake spec:suite'
567
- # Contrib specs with old gem versions
568
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
569
- # Rails minitests
570
- # We only test Rails 5+ because older versions require Bundler < 2.0
571
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
572
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
573
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
574
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
575
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
576
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
577
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
578
- # Rails specs
579
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
580
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
581
-
582
- # explicitly test resque-2x compatability
583
- declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
584
- declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
585
-
586
- # explicitly test cucumber compatibility
587
- declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
588
- declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
589
- end
590
- elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
591
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
592
- # Main library
593
- declare 'bundle exec rake test:main'
594
- declare 'bundle exec rake spec:main'
595
- declare 'bundle exec rake spec:contrib'
596
- declare 'bundle exec rake spec:opentracer'
597
- declare 'bundle exec rake spec:opentelemetry'
598
- # Contrib minitests
599
- # Contrib specs
600
- declare 'bundle exec appraisal contrib rake spec:action_pack'
601
- declare 'bundle exec appraisal contrib rake spec:action_view'
602
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
603
- declare 'bundle exec appraisal contrib rake spec:active_record'
604
- declare 'bundle exec appraisal contrib rake spec:active_support'
605
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
606
- declare 'bundle exec appraisal contrib rake spec:aws'
607
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
608
- declare 'bundle exec appraisal contrib rake spec:cucumber'
609
- declare 'bundle exec appraisal contrib rake spec:dalli'
610
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
611
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
612
- declare 'bundle exec appraisal contrib rake spec:ethon'
613
- declare 'bundle exec appraisal contrib rake spec:excon'
614
- declare 'bundle exec appraisal contrib rake spec:faraday'
615
- declare 'bundle exec appraisal contrib rake spec:grape'
616
- declare 'bundle exec appraisal contrib rake spec:graphql'
617
- declare 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
618
- declare 'bundle exec appraisal contrib rake spec:http'
619
- declare 'bundle exec appraisal contrib rake spec:httpclient'
620
- declare 'bundle exec appraisal contrib rake spec:httprb'
621
- declare 'bundle exec appraisal contrib rake spec:kafka'
622
- declare 'bundle exec appraisal contrib rake spec:mongodb'
623
- declare 'bundle exec appraisal contrib rake spec:mysql2' if RUBY_PLATFORM != 'java' # built-in jdbc is used instead
624
- declare 'bundle exec appraisal contrib rake spec:presto'
625
- declare 'bundle exec appraisal contrib rake spec:qless'
626
- declare 'bundle exec appraisal contrib rake spec:que'
627
- declare 'bundle exec appraisal contrib rake spec:racecar'
628
- declare 'bundle exec appraisal contrib rake spec:rack'
629
- declare 'bundle exec appraisal contrib rake spec:rake'
630
- declare 'bundle exec appraisal contrib rake spec:redis'
631
- declare 'bundle exec appraisal contrib rake spec:resque'
632
- declare 'bundle exec appraisal contrib rake spec:rest_client'
633
- declare 'bundle exec appraisal contrib rake spec:rspec'
634
- declare 'bundle exec appraisal contrib rake spec:sequel'
635
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
636
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
637
- declare 'bundle exec appraisal contrib rake spec:sinatra'
638
- declare 'bundle exec appraisal contrib rake spec:sneakers'
639
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
640
- declare 'bundle exec appraisal contrib rake spec:suite'
641
- # Contrib specs with old gem versions
642
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
643
- # Rails minitests
644
- # We only test Rails 5+ because older versions require Bundler < 2.0
645
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
646
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
647
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
648
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
649
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
650
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
651
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
652
- declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
653
- declare 'bundle exec appraisal rails6-postgres rake test:rails'
654
- declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
655
- declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
656
- declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
657
- declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
658
- declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
659
- # Rails specs
660
- declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
661
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
662
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
663
- declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
664
- declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
665
- declare 'bundle exec appraisal rails6-postgres rake spec:rails'
666
- declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
667
- declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
668
- declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
669
- declare 'bundle exec appraisal rails61-postgres rake spec:rails'
670
- declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
671
- declare 'bundle exec appraisal rails61-postgres rake test:rails'
672
- declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
673
- declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
674
-
675
- # explicitly test resque-2x compatability
676
- declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
677
- declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
678
-
679
- # explicitly test cucumber compatibility
680
- declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
681
- declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
682
- declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
683
- elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
684
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
685
- # Main library
686
- declare 'bundle exec rake test:main'
687
- declare 'bundle exec rake spec:main'
688
- declare 'bundle exec rake spec:contrib'
689
- declare 'bundle exec rake spec:opentracer'
690
- declare 'bundle exec rake spec:opentelemetry'
691
-
692
- if RUBY_PLATFORM != 'java'
693
- # Contrib minitests
694
- # Contrib specs
695
- declare 'bundle exec appraisal contrib rake spec:action_pack'
696
- declare 'bundle exec appraisal contrib rake spec:action_view'
697
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
698
- declare 'bundle exec appraisal contrib rake spec:active_record'
699
- declare 'bundle exec appraisal contrib rake spec:active_support'
700
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
701
- declare 'bundle exec appraisal contrib rake spec:aws'
702
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
703
- declare 'bundle exec appraisal contrib rake spec:cucumber'
704
- declare 'bundle exec appraisal contrib rake spec:dalli'
705
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
706
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
707
- declare 'bundle exec appraisal contrib rake spec:ethon'
708
- declare 'bundle exec appraisal contrib rake spec:excon'
709
- declare 'bundle exec appraisal contrib rake spec:faraday'
710
- declare 'bundle exec appraisal contrib rake spec:grape'
711
- declare 'bundle exec appraisal contrib rake spec:graphql'
712
- declare 'bundle exec appraisal contrib rake spec:grpc'
713
- declare 'bundle exec appraisal contrib rake spec:http'
714
- declare 'bundle exec appraisal contrib rake spec:httpclient'
715
- declare 'bundle exec appraisal contrib rake spec:httprb'
716
- declare 'bundle exec appraisal contrib rake spec:kafka'
717
- declare 'bundle exec appraisal contrib rake spec:mongodb'
718
- declare 'bundle exec appraisal contrib rake spec:mysql2'
719
- declare 'bundle exec appraisal contrib rake spec:presto'
720
- declare 'bundle exec appraisal contrib rake spec:qless'
721
- declare 'bundle exec appraisal contrib rake spec:que'
722
- declare 'bundle exec appraisal contrib rake spec:racecar'
723
- declare 'bundle exec appraisal contrib rake spec:rack'
724
- declare 'bundle exec appraisal contrib rake spec:rake'
725
- declare 'bundle exec appraisal contrib rake spec:redis'
726
- declare 'bundle exec appraisal contrib rake spec:resque'
727
- declare 'bundle exec appraisal contrib rake spec:rest_client'
728
- declare 'bundle exec appraisal contrib rake spec:rspec'
729
- declare 'bundle exec appraisal contrib rake spec:sequel'
730
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
731
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
732
- declare 'bundle exec appraisal contrib rake spec:sinatra'
733
- declare 'bundle exec appraisal contrib rake spec:sneakers'
734
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
735
- declare 'bundle exec appraisal contrib rake spec:suite'
736
-
737
- # Contrib specs with old gem versions
738
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
739
- # Rails minitests
740
- # We only test Rails 5+ because older versions require Bundler < 2.0
741
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
742
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
743
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
744
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
745
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
746
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
747
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
748
- declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
749
- declare 'bundle exec appraisal rails6-postgres rake test:rails'
750
- declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
751
- declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
752
- declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
753
- declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
754
- declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
755
- # Rails specs
756
- declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
757
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
758
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
759
- declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
760
- declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
761
- declare 'bundle exec appraisal rails6-postgres rake spec:rails'
762
- declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
763
- declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
764
- declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
765
- declare 'bundle exec appraisal rails61-postgres rake spec:rails'
766
- declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
767
- declare 'bundle exec appraisal rails61-postgres rake test:rails'
768
- declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
769
- declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
770
-
771
- # explicitly test resque-2x compatability
772
- declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
773
- declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
774
-
775
- # explicitly test cucumber compatibility
776
- declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
777
- declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
778
- declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
779
- end
780
- elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION) \
781
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0.0')
782
- # Main library
783
- declare 'bundle exec rake test:main'
784
- declare 'bundle exec rake spec:main'
785
- declare 'bundle exec rake spec:contrib'
786
- declare 'bundle exec rake spec:opentracer'
787
- declare 'bundle exec rake spec:opentelemetry'
788
-
789
- if RUBY_PLATFORM != 'java'
790
- # Contrib minitests
791
- # Contrib specs
792
- declare 'bundle exec appraisal contrib rake spec:action_pack'
793
- declare 'bundle exec appraisal contrib rake spec:action_view'
794
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
795
- declare 'bundle exec appraisal contrib rake spec:active_record'
796
- declare 'bundle exec appraisal contrib rake spec:active_support'
797
- declare 'bundle exec appraisal contrib rake spec:autoinstrument'
798
- declare 'bundle exec appraisal contrib rake spec:aws'
799
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
800
- declare 'bundle exec appraisal contrib rake spec:cucumber'
801
- declare 'bundle exec appraisal contrib rake spec:dalli'
802
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
803
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
804
- declare 'bundle exec appraisal contrib rake spec:ethon'
805
- declare 'bundle exec appraisal contrib rake spec:excon'
806
- declare 'bundle exec appraisal contrib rake spec:faraday'
807
- declare 'bundle exec appraisal contrib rake spec:grape'
808
- declare 'bundle exec appraisal contrib rake spec:graphql'
809
- declare 'bundle exec appraisal contrib rake spec:grpc'
810
- declare 'bundle exec appraisal contrib rake spec:http'
811
- declare 'bundle exec appraisal contrib rake spec:httpclient'
812
- declare 'bundle exec appraisal contrib rake spec:httprb'
813
- declare 'bundle exec appraisal contrib rake spec:kafka'
814
- declare 'bundle exec appraisal contrib rake spec:mongodb'
815
- declare 'bundle exec appraisal contrib rake spec:mysql2'
816
- declare 'bundle exec appraisal contrib rake spec:presto'
817
- declare 'bundle exec appraisal contrib rake spec:qless'
818
- declare 'bundle exec appraisal contrib rake spec:que'
819
- declare 'bundle exec appraisal contrib rake spec:racecar'
820
- declare 'bundle exec appraisal contrib rake spec:rack'
821
- declare 'bundle exec appraisal contrib rake spec:rake'
822
- declare 'bundle exec appraisal contrib rake spec:redis'
823
- declare 'bundle exec appraisal contrib rake spec:resque'
824
- declare 'bundle exec appraisal contrib rake spec:rest_client'
825
- declare 'bundle exec appraisal contrib rake spec:rspec'
826
- declare 'bundle exec appraisal contrib rake spec:sequel'
827
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
828
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
829
- declare 'bundle exec appraisal contrib rake spec:sinatra'
830
- declare 'bundle exec appraisal contrib rake spec:sneakers'
831
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
832
- declare 'bundle exec appraisal contrib rake spec:suite'
833
-
834
- # Contrib specs with old gem versions
835
- declare 'bundle exec appraisal contrib-old rake spec:faraday'
836
- # Rails minitests
837
- # We only test Rails 5+ because older versions require Bundler < 2.0
838
- declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
839
- declare 'bundle exec appraisal rails5-postgres rake test:rails'
840
- declare 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
841
- declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
842
- declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
843
- declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
844
- declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
845
- declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
846
- declare 'bundle exec appraisal rails6-postgres rake test:rails'
847
- declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
848
- declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
849
- declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
850
- declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
851
- declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
852
- # Rails specs
853
- declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
854
- declare 'bundle exec appraisal rails5-postgres rake spec:rails'
855
- declare 'bundle exec appraisal rails6-mysql2 rake spec:action_cable'
856
- declare 'bundle exec appraisal rails6-mysql2 rake spec:rails'
857
- declare 'bundle exec appraisal rails6-postgres rake spec:rails'
858
- declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
859
- declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
860
- declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
861
- declare 'bundle exec appraisal rails61-postgres rake spec:rails'
862
- declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
863
- declare 'bundle exec appraisal rails61-postgres rake test:rails'
864
- declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
865
- declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
866
-
867
- # explicitly test resque-2x compatability
868
- declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
869
- declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
870
-
871
- # explicitly test cucumber compatibility
872
- declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
873
- declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
874
- declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
875
- end
876
- elsif Gem::Version.new('3.0.0') <= Gem::Version.new(RUBY_VERSION)
877
- # Main library
878
- declare 'bundle exec rake test:main'
879
- declare 'bundle exec rake spec:main'
880
- declare 'bundle exec rake spec:contrib'
881
- declare 'bundle exec rake spec:opentracer'
882
- declare 'bundle exec rake spec:opentelemetry'
883
-
884
- if RUBY_PLATFORM != 'java'
885
- # Contrib minitests
886
- # Contrib specs
887
- declare 'bundle exec appraisal contrib rake spec:action_pack'
888
- declare 'bundle exec appraisal contrib rake spec:action_view'
889
- declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
890
- declare 'bundle exec appraisal contrib rake spec:active_record'
891
- declare 'bundle exec appraisal contrib rake spec:active_support'
892
- declare 'bundle exec appraisal contrib rake spec:aws'
893
- declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
894
- declare 'bundle exec appraisal contrib rake spec:cucumber'
895
- declare 'bundle exec appraisal contrib rake spec:dalli'
896
- declare 'bundle exec appraisal contrib rake spec:delayed_job'
897
- declare 'bundle exec appraisal contrib rake spec:elasticsearch'
898
- declare 'bundle exec appraisal contrib rake spec:ethon'
899
- declare 'bundle exec appraisal contrib rake spec:excon'
900
- declare 'bundle exec appraisal contrib rake spec:faraday'
901
- declare 'bundle exec appraisal contrib rake spec:grape'
902
- declare 'bundle exec appraisal contrib rake spec:graphql'
903
- # declare 'bundle exec appraisal contrib rake spec:grpc' # Pending https://github.com/protocolbuffers/protobuf/issues/7922
904
- declare 'bundle exec appraisal contrib rake spec:http'
905
- declare 'bundle exec appraisal contrib rake spec:httpclient'
906
- declare 'bundle exec appraisal contrib rake spec:httprb'
907
- declare 'bundle exec appraisal contrib rake spec:kafka'
908
- declare 'bundle exec appraisal contrib rake spec:mongodb'
909
- declare 'bundle exec appraisal contrib rake spec:mysql2'
910
- declare 'bundle exec appraisal contrib rake spec:presto'
911
- declare 'bundle exec appraisal contrib rake spec:qless'
912
- declare 'bundle exec appraisal contrib rake spec:que'
913
- # declare 'bundle exec appraisal contrib rake spec:racecar' # Pending release of our fix: https://github.com/appsignal/rdkafka-ruby/pull/144
914
- declare 'bundle exec appraisal contrib rake spec:rack'
915
- declare 'bundle exec appraisal contrib rake spec:rake'
916
- declare 'bundle exec appraisal contrib rake spec:redis'
917
- declare 'bundle exec appraisal contrib rake spec:resque'
918
- declare 'bundle exec appraisal contrib rake spec:rest_client'
919
- declare 'bundle exec appraisal contrib rake spec:rspec'
920
- declare 'bundle exec appraisal contrib rake spec:sequel'
921
- declare 'bundle exec appraisal contrib rake spec:shoryuken'
922
- declare 'bundle exec appraisal contrib rake spec:sidekiq'
923
- declare 'bundle exec appraisal contrib rake spec:sinatra'
924
- declare 'bundle exec appraisal contrib rake spec:sneakers'
925
- declare 'bundle exec appraisal contrib rake spec:sucker_punch'
926
- declare 'bundle exec appraisal contrib rake spec:suite'
927
-
928
- # Rails
929
- declare 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
930
- declare 'bundle exec appraisal rails61-mysql2 rake spec:rails'
931
- declare 'bundle exec appraisal rails61-mysql2 rake test:rails'
932
- declare 'bundle exec appraisal rails61-postgres rake spec:rails'
933
- declare 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
934
- declare 'bundle exec appraisal rails61-postgres rake test:rails'
935
- declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
936
- declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
937
-
938
- # explicitly test resque-2x compatability
939
- declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
940
- declare 'bundle exec appraisal resque2-redis4 rake spec:resque'
941
-
942
- # explicitly test cucumber compatibility
943
- declare 'bundle exec appraisal cucumber3 rake spec:cucumber'
944
- declare 'bundle exec appraisal cucumber4 rake spec:cucumber'
945
- declare 'bundle exec appraisal cucumber5 rake spec:cucumber'
946
- end
947
- end
948
- end
949
-
950
- namespace :coverage do
951
- # Generates one global report for all tracer tests
952
- task :report do
953
- require 'simplecov'
954
-
955
- resultset_files = Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/.resultset.json"] +
956
- Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/**/.resultset.json"]
957
-
958
- SimpleCov.collate resultset_files do
959
- coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report"
960
- if ENV['CI'] == 'true'
961
- require 'codecov'
962
- formatter SimpleCov::Formatter::MultiFormatter.new([SimpleCov::Formatter::HTMLFormatter,
963
- SimpleCov::Formatter::Codecov])
964
- else
965
- formatter SimpleCov::Formatter::HTMLFormatter
966
- end
967
- end
968
- end
969
-
970
- # Generates one report for each Ruby version
971
- task :report_per_ruby_version do
972
- require 'simplecov'
973
-
974
- versions = Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/*"].map { |f| File.basename(f) }
975
- versions.map do |version|
976
- puts "Generating report for: #{version}"
977
- SimpleCov.collate Dir["#{ENV.fetch('COVERAGE_DIR', 'coverage')}/versions/#{version}/**/.resultset.json"] do
978
- coverage_dir "#{ENV.fetch('COVERAGE_DIR', 'coverage')}/report/versions/#{version}"
979
- formatter SimpleCov::Formatter::HTMLFormatter
980
- end
981
- end
982
- end
983
- end
984
-
985
- namespace :changelog do
986
- task :format do
987
- require 'pimpmychangelog'
988
-
989
- PimpMyChangelog::CLI.run!
990
- end
991
- end
992
-
993
- task default: :test