ddtrace 0.49.0 → 0.50.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 (377) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +49 -73
  3. data/.circleci/images/primary/{Dockerfile-truffleruby-21.0.0 → Dockerfile-truffleruby-21.1.0} +1 -1
  4. data/.gitignore +0 -2
  5. data/.rubocop.yml +0 -8
  6. data/.rubocop_todo.yml +7 -7
  7. data/Appraisals +1 -107
  8. data/CHANGELOG.md +47 -0
  9. data/Rakefile +278 -333
  10. data/benchmarks/data/profiler-submission-marshal.gz +0 -0
  11. data/benchmarks/profiler_submission.rb +93 -0
  12. data/ddtrace.gemspec +1 -1
  13. data/docker-compose.yml +4 -34
  14. data/docs/GettingStarted.md +24 -9
  15. data/gemfiles/jruby_9.2.0.0_contrib.gemfile.lock +1 -1
  16. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile.lock +1 -1
  17. data/gemfiles/jruby_9.2.0.0_core_old.gemfile.lock +1 -1
  18. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile.lock +1 -1
  19. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile.lock +1 -1
  20. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile.lock +1 -1
  21. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile.lock +1 -1
  22. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile.lock +1 -1
  23. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile.lock +1 -1
  24. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile.lock +1 -1
  25. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile.lock +1 -1
  26. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile.lock +1 -1
  27. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile.lock +1 -1
  28. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile.lock +1 -1
  29. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile.lock +1 -1
  30. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile.lock +1 -1
  31. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile.lock +1 -1
  32. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile.lock +1 -1
  33. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile.lock +1 -1
  34. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile.lock +1 -1
  35. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile.lock +1 -1
  36. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile.lock +1 -1
  37. data/gemfiles/jruby_9.2.11.1_contrib.gemfile.lock +1 -1
  38. data/gemfiles/jruby_9.2.11.1_contrib_old.gemfile.lock +1 -1
  39. data/gemfiles/jruby_9.2.11.1_core_old.gemfile.lock +1 -1
  40. data/gemfiles/jruby_9.2.11.1_cucumber3.gemfile.lock +1 -1
  41. data/gemfiles/jruby_9.2.11.1_cucumber4.gemfile.lock +1 -1
  42. data/gemfiles/jruby_9.2.11.1_cucumber5.gemfile.lock +1 -1
  43. data/gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile.lock +1 -1
  44. data/gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile.lock +1 -1
  45. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile.lock +1 -1
  46. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile.lock +1 -1
  47. data/gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile.lock +1 -1
  48. data/gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile.lock +1 -1
  49. data/gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile.lock +1 -1
  50. data/gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile.lock +1 -1
  51. data/gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile.lock +1 -1
  52. data/gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile.lock +1 -1
  53. data/gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile.lock +1 -1
  54. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile.lock +1 -1
  55. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile.lock +1 -1
  56. data/gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile.lock +1 -1
  57. data/gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile.lock +1 -1
  58. data/gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile.lock +1 -1
  59. data/gemfiles/ruby_2.1.10_contrib_old.gemfile.lock +1 -1
  60. data/gemfiles/ruby_2.1.10_core_old.gemfile.lock +1 -1
  61. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile.lock +1 -1
  62. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile.lock +1 -1
  63. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile.lock +1 -1
  64. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile.lock +1 -1
  65. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile.lock +1 -1
  66. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile.lock +1 -1
  67. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile.lock +1 -1
  68. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile.lock +1 -1
  69. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile.lock +1 -1
  70. data/gemfiles/ruby_2.2.10_contrib.gemfile.lock +1 -1
  71. data/gemfiles/ruby_2.2.10_core_old.gemfile.lock +1 -1
  72. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile.lock +1 -1
  73. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile.lock +1 -1
  74. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile.lock +1 -1
  75. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile.lock +1 -1
  76. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile.lock +1 -1
  77. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile.lock +1 -1
  78. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile.lock +1 -1
  79. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile.lock +1 -1
  80. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile.lock +1 -1
  81. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile.lock +1 -1
  82. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile.lock +1 -1
  83. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile.lock +1 -1
  84. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile.lock +1 -1
  85. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile.lock +1 -1
  86. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile.lock +1 -1
  87. data/gemfiles/ruby_2.3.8_contrib.gemfile.lock +1 -1
  88. data/gemfiles/ruby_2.3.8_contrib_old.gemfile.lock +1 -1
  89. data/gemfiles/ruby_2.3.8_core_old.gemfile.lock +1 -1
  90. data/gemfiles/ruby_2.3.8_cucumber3.gemfile.lock +1 -1
  91. data/gemfiles/ruby_2.3.8_cucumber4.gemfile.lock +1 -1
  92. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile.lock +1 -1
  93. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile.lock +1 -1
  94. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile.lock +1 -1
  95. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile.lock +1 -1
  96. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile.lock +1 -1
  97. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile.lock +1 -1
  98. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile.lock +1 -1
  99. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile.lock +1 -1
  100. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile.lock +1 -1
  101. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile.lock +1 -1
  102. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile.lock +1 -1
  103. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile.lock +1 -1
  104. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile.lock +1 -1
  105. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile.lock +1 -1
  106. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile.lock +1 -1
  107. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile.lock +1 -1
  108. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile.lock +1 -1
  109. data/gemfiles/ruby_2.4.6_contrib.gemfile.lock +1 -1
  110. data/gemfiles/ruby_2.4.6_contrib_old.gemfile.lock +1 -1
  111. data/gemfiles/ruby_2.4.6_core_old.gemfile.lock +1 -1
  112. data/gemfiles/ruby_2.4.6_cucumber3.gemfile.lock +1 -1
  113. data/gemfiles/ruby_2.4.6_cucumber4.gemfile.lock +1 -1
  114. data/gemfiles/ruby_2.4.6_rails5_mysql2.gemfile.lock +1 -1
  115. data/gemfiles/ruby_2.4.6_rails5_postgres.gemfile.lock +1 -1
  116. data/gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile.lock +1 -1
  117. data/gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile.lock +1 -1
  118. data/gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile.lock +1 -1
  119. data/gemfiles/ruby_2.4.6_resque2_redis3.gemfile.lock +1 -1
  120. data/gemfiles/ruby_2.4.6_resque2_redis4.gemfile.lock +1 -1
  121. data/gemfiles/ruby_2.5.6_contrib.gemfile.lock +1 -1
  122. data/gemfiles/ruby_2.5.6_contrib_old.gemfile.lock +1 -1
  123. data/gemfiles/ruby_2.5.6_core_old.gemfile.lock +1 -1
  124. data/gemfiles/ruby_2.5.6_cucumber3.gemfile.lock +1 -1
  125. data/gemfiles/ruby_2.5.6_cucumber4.gemfile.lock +1 -1
  126. data/gemfiles/ruby_2.5.6_cucumber5.gemfile.lock +1 -1
  127. data/gemfiles/ruby_2.5.6_rails5_mysql2.gemfile.lock +1 -1
  128. data/gemfiles/ruby_2.5.6_rails5_postgres.gemfile.lock +1 -1
  129. data/gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile.lock +1 -1
  130. data/gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile.lock +1 -1
  131. data/gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile.lock +1 -1
  132. data/gemfiles/ruby_2.5.6_rails61_mysql2.gemfile.lock +1 -1
  133. data/gemfiles/ruby_2.5.6_rails61_postgres.gemfile.lock +1 -1
  134. data/gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile.lock +1 -1
  135. data/gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile.lock +1 -1
  136. data/gemfiles/ruby_2.5.6_rails6_mysql2.gemfile.lock +1 -1
  137. data/gemfiles/ruby_2.5.6_rails6_postgres.gemfile.lock +1 -1
  138. data/gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile.lock +1 -1
  139. data/gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile.lock +1 -1
  140. data/gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile.lock +1 -1
  141. data/gemfiles/ruby_2.5.6_resque2_redis3.gemfile.lock +1 -1
  142. data/gemfiles/ruby_2.5.6_resque2_redis4.gemfile.lock +1 -1
  143. data/gemfiles/ruby_2.6.4_contrib.gemfile.lock +1 -1
  144. data/gemfiles/ruby_2.6.4_contrib_old.gemfile.lock +1 -1
  145. data/gemfiles/ruby_2.6.4_core_old.gemfile.lock +1 -1
  146. data/gemfiles/ruby_2.6.4_cucumber3.gemfile.lock +1 -1
  147. data/gemfiles/ruby_2.6.4_cucumber4.gemfile.lock +1 -1
  148. data/gemfiles/ruby_2.6.4_cucumber5.gemfile.lock +1 -1
  149. data/gemfiles/ruby_2.6.4_rails5_mysql2.gemfile.lock +1 -1
  150. data/gemfiles/ruby_2.6.4_rails5_postgres.gemfile.lock +1 -1
  151. data/gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile.lock +1 -1
  152. data/gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile.lock +1 -1
  153. data/gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile.lock +1 -1
  154. data/gemfiles/ruby_2.6.4_rails61_mysql2.gemfile.lock +1 -1
  155. data/gemfiles/ruby_2.6.4_rails61_postgres.gemfile.lock +1 -1
  156. data/gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile.lock +1 -1
  157. data/gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile.lock +1 -1
  158. data/gemfiles/ruby_2.6.4_rails6_mysql2.gemfile.lock +1 -1
  159. data/gemfiles/ruby_2.6.4_rails6_postgres.gemfile.lock +1 -1
  160. data/gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile.lock +1 -1
  161. data/gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile.lock +1 -1
  162. data/gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile.lock +1 -1
  163. data/gemfiles/ruby_2.6.4_resque2_redis3.gemfile.lock +1 -1
  164. data/gemfiles/ruby_2.6.4_resque2_redis4.gemfile.lock +1 -1
  165. data/gemfiles/ruby_2.7.0_contrib.gemfile.lock +1 -1
  166. data/gemfiles/ruby_2.7.0_contrib_old.gemfile.lock +1 -1
  167. data/gemfiles/ruby_2.7.0_core_old.gemfile.lock +1 -1
  168. data/gemfiles/ruby_2.7.0_cucumber3.gemfile.lock +1 -1
  169. data/gemfiles/ruby_2.7.0_cucumber4.gemfile.lock +1 -1
  170. data/gemfiles/ruby_2.7.0_cucumber5.gemfile.lock +1 -1
  171. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile.lock +1 -1
  172. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile.lock +1 -1
  173. data/gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile.lock +1 -1
  174. data/gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile.lock +1 -1
  175. data/gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile.lock +1 -1
  176. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile.lock +1 -1
  177. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile.lock +1 -1
  178. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile.lock +1 -1
  179. data/gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile.lock +1 -1
  180. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile.lock +1 -1
  181. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile.lock +1 -1
  182. data/gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile.lock +1 -1
  183. data/gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile.lock +1 -1
  184. data/gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile.lock +1 -1
  185. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile.lock +1 -1
  186. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile.lock +1 -1
  187. data/gemfiles/ruby_3.0.0_contrib.gemfile +1 -0
  188. data/gemfiles/ruby_3.0.0_contrib.gemfile.lock +7 -1
  189. data/gemfiles/ruby_3.0.0_core_old.gemfile.lock +1 -1
  190. data/gemfiles/ruby_3.0.0_cucumber3.gemfile.lock +1 -1
  191. data/gemfiles/ruby_3.0.0_cucumber4.gemfile.lock +1 -1
  192. data/gemfiles/ruby_3.0.0_cucumber5.gemfile.lock +1 -1
  193. data/gemfiles/ruby_3.0.0_rails61_mysql2.gemfile.lock +1 -1
  194. data/gemfiles/ruby_3.0.0_rails61_postgres.gemfile.lock +1 -1
  195. data/gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile.lock +1 -1
  196. data/gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile.lock +1 -1
  197. data/gemfiles/ruby_3.0.0_resque2_redis3.gemfile.lock +1 -1
  198. data/gemfiles/ruby_3.0.0_resque2_redis4.gemfile.lock +1 -1
  199. data/integration/apps/rack/README.md +2 -2
  200. data/integration/apps/rack/script/ci +2 -1
  201. data/integration/apps/rails-five/README.md +2 -2
  202. data/integration/apps/rails-five/script/ci +2 -1
  203. data/integration/apps/rspec/.dockerignore +1 -0
  204. data/integration/apps/rspec/.envrc.sample +1 -0
  205. data/integration/apps/rspec/.gitignore +2 -0
  206. data/integration/apps/rspec/.rspec +1 -0
  207. data/integration/apps/rspec/Dockerfile +25 -0
  208. data/integration/apps/rspec/Dockerfile-ci +11 -0
  209. data/integration/apps/rspec/Gemfile +14 -0
  210. data/integration/apps/rspec/README.md +70 -0
  211. data/integration/apps/rspec/agent.yaml +3 -0
  212. data/integration/apps/rspec/app/datadog.rb +13 -0
  213. data/integration/apps/rspec/app/fibonacci.rb +30 -0
  214. data/integration/apps/rspec/bin/run +20 -0
  215. data/integration/apps/rspec/bin/setup +17 -0
  216. data/integration/apps/rspec/bin/test +21 -0
  217. data/integration/apps/rspec/docker-compose.ci.yml +51 -0
  218. data/integration/apps/rspec/docker-compose.yml +63 -0
  219. data/integration/apps/rspec/script/build-images +37 -0
  220. data/integration/apps/rspec/script/ci +53 -0
  221. data/integration/apps/rspec/spec/fibonacci_spec.rb +16 -0
  222. data/integration/apps/rspec/spec/rspec_spec.rb +58 -0
  223. data/integration/apps/rspec/spec/spec_helper.rb +24 -0
  224. data/integration/apps/ruby/README.md +2 -2
  225. data/integration/apps/ruby/script/ci +2 -1
  226. data/lib/datadog/ci.rb +16 -0
  227. data/lib/datadog/ci/configuration/components.rb +30 -0
  228. data/lib/datadog/ci/configuration/settings.rb +36 -0
  229. data/lib/datadog/ci/context_flush.rb +28 -0
  230. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +30 -0
  231. data/lib/datadog/ci/contrib/cucumber/ext.rb +19 -0
  232. data/lib/datadog/ci/contrib/cucumber/formatter.rb +97 -0
  233. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +26 -0
  234. data/lib/datadog/ci/contrib/cucumber/integration.rb +47 -0
  235. data/lib/datadog/ci/contrib/cucumber/patcher.rb +25 -0
  236. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +30 -0
  237. data/lib/datadog/ci/contrib/rspec/example.rb +73 -0
  238. data/lib/datadog/ci/contrib/rspec/ext.rb +18 -0
  239. data/lib/datadog/ci/contrib/rspec/integration.rb +48 -0
  240. data/lib/datadog/ci/contrib/rspec/patcher.rb +25 -0
  241. data/lib/datadog/ci/ext/app_types.rb +9 -0
  242. data/lib/datadog/ci/ext/environment.rb +303 -0
  243. data/lib/datadog/ci/ext/settings.rb +10 -0
  244. data/lib/datadog/ci/ext/test.rb +28 -0
  245. data/lib/datadog/ci/extensions.rb +17 -0
  246. data/lib/datadog/ci/test.rb +63 -0
  247. data/lib/ddtrace.rb +0 -2
  248. data/lib/ddtrace/configuration.rb +1 -23
  249. data/lib/ddtrace/configuration/agent_settings_resolver.rb +8 -19
  250. data/lib/ddtrace/configuration/base.rb +6 -9
  251. data/lib/ddtrace/configuration/components.rb +33 -10
  252. data/lib/ddtrace/configuration/options.rb +2 -2
  253. data/lib/ddtrace/configuration/settings.rb +49 -1
  254. data/lib/ddtrace/context.rb +17 -14
  255. data/lib/ddtrace/context_flush.rb +14 -2
  256. data/lib/ddtrace/contrib/action_cable/event.rb +4 -4
  257. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +1 -1
  258. data/lib/ddtrace/contrib/action_view/event.rb +2 -2
  259. data/lib/ddtrace/contrib/action_view/patcher.rb +4 -4
  260. data/lib/ddtrace/contrib/active_model_serializers/event.rb +2 -2
  261. data/lib/ddtrace/contrib/active_record/event.rb +2 -2
  262. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +7 -7
  263. data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -5
  264. data/lib/ddtrace/contrib/active_support/notifications/event.rb +2 -2
  265. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +1 -1
  266. data/lib/ddtrace/contrib/auto_instrument.rb +1 -1
  267. data/lib/ddtrace/contrib/aws/instrumentation.rb +29 -0
  268. data/lib/ddtrace/contrib/aws/patcher.rb +4 -0
  269. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +1 -1
  270. data/lib/ddtrace/contrib/configurable.rb +1 -1
  271. data/lib/ddtrace/contrib/dalli/instrumentation.rb +1 -1
  272. data/lib/ddtrace/contrib/dalli/patcher.rb +1 -1
  273. data/lib/ddtrace/contrib/ethon/easy_patch.rb +1 -1
  274. data/lib/ddtrace/contrib/ethon/multi_patch.rb +1 -1
  275. data/lib/ddtrace/contrib/ethon/patcher.rb +2 -2
  276. data/lib/ddtrace/contrib/extensions.rb +3 -3
  277. data/lib/ddtrace/contrib/faraday/patcher.rb +2 -2
  278. data/lib/ddtrace/contrib/grape/instrumentation.rb +2 -2
  279. data/lib/ddtrace/contrib/grape/patcher.rb +1 -1
  280. data/lib/ddtrace/contrib/grpc/patcher.rb +1 -1
  281. data/lib/ddtrace/contrib/http/instrumentation.rb +1 -1
  282. data/lib/ddtrace/contrib/http/patcher.rb +1 -1
  283. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +1 -1
  284. data/lib/ddtrace/contrib/httpclient/patcher.rb +1 -1
  285. data/lib/ddtrace/contrib/httprb/instrumentation.rb +1 -1
  286. data/lib/ddtrace/contrib/httprb/patcher.rb +1 -1
  287. data/lib/ddtrace/contrib/integration.rb +3 -3
  288. data/lib/ddtrace/contrib/kafka/event.rb +2 -2
  289. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +2 -2
  290. data/lib/ddtrace/contrib/mongodb/patcher.rb +2 -2
  291. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +1 -1
  292. data/lib/ddtrace/contrib/mysql2/patcher.rb +1 -1
  293. data/lib/ddtrace/contrib/patchable.rb +2 -2
  294. data/lib/ddtrace/contrib/patcher.rb +2 -2
  295. data/lib/ddtrace/contrib/presto/instrumentation.rb +1 -1
  296. data/lib/ddtrace/contrib/presto/patcher.rb +1 -1
  297. data/lib/ddtrace/contrib/qless/patcher.rb +3 -5
  298. data/lib/ddtrace/contrib/racecar/event.rb +2 -2
  299. data/lib/ddtrace/contrib/rake/instrumentation.rb +1 -1
  300. data/lib/ddtrace/contrib/rake/patcher.rb +1 -1
  301. data/lib/ddtrace/contrib/registerable.rb +2 -2
  302. data/lib/ddtrace/contrib/resque/patcher.rb +1 -1
  303. data/lib/ddtrace/contrib/rest_client/patcher.rb +1 -1
  304. data/lib/ddtrace/contrib/rest_client/request_patch.rb +1 -1
  305. data/lib/ddtrace/contrib/sequel/database.rb +1 -1
  306. data/lib/ddtrace/contrib/sequel/dataset.rb +1 -1
  307. data/lib/ddtrace/contrib/sequel/patcher.rb +2 -2
  308. data/lib/ddtrace/contrib/sinatra/patcher.rb +1 -1
  309. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +4 -6
  310. data/lib/ddtrace/diagnostics/environment_logger.rb +2 -2
  311. data/lib/ddtrace/error.rb +52 -61
  312. data/lib/ddtrace/ext/app_types.rb +0 -1
  313. data/lib/ddtrace/ext/test.rb +2 -18
  314. data/lib/ddtrace/metrics.rb +28 -3
  315. data/lib/ddtrace/opentelemetry/extensions.rb +1 -1
  316. data/lib/ddtrace/opentracer.rb +20 -39
  317. data/lib/ddtrace/patcher.rb +2 -2
  318. data/lib/ddtrace/profiling.rb +11 -9
  319. data/lib/ddtrace/profiling/collectors/stack.rb +5 -2
  320. data/lib/ddtrace/profiling/encoding/profile.rb +6 -0
  321. data/lib/ddtrace/profiling/ext/cpu.rb +2 -2
  322. data/lib/ddtrace/profiling/ext/cthread.rb +9 -11
  323. data/lib/ddtrace/profiling/ext/forking.rb +7 -7
  324. data/lib/ddtrace/profiling/flush.rb +3 -1
  325. data/lib/ddtrace/profiling/pprof/builder.rb +26 -28
  326. data/lib/ddtrace/profiling/pprof/converter.rb +4 -0
  327. data/lib/ddtrace/profiling/pprof/stack_sample.rb +17 -1
  328. data/lib/ddtrace/profiling/pprof/template.rb +4 -0
  329. data/lib/ddtrace/profiling/scheduler.rb +12 -1
  330. data/lib/ddtrace/profiling/tasks/setup.rb +13 -13
  331. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +11 -2
  332. data/lib/ddtrace/runtime/metrics.rb +3 -5
  333. data/lib/ddtrace/sync_writer.rb +2 -1
  334. data/lib/ddtrace/tracer.rb +8 -4
  335. data/lib/ddtrace/transport/http/statistics.rb +2 -2
  336. data/lib/ddtrace/transport/http/traces.rb +3 -3
  337. data/lib/ddtrace/transport/io/traces.rb +1 -1
  338. data/lib/ddtrace/utils/forking.rb +1 -1
  339. data/lib/ddtrace/utils/object_set.rb +3 -5
  340. data/lib/ddtrace/utils/time.rb +1 -3
  341. data/lib/ddtrace/version.rb +2 -4
  342. data/lib/ddtrace/workers.rb +1 -1
  343. data/lib/ddtrace/workers/async.rb +3 -2
  344. data/lib/ddtrace/workers/loop.rb +1 -1
  345. data/lib/ddtrace/workers/polling.rb +11 -5
  346. data/lib/ddtrace/workers/queue.rb +1 -1
  347. metadata +48 -34
  348. data/.circleci/images/primary/Dockerfile-2.0.0 +0 -83
  349. data/gemfiles/ruby_2.0.0_contrib_old.gemfile +0 -64
  350. data/gemfiles/ruby_2.0.0_contrib_old.gemfile.lock +0 -290
  351. data/gemfiles/ruby_2.0.0_core_old.gemfile +0 -33
  352. data/gemfiles/ruby_2.0.0_core_old.gemfile.lock +0 -118
  353. data/gemfiles/ruby_2.0.0_rails30_postgres.gemfile +0 -39
  354. data/gemfiles/ruby_2.0.0_rails30_postgres.gemfile.lock +0 -196
  355. data/gemfiles/ruby_2.0.0_rails30_postgres_sidekiq.gemfile +0 -40
  356. data/gemfiles/ruby_2.0.0_rails30_postgres_sidekiq.gemfile.lock +0 -205
  357. data/gemfiles/ruby_2.0.0_rails32_mysql2.gemfile +0 -43
  358. data/gemfiles/ruby_2.0.0_rails32_mysql2.gemfile.lock +0 -217
  359. data/gemfiles/ruby_2.0.0_rails32_postgres.gemfile +0 -39
  360. data/gemfiles/ruby_2.0.0_rails32_postgres.gemfile.lock +0 -204
  361. data/gemfiles/ruby_2.0.0_rails32_postgres_redis.gemfile +0 -41
  362. data/gemfiles/ruby_2.0.0_rails32_postgres_redis.gemfile.lock +0 -223
  363. data/gemfiles/ruby_2.0.0_rails32_postgres_sidekiq.gemfile +0 -40
  364. data/gemfiles/ruby_2.0.0_rails32_postgres_sidekiq.gemfile.lock +0 -213
  365. data/integration/images/ruby/2.0/Dockerfile +0 -54
  366. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +0 -28
  367. data/lib/ddtrace/contrib/cucumber/ext.rb +0 -17
  368. data/lib/ddtrace/contrib/cucumber/formatter.rb +0 -98
  369. data/lib/ddtrace/contrib/cucumber/instrumentation.rb +0 -24
  370. data/lib/ddtrace/contrib/cucumber/integration.rb +0 -45
  371. data/lib/ddtrace/contrib/cucumber/patcher.rb +0 -23
  372. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +0 -28
  373. data/lib/ddtrace/contrib/rspec/example.rb +0 -75
  374. data/lib/ddtrace/contrib/rspec/ext.rb +0 -16
  375. data/lib/ddtrace/contrib/rspec/integration.rb +0 -46
  376. data/lib/ddtrace/contrib/rspec/patcher.rb +0 -23
  377. data/lib/ddtrace/ext/ci.rb +0 -297
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e85a4cb4edf7f4d545f54faf32eb97183a88e66c6726317239bd9e1f152005d
4
- data.tar.gz: b76468765ea5ba2202e5650d14f320cd6ca16456eed4c5b301bcec81018e70ce
3
+ metadata.gz: f9add4aab5afd288528cb19861c90d1c51f0760cc683716cb5aefdbd03cd6ee0
4
+ data.tar.gz: 9eba21868f503c91e4af96fa2dd5e625fc60ac19b43ff6b1f538c269e3159599
5
5
  SHA512:
