ddtrace 0.49.0 → 0.50.0

Sign up to get free protection for your applications and to get access to all the features.
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'