6
- metadata.gz: b3731205a2a8bbac1c1489154f3d48a1d120177f6e45f57cc0636b55c27c09552c0d9fc66b8220be648bb5ae4775e34515c0831c551cff13f9d4f7d5db6c648f
7
- data.tar.gz: cbc68cfece89a9728770cd227a1184543c494c58669ba589c80523d497c57ecc3cf0ba1129b8699d5f7527483cf7d55764272f37b60277f4837e2be29a1c8c10
6
+ metadata.gz: 36623270e170b810ba47ec10fab7aeb73d366653149266661468727153c71a6b322eb1f87dbda1f2be1587aa49fc8a2c9ffdbf06e753a03d558885123ac0b71b
7
+ data.tar.gz: 9140282f96d2f3fd5450b51f5f7f1a9370c9772d40eac8f67ed5dbd1a0d421bc1a2689019a9592f47593853dcbaf44a5691870c4224f5c924e7155858167c33e
data/.circleci/config.yml CHANGED
@@ -84,15 +84,29 @@ test_containers:
84
84
  - DD_API_KEY=invalid_key_but_this_is_fine
85
85
  - &agent_port 8126
86
86
 
87
- step_init_bundle_checksum: &step_init_bundle_checksum
87
+ check_exact_bundle_cache_hit: &check_exact_bundle_cache_hit
88
88
  run:
89
- name: Initialize bundle cache key
89
+ name: Check if we restored an exact cache of gems that this job requires
90
+ # CircleCI doesn't tell us if we had a perfect cache match or partial match.
91
+ # To accomplish such check, we save `bundle_checksum` alongside the cached
92
+ # gems. After gems are restored, we compare the restored `bundle_checksum`'s
93
+ # content with the current commit's `bundle_checksum`.
90
94
  command: |
91
- touch .circleci/bundle_checksum
95
+ ! cmp -s .circleci/bundle_checksum /usr/local/bundle/bundle_checksum
96
+ echo "export CI_BUNDLE_CACHE_HIT=$?" >> $BASH_ENV
97
+ save_bundle_checksum: &save_bundle_checksum
98
+ run:
99
+ name: Save current bundle checksum alongside cached gems
100
+ command: cp .circleci/bundle_checksum /usr/local/bundle/bundle_checksum
92
101
  step_bundle_install: &step_bundle_install
93
102
  run:
94
103
  name: Install gem dependencies
95
- command: bundle install
104
+ command: |
105
+ if [ "$CI_BUNDLE_CACHE_HIT" != 1 ]; then
106
+ bundle install
107
+ else
108
+ echo "All required gems were found in cache."
109
+ fi
96
110
  step_rubocop: &step_rubocop
97
111
  run:
98
112
  name: Delint with Rubocop
@@ -101,7 +115,11 @@ step_appraisal_install: &step_appraisal_install
101
115
  run:
102
116
  name: Install Appraisal gems
103
117
  command: |
104
- bundle exec appraisal install
118
+ if [ "$CI_BUNDLE_CACHE_HIT" != 1 ]; then
119
+ bundle exec appraisal install
120
+ else
121
+ echo "All required gems were found in cache."
122
+ fi
105
123
  step_appraisal_update: &step_appraisal_update
106
124
  run:
107
125
  name: Update Appraisal gems
@@ -126,10 +144,8 @@ step_compute_bundle_checksum: &step_compute_bundle_checksum
126
144
  run:
127
145
  name: Compute bundle checksum
128
146
  command: |
129
- # JRuby: Ensure files exist when Appraisal generates no output
130
- mkdir gemfiles
131
- touch gemfiles/_.gemfile.lock
132
- cat Gemfile.lock gemfiles/*.gemfile.lock > .circleci/bundle_checksum
147
+ bundle lock # Create Gemfile.lock
148
+ cat Gemfile.lock gemfiles/*.gemfile.lock | md5sum > .circleci/bundle_checksum
133
149
  step_run_all_tests: &step_run_all_tests
134
150
  run:
135
151
  name: Run tests
@@ -167,15 +183,13 @@ orbs:
167
183
  - restore_cache:
168
184
  keys:
169
185
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
186
+ - *step_compute_bundle_checksum
170
187
  - restore_cache:
171
188
  keys:
172
- - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum "Gemfile" }}-{{ checksum "Appraisals" }}-{{ checksum "ddtrace.gemspec" }}
189
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
173
190
  - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-
174
191
  - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}
175
- - *step_init_bundle_checksum
176
- - restore_cache:
177
- keys:
178
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
192
+ - *check_exact_bundle_cache_hit
179
193
  - *step_bundle_install
180
194
  - when:
181
195
  condition:
@@ -189,17 +203,13 @@ orbs:
189
203
  steps:
190
204
  - *step_appraisal_install # Run on a stable set of gems we integrate with
191
205
  - *ensure_lockfile_committed
192
- - *step_compute_bundle_checksum
206
+ - *save_bundle_checksum
193
207
  - save_cache:
194
208
  key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
195
209
  paths:
196
210
  - /app
197
211
  - save_cache:
198
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
199
- paths:
200
- - /usr/local/bundle
201
- - save_cache:
202
- key: bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum "Gemfile" }}-{{ checksum "Appraisals" }}-{{ checksum "ddtrace.gemspec" }}-{{ checksum ".circleci/bundle_checksum" }}'
212
+ key: bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
203
213
  paths:
204
214
  - /usr/local/bundle
205
215
  build_and_test_integration:
@@ -249,7 +259,7 @@ orbs:
249
259
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
250
260
  - restore_cache:
251
261
  keys:
252
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
262
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
253
263
  - run:
254
264
  name: Set coverage report directory
255
265
  command: |
@@ -292,7 +302,7 @@ orbs:
292
302
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
293
303
  - restore_cache:
294
304
  keys:
295
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
305
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
296
306
  - run:
297
307
  name: Run Benchmark
298
308
  command: bundle exec appraisal rails5-postgres-sidekiq ruby benchmarks/sidekiq_test.rb 2>&1 1> /dev/null | tee benchmark_results.csv
@@ -307,7 +317,7 @@ orbs:
307
317
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
308
318
  - restore_cache:
309
319
  keys:
310
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
320
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
311
321
  - *step_rubocop
312
322
  coverage:
313
323
  <<: *test_job_default
@@ -317,7 +327,7 @@ orbs:
317
327
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
318
328
  - restore_cache:
319
329
  keys:
320
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
330
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
321
331
  - attach_workspace:
322
332
  at: /tmp/workspace
323
333
  - run:
@@ -340,7 +350,7 @@ orbs:
340
350
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
341
351
  - restore_cache:
342
352
  keys:
343
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
353
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
344
354
  - attach_workspace:
345
355
  at: /tmp/workspace
346
356
  - run:
@@ -434,10 +444,6 @@ jobs:
434
444
 
435
445
  job_configuration:
436
446
  # MRI
437
- - &config-2_0
438
- <<: *filters_all_branches_and_tags
439
- ruby_version: '2.0'
440
- image: palazzem/docker-library:ddtrace_rb_2_0_0
441
447
  - &config-2_1
442
448
  <<: *filters_all_branches_and_tags
443
449
  ruby_version: '2.1'
@@ -504,7 +510,6 @@ workflows:
504
510
  <<: *config-2_7
505
511
  name: coverage
506
512
  requires:
507
- - test-2.0
508
513
  - test-2.1
509
514
  - test-2.2
510
515
  - test-2.3
@@ -525,44 +530,39 @@ workflows:
525
530
  branches:
526
531
  only: /bump_to_version_.*/
527
532
  # Integration
528
- - orb/build_and_test_integration:
529
- name: build_and_test_integration-2.0
530
- integration_apps: 'ruby rack'
531
- ruby_version: '2.0'
532
- <<: *filters_all_branches_and_tags
533
533
  - orb/build_and_test_integration:
534
534
  name: build_and_test_integration-2.1
535
- integration_apps: 'ruby rack'
535
+ integration_apps: 'ruby rack rspec'
536
536
  ruby_version: '2.1'
537
537
  <<: *filters_all_branches_and_tags
538
538
  - orb/build_and_test_integration:
539
539
  name: build_and_test_integration-2.2
540
- integration_apps: 'ruby rack'
540
+ integration_apps: 'ruby rack rspec'
541
541
  ruby_version: '2.2'
542
542
  <<: *filters_all_branches_and_tags
543
543
  - orb/build_and_test_integration:
544
544
  name: build_and_test_integration-2.3
545
- integration_apps: 'ruby rack rails-five'
545
+ integration_apps: 'ruby rack rails-five rspec'
546
546
  ruby_version: '2.3'
547
547
  <<: *filters_all_branches_and_tags
548
548
  - orb/build_and_test_integration:
549
549
  name: build_and_test_integration-2.4
550
- integration_apps: 'ruby rack rails-five'
550
+ integration_apps: 'ruby rack rails-five rspec'
551
551
  ruby_version: '2.4'
552
552
  <<: *filters_all_branches_and_tags
553
553
  - orb/build_and_test_integration:
554
554
  name: build_and_test_integration-2.5
555
- integration_apps: 'ruby rack rails-five'
555
+ integration_apps: 'ruby rack rails-five rspec'
556
556
  ruby_version: '2.5'
557
557
  <<: *filters_all_branches_and_tags
558
558
  - orb/build_and_test_integration:
559
559
  name: build_and_test_integration-2.6
560
- integration_apps: 'ruby rack rails-five'
560
+ integration_apps: 'ruby rack rails-five rspec'
561
561
  ruby_version: '2.6'
562
562
  <<: *filters_all_branches_and_tags
563
563
  - orb/build_and_test_integration:
564
564
  name: build_and_test_integration-2.7
565
- integration_apps: 'ruby rack rails-five'
565
+ integration_apps: 'ruby rack rails-five rspec'
566
566
  ruby_version: '2.7'
567
567
  <<: *filters_all_branches_and_tags
568
568
  - orb/build_and_test_integration:
@@ -572,14 +572,6 @@ workflows:
572
572
  ruby_version: '3.0'
573
573
  <<: *filters_all_branches_and_tags
574
574
  # MRI
575
- - orb/build:
576
- <<: *config-2_0
577
- name: build-2.0
578
- - orb/test:
579
- <<: *config-2_0
580
- name: test-2.0
581
- requires:
582
- - build-2.0
583
575
  - orb/build:
584
576
  <<: *config-2_1
585
577
  name: build-2.1
@@ -689,7 +681,6 @@ workflows:
689
681
  <<: *filters_all_branches_and_tags
690
682
  requires:
691
683
  - lint
692
- - test-2.0
693
684
  - test-2.1
694
685
  - test-2.2
695
686
  - test-2.3
@@ -706,7 +697,6 @@ workflows:
706
697
  <<: *filters_only_release_tags
707
698
  requires:
708
699
  - lint
709
- - test-2.0
710
700
  - test-2.1
711
701
  - test-2.2
712
702
  - test-2.3
@@ -732,44 +722,39 @@ workflows:
732
722
  - master
733
723
  jobs:
734
724
  # Integration
735
- - orb/build_and_test_integration:
736
- name: build_and_test_integration-2.0
737
- integration_apps: 'ruby rack'
738
- ruby_version: '2.0'
739
- <<: *filters_all_branches_and_tags
740
725
  - orb/build_and_test_integration:
741
726
  name: build_and_test_integration-2.1
742
- integration_apps: 'ruby rack'
727
+ integration_apps: 'ruby rack rspec'
743
728
  ruby_version: '2.1'
744
729
  <<: *filters_all_branches_and_tags
745
730
  - orb/build_and_test_integration:
746
731
  name: build_and_test_integration-2.2
747
- integration_apps: 'ruby rack'
732
+ integration_apps: 'ruby rack rspec'
748
733
  ruby_version: '2.2'
749
734
  <<: *filters_all_branches_and_tags
750
735
  - orb/build_and_test_integration:
751
736
  name: build_and_test_integration-2.3
752
- integration_apps: 'ruby rack rails-five'
737
+ integration_apps: 'ruby rack rails-five rspec'
753
738
  ruby_version: '2.3'
754
739
  <<: *filters_all_branches_and_tags
755
740
  - orb/build_and_test_integration:
756
741
  name: build_and_test_integration-2.4
757
- integration_apps: 'ruby rack rails-five'
742
+ integration_apps: 'ruby rack rails-five rspec'
758
743
  ruby_version: '2.4'
759
744
  <<: *filters_all_branches_and_tags
760
745
  - orb/build_and_test_integration:
761
746
  name: build_and_test_integration-2.5
762
- integration_apps: 'ruby rack rails-five'
747
+ integration_apps: 'ruby rack rails-five rspec'
763
748
  ruby_version: '2.5'
764
749
  <<: *filters_all_branches_and_tags
765
750
  - orb/build_and_test_integration:
766
751
  name: build_and_test_integration-2.6
767
- integration_apps: 'ruby rack rails-five'
752
+ integration_apps: 'ruby rack rails-five rspec'
768
753
  ruby_version: '2.6'
769
754
  <<: *filters_all_branches_and_tags
770
755
  - orb/build_and_test_integration:
771
756
  name: build_and_test_integration-2.7
772
- integration_apps: 'ruby rack rails-five'
757
+ integration_apps: 'ruby rack rails-five rspec'
773
758
  ruby_version: '2.7'
774
759
  <<: *filters_all_branches_and_tags
775
760
  - orb/build_and_test_integration:
@@ -779,15 +764,6 @@ workflows:
779
764
  ruby_version: '3.0'
780
765
  <<: *filters_all_branches_and_tags
781
766
  # MRI
782
- - orb/build:
783
- <<: *config-2_0
784
- name: build-2.0
785
- edge: true
786
- - orb/test:
787
- <<: *config-2_0
788
- name: test-2.0
789
- requires:
790
- - build-2.0
791
767
  - orb/build:
792
768
  <<: *config-2_1
793
769
  name: build-2.1
@@ -1,4 +1,4 @@
1
- FROM flavorjones/truffleruby:21.0.0-buster
1
+ FROM flavorjones/truffleruby:21.1.0-buster
2
2
 
3
3
  # Make apt non-interactive
4
4
  RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
data/.gitignore CHANGED
@@ -58,5 +58,3 @@ Gemfile.lock
58
58
 
59
59
  # bundle config
60
60
  gemfiles/.bundle
61
- # Appraisal artifact file, always empty
62
- gemfiles/_.gemfile.lock
data/.rubocop.yml CHANGED
@@ -174,14 +174,6 @@ Performance/StringInclude: # (new in 1.7)
174
174
  Performance/Sum: # (new in 1.8)
175
175
  Enabled: true
176
176
 
177
- # Requires Ruby 2.1
178
- Style/HashConversion:
179
- Enabled: false
180
-
181
- # Requires Ruby 2.1
182
- Lint/SendWithMixinArgument:
183
- Enabled: false
184
-
185
177
  # Requires Ruby 2.2
186
178
  Style/HashSyntax:
187
179
  Enabled: false
data/.rubocop_todo.yml CHANGED
@@ -32,8 +32,8 @@ Lint/DuplicateBranch:
32
32
  # Offense count: 3
33
33
  Lint/DuplicateRequire:
34
34
  Exclude:
35
- - 'lib/ddtrace/contrib/cucumber/integration.rb'
36
- - 'lib/ddtrace/contrib/rspec/integration.rb'
35
+ - 'lib/datadog/ci/contrib/cucumber/integration.rb'
36
+ - 'lib/datadog/ci/contrib/rspec/integration.rb'
37
37
  - 'spec/ddtrace/contrib/presto/client_spec.rb'
38
38
 
39
39
  # Offense count: 1
@@ -164,21 +164,21 @@ Naming/VariableNumber:
164
164
  # Offense count: 18
165
165
  Performance/MethodObjectAsBlock:
166
166
  Exclude:
167
- - 'lib/ddtrace/contrib/cucumber/formatter.rb'
167
+ - 'lib/datadog/ci/contrib/cucumber/formatter.rb'
168
168
  - 'lib/ddtrace/contrib/delayed_job/plugin.rb'
169
169
  - 'lib/ddtrace/pipeline.rb'
170
170
  - 'lib/ddtrace/profiling/collectors/stack.rb'
171
171
  - 'lib/ddtrace/profiling/pprof/builder.rb'
172
172
  - 'lib/ddtrace/profiling/pprof/stack_sample.rb'
173
173
  - 'lib/ddtrace/profiling/pprof/template.rb'
174
- - 'spec/ddtrace/contrib/cucumber/patcher_spec.rb'
174
+ - 'spec/datadog/ci/contrib/cucumber/patcher_spec.rb'
175
175
 
176
176
  # Offense count: 6
177
177
  RSpec/EmptyExampleGroup:
178
178
  Exclude:
179
179
  - 'spec/ddtrace/buffer_spec.rb'
180
180
  - 'spec/ddtrace/configuration/components_spec.rb'
181
- - 'spec/ddtrace/ext/ci_spec.rb'
181
+ - 'spec/datadog/ci/ext/environment_spec.rb'
182
182
  - 'spec/ddtrace/opentracer/distributed_headers_spec.rb'
183
183
 
184
184
  # Offense count: 2
@@ -186,7 +186,7 @@ RSpec/EmptyExampleGroup:
186
186
  RSpec/ExpectActual:
187
187
  Exclude:
188
188
  - 'spec/routing/**/*'
189
- - 'spec/ddtrace/contrib/rspec/instrumentation_spec.rb'
189
+ - 'spec/datadog/ci/contrib/rspec/instrumentation_spec.rb'
190
190
 
191
191
  # Offense count: 3
192
192
  RSpec/IteratedExpectation:
@@ -327,6 +327,7 @@ RSpec/UnspecifiedException:
327
327
  # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
328
328
  RSpec/VerifiedDoubles:
329
329
  Exclude:
330
+ - 'spec/datadog/ci/contrib/cucumber/formatter_spec.rb'
330
331
  - 'spec/ddtrace/buffer_spec.rb'
331
332
  - 'spec/ddtrace/configuration/base_spec.rb'
332
333
  - 'spec/ddtrace/configuration/components_spec.rb'
@@ -344,7 +345,6 @@ RSpec/VerifiedDoubles:
344
345
  - 'spec/ddtrace/contrib/analytics_spec.rb'
345
346
  - 'spec/ddtrace/contrib/configuration/resolver_spec.rb'
346
347
  - 'spec/ddtrace/contrib/configuration/settings_spec.rb'
347
- - 'spec/ddtrace/contrib/cucumber/formatter_spec.rb'
348
348
  - 'spec/ddtrace/contrib/delayed_job/plugin_spec.rb'
349
349
  - 'spec/ddtrace/contrib/ethon/easy_patch_spec.rb'
350
350
  - 'spec/ddtrace/contrib/extensions_spec.rb'
data/Appraisals CHANGED
@@ -10,112 +10,6 @@ end
10
10
 
11
11
  if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(Datadog::VERSION::MINIMUM_RUBY_VERSION)
12
12
  raise NotImplementedError, "Ruby versions < #{Datadog::VERSION::MINIMUM_RUBY_VERSION} are not supported!"
13
- elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
14
- && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
15
- if RUBY_PLATFORM != 'java'
16
- appraise 'rails30-postgres' do
17
- gem 'test-unit'
18
- gem 'rails', '3.0.20'
19
- gem 'pg', '0.15.1', platform: :ruby
20
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
21
- gem 'rack-cache', '1.7.1'
22
- gem 'lograge', '< 0.4'
23
- end
24
-
25
- appraise 'rails30-postgres-sidekiq' do
26
- gem 'test-unit'
27
- gem 'rails', '3.0.20'
28
- gem 'pg', '0.15.1', platform: :ruby
29
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
30
- gem 'sidekiq', '4.0.0'
31
- gem 'rack-cache', '1.7.1'
32
- gem 'lograge', '< 0.4'
33
- end
34
-
35
- appraise 'rails32-mysql2' do
36
- gem 'test-unit'
37
- gem 'rails', '3.2.22.5'
38
- gem 'mysql2', '0.3.21', platform: :ruby
39
- gem 'activerecord-mysql-adapter', platform: :ruby
40
- gem 'activerecord-jdbcmysql-adapter', platform: :jruby
41
- gem 'rack-cache', '1.7.1'
42
- gem 'sqlite3', '~> 1.3.5'
43
- gem 'lograge', '< 0.4'
44
- gem 'makara', '< 0.5.0' # >= 0.5.0 contain Ruby 2.3+ syntax
45
- gem 'safe_yaml' # Required for makara, as YAML.safe_load is not available in Ruby 2.0
46
- end
47
-
48
- appraise 'rails32-postgres' do
49
- gem 'test-unit'
50
- gem 'rails', '3.2.22.5'
51
- gem 'pg', '0.15.1', platform: :ruby
52
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
53
- gem 'rack-cache', '1.7.1'
54
- gem 'lograge', '< 0.4'
55
- end
56
-
57
- appraise 'rails32-postgres-redis' do
58
- gem 'test-unit'
59
- gem 'rails', '3.2.22.5'
60
- gem 'pg', '0.15.1', platform: :ruby
61
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
62
- gem 'redis-rails'
63
- gem 'redis', '< 4.0'
64
- gem 'rack-cache', '1.7.1'
65
- gem 'lograge', '< 0.4'
66
- end
67
-
68
- appraise 'rails32-postgres-sidekiq' do
69
- gem 'test-unit'
70
- gem 'rails', '3.2.22.5'
71
- gem 'pg', '0.15.1', platform: :ruby
72
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
73
- gem 'sidekiq', '4.0.0'
74
- gem 'rack-cache', '1.7.1'
75
- gem 'lograge', '< 0.4'
76
- end
77
-
78
- appraise 'contrib-old' do
79
- gem 'active_model_serializers', '~> 0.9.0'
80
- gem 'activerecord', '3.2.22.5'
81
- gem 'activerecord-mysql-adapter', platform: :ruby
82
- gem 'aws-sdk', '~> 2.0'
83
- gem 'concurrent-ruby'
84
- gem 'dalli'
85
- gem 'delayed_job'
86
- gem 'delayed_job_active_record'
87
- gem 'elasticsearch-transport'
88
- gem 'ethon'
89
- gem 'excon'
90
- gem 'hiredis'
91
- gem 'http'
92
- gem 'httpclient'
93
- gem 'makara', '< 0.5.0' # >= 0.5.0 contain Ruby 2.3+ syntax
94
- gem 'mongo', '< 2.5'
95
- gem 'mysql2', '0.3.21', platform: :ruby
96
- gem 'pg', '< 1.0', platform: :ruby
97
- gem 'rack', '1.4.7'
98
- gem 'rack-cache', '1.7.1'
99
- gem 'rack-test', '0.7.0'
100
- gem 'rake', '< 12.3'
101
- gem 'redis', '< 4.0'
102
- gem 'rest-client'
103
- gem 'resque', '< 2.0'
104
- gem 'rspec', '>= 3.0.0'
105
- gem 'safe_yaml' # Required for makara, as YAML.safe_load is not available in Ruby 2.0
106
- gem 'sequel', '~> 4.0', '< 4.37'
107
- gem 'sidekiq', '~> 3.5.4'
108
- gem 'sinatra', '1.4.5'
109
- gem 'sqlite3', '~> 1.3.6'
110
- gem 'sucker_punch'
111
- gem 'timers', '< 4.2'
112
- gem 'typhoeus'
113
- end
114
-
115
- appraise 'core-old' do
116
- gem 'dogstatsd-ruby', '~> 4'
117
- end
118
- end
119
13
  elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
120
14
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.0')
121
15
  if RUBY_PLATFORM != 'java'
@@ -1383,7 +1277,7 @@ elsif Gem::Version.new('3.0.0') <= Gem::Version.new(RUBY_VERSION)
1383
1277
  gem 'excon'
1384
1278
  gem 'grape'
1385
1279
  gem 'graphql', '>= 1.12.0'
1386
- # gem 'grpc' # Pending 3.0 support by transient protobuf dependency https://github.com/protocolbuffers/protobuf/issues/7922
1280
+ gem 'grpc', '>= 1.38.0' # Minimum version with Ruby 3.0 support
1387
1281
  gem 'hiredis'
1388
1282
  gem 'http'
1389
1283
  gem 'httpclient'