ddtrace 0.48.0 → 0.51.1

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 (656) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +250 -68
  3. data/.circleci/images/primary/Dockerfile-2.1.10 +1 -1
  4. data/.circleci/images/primary/Dockerfile-2.2.10 +1 -1
  5. data/.circleci/images/primary/Dockerfile-2.3.8 +4 -2
  6. data/.circleci/images/primary/{Dockerfile-2.6.4 → Dockerfile-2.4.10} +5 -3
  7. data/.circleci/images/primary/{Dockerfile-2.4.6 → Dockerfile-2.5.9} +3 -3
  8. data/.circleci/images/primary/{Dockerfile-2.5.6 → Dockerfile-2.6.7} +3 -3
  9. data/.circleci/images/primary/{Dockerfile-2.7.0 → Dockerfile-2.7.3} +3 -3
  10. data/.circleci/images/primary/{Dockerfile-3.0.0 → Dockerfile-3.0.1} +3 -3
  11. data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +3 -3
  12. data/.circleci/images/primary/Dockerfile-jruby-9.2.0.0 +1 -1
  13. data/.circleci/images/primary/{Dockerfile-truffleruby-21.0.0 → Dockerfile-truffleruby-21.1.0} +2 -2
  14. data/.dd-ci/ci-app-spec.json +31 -0
  15. data/.dockerignore +0 -1
  16. data/.gitattributes +1 -0
  17. data/.github/workflows/test-head.yaml +34 -0
  18. data/.gitignore +0 -1
  19. data/.rubocop.yml +13 -9
  20. data/.rubocop_todo.yml +7 -8
  21. data/Appraisals +206 -182
  22. data/CHANGELOG.md +154 -0
  23. data/Gemfile +6 -3
  24. data/Rakefile +331 -333
  25. data/benchmarks/data/profiler-submission-marshal.gz +0 -0
  26. data/benchmarks/profiler_sample_loop.rb +69 -0
  27. data/benchmarks/profiler_submission.rb +93 -0
  28. data/ddtrace.gemspec +2 -2
  29. data/docker-compose.yml +14 -68
  30. data/docs/GettingStarted.md +59 -13
  31. data/gemfiles/jruby_9.2.0.0_contrib.gemfile +82 -0
  32. data/gemfiles/jruby_9.2.0.0_contrib.gemfile.lock +1571 -0
  33. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile +36 -0
  34. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile.lock +159 -0
  35. data/gemfiles/jruby_9.2.0.0_core_old.gemfile +35 -0
  36. data/gemfiles/jruby_9.2.0.0_core_old.gemfile.lock +155 -0
  37. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile +36 -0
  38. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile.lock +176 -0
  39. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile +36 -0
  40. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile.lock +208 -0
  41. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile +36 -0
  42. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile.lock +208 -0
  43. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile +41 -0
  44. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile.lock +273 -0
  45. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile +41 -0
  46. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile.lock +273 -0
  47. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile +42 -0
  48. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile.lock +275 -0
  49. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile +42 -0
  50. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile.lock +275 -0
  51. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile +43 -0
  52. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile.lock +281 -0
  53. data/gemfiles/jruby_9.2.0.0_rails5_semantic_logger.gemfile +41 -0
  54. data/gemfiles/jruby_9.2.0.0_rails5_semantic_logger.gemfile.lock +272 -0
  55. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile +41 -0
  56. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile.lock +292 -0
  57. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile +41 -0
  58. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile.lock +292 -0
  59. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile +42 -0
  60. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile.lock +294 -0
  61. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile +42 -0
  62. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile.lock +299 -0
  63. data/gemfiles/jruby_9.2.0.0_rails61_semantic_logger.gemfile +41 -0
  64. data/gemfiles/jruby_9.2.0.0_rails61_semantic_logger.gemfile.lock +291 -0
  65. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile +41 -0
  66. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile.lock +289 -0
  67. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile +41 -0
  68. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile.lock +289 -0
  69. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile +42 -0
  70. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile.lock +291 -0
  71. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile +42 -0
  72. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile.lock +291 -0
  73. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile +43 -0
  74. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile.lock +297 -0
  75. data/gemfiles/jruby_9.2.0.0_rails6_semantic_logger.gemfile +41 -0
  76. data/gemfiles/jruby_9.2.0.0_rails6_semantic_logger.gemfile.lock +288 -0
  77. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile +37 -0
  78. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile.lock +182 -0
  79. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile +37 -0
  80. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile.lock +182 -0
  81. data/gemfiles/jruby_9.2.18.0_contrib.gemfile +82 -0
  82. data/gemfiles/jruby_9.2.18.0_contrib.gemfile.lock +1571 -0
  83. data/gemfiles/jruby_9.2.18.0_contrib_old.gemfile +36 -0
  84. data/gemfiles/jruby_9.2.18.0_contrib_old.gemfile.lock +159 -0
  85. data/gemfiles/jruby_9.2.18.0_core_old.gemfile +35 -0
  86. data/gemfiles/jruby_9.2.18.0_core_old.gemfile.lock +155 -0
  87. data/gemfiles/jruby_9.2.18.0_cucumber3.gemfile +36 -0
  88. data/gemfiles/jruby_9.2.18.0_cucumber3.gemfile.lock +176 -0
  89. data/gemfiles/jruby_9.2.18.0_cucumber4.gemfile +36 -0
  90. data/gemfiles/jruby_9.2.18.0_cucumber4.gemfile.lock +208 -0
  91. data/gemfiles/jruby_9.2.18.0_cucumber5.gemfile +36 -0
  92. data/gemfiles/jruby_9.2.18.0_cucumber5.gemfile.lock +208 -0
  93. data/gemfiles/jruby_9.2.18.0_rails5_mysql2.gemfile +41 -0
  94. data/gemfiles/jruby_9.2.18.0_rails5_mysql2.gemfile.lock +273 -0
  95. data/gemfiles/jruby_9.2.18.0_rails5_postgres.gemfile +41 -0
  96. data/gemfiles/jruby_9.2.18.0_rails5_postgres.gemfile.lock +273 -0
  97. data/gemfiles/jruby_9.2.18.0_rails5_postgres_redis.gemfile +42 -0
  98. data/gemfiles/jruby_9.2.18.0_rails5_postgres_redis.gemfile.lock +275 -0
  99. data/gemfiles/jruby_9.2.18.0_rails5_postgres_redis_activesupport.gemfile +42 -0
  100. data/gemfiles/jruby_9.2.18.0_rails5_postgres_redis_activesupport.gemfile.lock +275 -0
  101. data/gemfiles/jruby_9.2.18.0_rails5_postgres_sidekiq.gemfile +43 -0
  102. data/gemfiles/jruby_9.2.18.0_rails5_postgres_sidekiq.gemfile.lock +281 -0
  103. data/gemfiles/jruby_9.2.18.0_rails5_semantic_logger.gemfile +41 -0
  104. data/gemfiles/jruby_9.2.18.0_rails5_semantic_logger.gemfile.lock +272 -0
  105. data/gemfiles/jruby_9.2.18.0_rails61_mysql2.gemfile +41 -0
  106. data/gemfiles/jruby_9.2.18.0_rails61_mysql2.gemfile.lock +292 -0
  107. data/gemfiles/jruby_9.2.18.0_rails61_postgres.gemfile +41 -0
  108. data/gemfiles/jruby_9.2.18.0_rails61_postgres.gemfile.lock +292 -0
  109. data/gemfiles/jruby_9.2.18.0_rails61_postgres_redis.gemfile +42 -0
  110. data/gemfiles/jruby_9.2.18.0_rails61_postgres_redis.gemfile.lock +294 -0
  111. data/gemfiles/jruby_9.2.18.0_rails61_postgres_sidekiq.gemfile +42 -0
  112. data/gemfiles/jruby_9.2.18.0_rails61_postgres_sidekiq.gemfile.lock +299 -0
  113. data/gemfiles/jruby_9.2.18.0_rails61_semantic_logger.gemfile +41 -0
  114. data/gemfiles/jruby_9.2.18.0_rails61_semantic_logger.gemfile.lock +291 -0
  115. data/gemfiles/jruby_9.2.18.0_rails6_mysql2.gemfile +41 -0
  116. data/gemfiles/jruby_9.2.18.0_rails6_mysql2.gemfile.lock +289 -0
  117. data/gemfiles/jruby_9.2.18.0_rails6_postgres.gemfile +41 -0
  118. data/gemfiles/jruby_9.2.18.0_rails6_postgres.gemfile.lock +289 -0
  119. data/gemfiles/jruby_9.2.18.0_rails6_postgres_redis.gemfile +42 -0
  120. data/gemfiles/jruby_9.2.18.0_rails6_postgres_redis.gemfile.lock +291 -0
  121. data/gemfiles/jruby_9.2.18.0_rails6_postgres_redis_activesupport.gemfile +42 -0
  122. data/gemfiles/jruby_9.2.18.0_rails6_postgres_redis_activesupport.gemfile.lock +291 -0
  123. data/gemfiles/jruby_9.2.18.0_rails6_postgres_sidekiq.gemfile +43 -0
  124. data/gemfiles/jruby_9.2.18.0_rails6_postgres_sidekiq.gemfile.lock +297 -0
  125. data/gemfiles/jruby_9.2.18.0_rails6_semantic_logger.gemfile +41 -0
  126. data/gemfiles/jruby_9.2.18.0_rails6_semantic_logger.gemfile.lock +288 -0
  127. data/gemfiles/jruby_9.2.18.0_resque2_redis3.gemfile +37 -0
  128. data/gemfiles/jruby_9.2.18.0_resque2_redis3.gemfile.lock +182 -0
  129. data/gemfiles/jruby_9.2.18.0_resque2_redis4.gemfile +37 -0
  130. data/gemfiles/jruby_9.2.18.0_resque2_redis4.gemfile.lock +182 -0
  131. data/gemfiles/ruby_2.1.10_contrib_old.gemfile +68 -0
  132. data/gemfiles/ruby_2.1.10_contrib_old.gemfile.lock +310 -0
  133. data/gemfiles/ruby_2.1.10_core_old.gemfile +34 -0
  134. data/gemfiles/ruby_2.1.10_core_old.gemfile.lock +120 -0
  135. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile +39 -0
  136. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile.lock +193 -0
  137. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile +40 -0
  138. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile.lock +202 -0
  139. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile +42 -0
  140. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile.lock +212 -0
  141. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile +39 -0
  142. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile.lock +201 -0
  143. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile +41 -0
  144. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile.lock +220 -0
  145. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile +40 -0
  146. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile.lock +210 -0
  147. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile +39 -0
  148. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile.lock +220 -0
  149. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile +39 -0
  150. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile.lock +220 -0
  151. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile +41 -0
  152. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile.lock +239 -0
  153. data/gemfiles/ruby_2.1.10_rails4_semantic_logger.gemfile +39 -0
  154. data/gemfiles/ruby_2.1.10_rails4_semantic_logger.gemfile.lock +218 -0
  155. data/gemfiles/ruby_2.2.10_contrib.gemfile +76 -0
  156. data/gemfiles/ruby_2.2.10_contrib.gemfile.lock +1499 -0
  157. data/gemfiles/ruby_2.2.10_core_old.gemfile +34 -0
  158. data/gemfiles/ruby_2.2.10_core_old.gemfile.lock +120 -0
  159. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile +39 -0
  160. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile.lock +193 -0
  161. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile +40 -0
  162. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile.lock +202 -0
  163. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile +41 -0
  164. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile.lock +209 -0
  165. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile +39 -0
  166. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile.lock +201 -0
  167. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile +41 -0
  168. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile.lock +220 -0
  169. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile +40 -0
  170. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile.lock +210 -0
  171. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile +39 -0
  172. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile.lock +220 -0
  173. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile +39 -0
  174. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile.lock +220 -0
  175. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile +41 -0
  176. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile.lock +239 -0
  177. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile +41 -0
  178. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile.lock +231 -0
  179. data/gemfiles/ruby_2.2.10_rails4_semantic_logger.gemfile +39 -0
  180. data/gemfiles/ruby_2.2.10_rails4_semantic_logger.gemfile.lock +218 -0
  181. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile +39 -0
  182. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile.lock +236 -0
  183. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile +39 -0
  184. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile.lock +236 -0
  185. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile +40 -0
  186. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile.lock +238 -0
  187. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile +40 -0
  188. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile.lock +238 -0
  189. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile +41 -0
  190. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile.lock +247 -0
  191. data/gemfiles/ruby_2.2.10_rails5_semantic_logger.gemfile +39 -0
  192. data/gemfiles/ruby_2.2.10_rails5_semantic_logger.gemfile.lock +234 -0
  193. data/gemfiles/ruby_2.3.8_contrib.gemfile +75 -0
  194. data/gemfiles/ruby_2.3.8_contrib.gemfile.lock +1508 -0
  195. data/gemfiles/ruby_2.3.8_contrib_old.gemfile +34 -0
  196. data/gemfiles/ruby_2.3.8_contrib_old.gemfile.lock +123 -0
  197. data/gemfiles/ruby_2.3.8_core_old.gemfile +33 -0
  198. data/gemfiles/ruby_2.3.8_core_old.gemfile.lock +119 -0
  199. data/gemfiles/ruby_2.3.8_cucumber3.gemfile +34 -0
  200. data/gemfiles/ruby_2.3.8_cucumber3.gemfile.lock +140 -0
  201. data/gemfiles/ruby_2.3.8_cucumber4.gemfile +34 -0
  202. data/gemfiles/ruby_2.3.8_cucumber4.gemfile.lock +170 -0
  203. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile +38 -0
  204. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile.lock +192 -0
  205. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile +39 -0
  206. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile.lock +201 -0
  207. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile +40 -0
  208. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile.lock +208 -0
  209. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile +38 -0
  210. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile.lock +200 -0
  211. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile +40 -0
  212. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile.lock +219 -0
  213. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile +39 -0
  214. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile.lock +209 -0
  215. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile +38 -0
  216. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile.lock +219 -0
  217. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile +38 -0
  218. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile.lock +219 -0
  219. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile +40 -0
  220. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile.lock +238 -0
  221. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile +40 -0
  222. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile.lock +230 -0
  223. data/gemfiles/ruby_2.3.8_rails4_semantic_logger.gemfile +38 -0
  224. data/gemfiles/ruby_2.3.8_rails4_semantic_logger.gemfile.lock +218 -0
  225. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile +37 -0
  226. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile.lock +230 -0
  227. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile +37 -0
  228. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile.lock +230 -0
  229. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile +38 -0
  230. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile.lock +232 -0
  231. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile +38 -0
  232. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile.lock +232 -0
  233. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile +39 -0
  234. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile.lock +241 -0
  235. data/gemfiles/ruby_2.3.8_rails5_semantic_logger.gemfile +37 -0
  236. data/gemfiles/ruby_2.3.8_rails5_semantic_logger.gemfile.lock +229 -0
  237. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile +35 -0
  238. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile.lock +146 -0
  239. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile +35 -0
  240. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile.lock +146 -0
  241. data/gemfiles/ruby_2.4.10_contrib.gemfile +81 -0
  242. data/gemfiles/ruby_2.4.10_contrib.gemfile.lock +1596 -0
  243. data/gemfiles/ruby_2.4.10_contrib_old.gemfile +39 -0
  244. data/gemfiles/ruby_2.4.10_contrib_old.gemfile.lock +157 -0
  245. data/gemfiles/ruby_2.4.10_core_old.gemfile +38 -0
  246. data/gemfiles/ruby_2.4.10_core_old.gemfile.lock +153 -0
  247. data/gemfiles/ruby_2.4.10_cucumber3.gemfile +39 -0
  248. data/gemfiles/ruby_2.4.10_cucumber3.gemfile.lock +174 -0
  249. data/gemfiles/ruby_2.4.10_cucumber4.gemfile +39 -0
  250. data/gemfiles/ruby_2.4.10_cucumber4.gemfile.lock +204 -0
  251. data/gemfiles/ruby_2.4.10_rails5_mysql2.gemfile +42 -0
  252. data/gemfiles/ruby_2.4.10_rails5_mysql2.gemfile.lock +264 -0
  253. data/gemfiles/ruby_2.4.10_rails5_postgres.gemfile +42 -0
  254. data/gemfiles/ruby_2.4.10_rails5_postgres.gemfile.lock +264 -0
  255. data/gemfiles/ruby_2.4.10_rails5_postgres_redis.gemfile +43 -0
  256. data/gemfiles/ruby_2.4.10_rails5_postgres_redis.gemfile.lock +266 -0
  257. data/gemfiles/ruby_2.4.10_rails5_postgres_redis_activesupport.gemfile +43 -0
  258. data/gemfiles/ruby_2.4.10_rails5_postgres_redis_activesupport.gemfile.lock +266 -0
  259. data/gemfiles/ruby_2.4.10_rails5_postgres_sidekiq.gemfile +44 -0
  260. data/gemfiles/ruby_2.4.10_rails5_postgres_sidekiq.gemfile.lock +275 -0
  261. data/gemfiles/ruby_2.4.10_rails5_semantic_logger.gemfile +42 -0
  262. data/gemfiles/ruby_2.4.10_rails5_semantic_logger.gemfile.lock +263 -0
  263. data/gemfiles/ruby_2.4.10_resque2_redis3.gemfile +40 -0
  264. data/gemfiles/ruby_2.4.10_resque2_redis3.gemfile.lock +180 -0
  265. data/gemfiles/ruby_2.4.10_resque2_redis4.gemfile +40 -0
  266. data/gemfiles/ruby_2.4.10_resque2_redis4.gemfile.lock +180 -0
  267. data/gemfiles/ruby_2.5.9_contrib.gemfile +86 -0
  268. data/gemfiles/ruby_2.5.9_contrib.gemfile.lock +1608 -0
  269. data/gemfiles/ruby_2.5.9_contrib_old.gemfile +40 -0
  270. data/gemfiles/ruby_2.5.9_contrib_old.gemfile.lock +167 -0
  271. data/gemfiles/ruby_2.5.9_core_old.gemfile +39 -0
  272. data/gemfiles/ruby_2.5.9_core_old.gemfile.lock +163 -0
  273. data/gemfiles/ruby_2.5.9_cucumber3.gemfile +40 -0
  274. data/gemfiles/ruby_2.5.9_cucumber3.gemfile.lock +184 -0
  275. data/gemfiles/ruby_2.5.9_cucumber4.gemfile +40 -0
  276. data/gemfiles/ruby_2.5.9_cucumber4.gemfile.lock +216 -0
  277. data/gemfiles/ruby_2.5.9_cucumber5.gemfile +40 -0
  278. data/gemfiles/ruby_2.5.9_cucumber5.gemfile.lock +216 -0
  279. data/gemfiles/ruby_2.5.9_rails5_mysql2.gemfile +45 -0
  280. data/gemfiles/ruby_2.5.9_rails5_mysql2.gemfile.lock +276 -0
  281. data/gemfiles/ruby_2.5.9_rails5_postgres.gemfile +45 -0
  282. data/gemfiles/ruby_2.5.9_rails5_postgres.gemfile.lock +276 -0
  283. data/gemfiles/ruby_2.5.9_rails5_postgres_redis.gemfile +46 -0
  284. data/gemfiles/ruby_2.5.9_rails5_postgres_redis.gemfile.lock +278 -0
  285. data/gemfiles/ruby_2.5.9_rails5_postgres_redis_activesupport.gemfile +46 -0
  286. data/gemfiles/ruby_2.5.9_rails5_postgres_redis_activesupport.gemfile.lock +278 -0
  287. data/gemfiles/ruby_2.5.9_rails5_postgres_sidekiq.gemfile +47 -0
  288. data/gemfiles/ruby_2.5.9_rails5_postgres_sidekiq.gemfile.lock +284 -0
  289. data/gemfiles/ruby_2.5.9_rails5_semantic_logger.gemfile +45 -0
  290. data/gemfiles/ruby_2.5.9_rails5_semantic_logger.gemfile.lock +275 -0
  291. data/gemfiles/ruby_2.5.9_rails61_mysql2.gemfile +45 -0
  292. data/gemfiles/ruby_2.5.9_rails61_mysql2.gemfile.lock +295 -0
  293. data/gemfiles/ruby_2.5.9_rails61_postgres.gemfile +45 -0
  294. data/gemfiles/ruby_2.5.9_rails61_postgres.gemfile.lock +295 -0
  295. data/gemfiles/ruby_2.5.9_rails61_postgres_redis.gemfile +46 -0
  296. data/gemfiles/ruby_2.5.9_rails61_postgres_redis.gemfile.lock +297 -0
  297. data/gemfiles/ruby_2.5.9_rails61_postgres_sidekiq.gemfile +46 -0
  298. data/gemfiles/ruby_2.5.9_rails61_postgres_sidekiq.gemfile.lock +302 -0
  299. data/gemfiles/ruby_2.5.9_rails61_semantic_logger.gemfile +45 -0
  300. data/gemfiles/ruby_2.5.9_rails61_semantic_logger.gemfile.lock +294 -0
  301. data/gemfiles/ruby_2.5.9_rails6_mysql2.gemfile +45 -0
  302. data/gemfiles/ruby_2.5.9_rails6_mysql2.gemfile.lock +292 -0
  303. data/gemfiles/ruby_2.5.9_rails6_postgres.gemfile +45 -0
  304. data/gemfiles/ruby_2.5.9_rails6_postgres.gemfile.lock +292 -0
  305. data/gemfiles/ruby_2.5.9_rails6_postgres_redis.gemfile +46 -0
  306. data/gemfiles/ruby_2.5.9_rails6_postgres_redis.gemfile.lock +294 -0
  307. data/gemfiles/ruby_2.5.9_rails6_postgres_redis_activesupport.gemfile +46 -0
  308. data/gemfiles/ruby_2.5.9_rails6_postgres_redis_activesupport.gemfile.lock +294 -0
  309. data/gemfiles/ruby_2.5.9_rails6_postgres_sidekiq.gemfile +47 -0
  310. data/gemfiles/ruby_2.5.9_rails6_postgres_sidekiq.gemfile.lock +300 -0
  311. data/gemfiles/ruby_2.5.9_rails6_semantic_logger.gemfile +45 -0
  312. data/gemfiles/ruby_2.5.9_rails6_semantic_logger.gemfile.lock +291 -0
  313. data/gemfiles/ruby_2.5.9_resque2_redis3.gemfile +41 -0
  314. data/gemfiles/ruby_2.5.9_resque2_redis3.gemfile.lock +190 -0
  315. data/gemfiles/ruby_2.5.9_resque2_redis4.gemfile +41 -0
  316. data/gemfiles/ruby_2.5.9_resque2_redis4.gemfile.lock +190 -0
  317. data/gemfiles/ruby_2.6.7_contrib.gemfile +82 -0
  318. data/gemfiles/ruby_2.6.7_contrib.gemfile.lock +1606 -0
  319. data/gemfiles/ruby_2.6.7_contrib_old.gemfile +40 -0
  320. data/gemfiles/ruby_2.6.7_contrib_old.gemfile.lock +169 -0
  321. data/gemfiles/ruby_2.6.7_core_old.gemfile +39 -0
  322. data/gemfiles/ruby_2.6.7_core_old.gemfile.lock +165 -0
  323. data/gemfiles/ruby_2.6.7_cucumber3.gemfile +40 -0
  324. data/gemfiles/ruby_2.6.7_cucumber3.gemfile.lock +186 -0
  325. data/gemfiles/ruby_2.6.7_cucumber4.gemfile +40 -0
  326. data/gemfiles/ruby_2.6.7_cucumber4.gemfile.lock +218 -0
  327. data/gemfiles/ruby_2.6.7_cucumber5.gemfile +40 -0
  328. data/gemfiles/ruby_2.6.7_cucumber5.gemfile.lock +218 -0
  329. data/gemfiles/ruby_2.6.7_rails5_mysql2.gemfile +43 -0
  330. data/gemfiles/ruby_2.6.7_rails5_mysql2.gemfile.lock +276 -0
  331. data/gemfiles/ruby_2.6.7_rails5_postgres.gemfile +43 -0
  332. data/gemfiles/ruby_2.6.7_rails5_postgres.gemfile.lock +276 -0
  333. data/gemfiles/ruby_2.6.7_rails5_postgres_redis.gemfile +44 -0
  334. data/gemfiles/ruby_2.6.7_rails5_postgres_redis.gemfile.lock +278 -0
  335. data/gemfiles/ruby_2.6.7_rails5_postgres_redis_activesupport.gemfile +44 -0
  336. data/gemfiles/ruby_2.6.7_rails5_postgres_redis_activesupport.gemfile.lock +278 -0
  337. data/gemfiles/ruby_2.6.7_rails5_postgres_sidekiq.gemfile +45 -0
  338. data/gemfiles/ruby_2.6.7_rails5_postgres_sidekiq.gemfile.lock +284 -0
  339. data/gemfiles/ruby_2.6.7_rails5_semantic_logger.gemfile +43 -0
  340. data/gemfiles/ruby_2.6.7_rails5_semantic_logger.gemfile.lock +275 -0
  341. data/gemfiles/ruby_2.6.7_rails61_mysql2.gemfile +43 -0
  342. data/gemfiles/ruby_2.6.7_rails61_mysql2.gemfile.lock +295 -0
  343. data/gemfiles/ruby_2.6.7_rails61_postgres.gemfile +43 -0
  344. data/gemfiles/ruby_2.6.7_rails61_postgres.gemfile.lock +295 -0
  345. data/gemfiles/ruby_2.6.7_rails61_postgres_redis.gemfile +44 -0
  346. data/gemfiles/ruby_2.6.7_rails61_postgres_redis.gemfile.lock +297 -0
  347. data/gemfiles/ruby_2.6.7_rails61_postgres_sidekiq.gemfile +44 -0
  348. data/gemfiles/ruby_2.6.7_rails61_postgres_sidekiq.gemfile.lock +302 -0
  349. data/gemfiles/ruby_2.6.7_rails61_semantic_logger.gemfile +43 -0
  350. data/gemfiles/ruby_2.6.7_rails61_semantic_logger.gemfile.lock +294 -0
  351. data/gemfiles/ruby_2.6.7_rails6_mysql2.gemfile +43 -0
  352. data/gemfiles/ruby_2.6.7_rails6_mysql2.gemfile.lock +292 -0
  353. data/gemfiles/ruby_2.6.7_rails6_postgres.gemfile +43 -0
  354. data/gemfiles/ruby_2.6.7_rails6_postgres.gemfile.lock +292 -0
  355. data/gemfiles/ruby_2.6.7_rails6_postgres_redis.gemfile +44 -0
  356. data/gemfiles/ruby_2.6.7_rails6_postgres_redis.gemfile.lock +294 -0
  357. data/gemfiles/ruby_2.6.7_rails6_postgres_redis_activesupport.gemfile +44 -0
  358. data/gemfiles/ruby_2.6.7_rails6_postgres_redis_activesupport.gemfile.lock +294 -0
  359. data/gemfiles/ruby_2.6.7_rails6_postgres_sidekiq.gemfile +45 -0
  360. data/gemfiles/ruby_2.6.7_rails6_postgres_sidekiq.gemfile.lock +300 -0
  361. data/gemfiles/ruby_2.6.7_rails6_semantic_logger.gemfile +43 -0
  362. data/gemfiles/ruby_2.6.7_rails6_semantic_logger.gemfile.lock +291 -0
  363. data/gemfiles/ruby_2.6.7_resque2_redis3.gemfile +41 -0
  364. data/gemfiles/ruby_2.6.7_resque2_redis3.gemfile.lock +192 -0
  365. data/gemfiles/ruby_2.6.7_resque2_redis4.gemfile +41 -0
  366. data/gemfiles/ruby_2.6.7_resque2_redis4.gemfile.lock +192 -0
  367. data/gemfiles/ruby_2.7.3_contrib.gemfile +81 -0
  368. data/gemfiles/ruby_2.7.3_contrib.gemfile.lock +1580 -0
  369. data/gemfiles/ruby_2.7.3_contrib_old.gemfile +40 -0
  370. data/gemfiles/ruby_2.7.3_contrib_old.gemfile.lock +169 -0
  371. data/gemfiles/ruby_2.7.3_core_old.gemfile +39 -0
  372. data/gemfiles/ruby_2.7.3_core_old.gemfile.lock +165 -0
  373. data/gemfiles/ruby_2.7.3_cucumber3.gemfile +40 -0
  374. data/gemfiles/ruby_2.7.3_cucumber3.gemfile.lock +186 -0
  375. data/gemfiles/ruby_2.7.3_cucumber4.gemfile +40 -0
  376. data/gemfiles/ruby_2.7.3_cucumber4.gemfile.lock +218 -0
  377. data/gemfiles/ruby_2.7.3_cucumber5.gemfile +40 -0
  378. data/gemfiles/ruby_2.7.3_cucumber5.gemfile.lock +218 -0
  379. data/gemfiles/ruby_2.7.3_rails5_mysql2.gemfile +43 -0
  380. data/gemfiles/ruby_2.7.3_rails5_mysql2.gemfile.lock +278 -0
  381. data/gemfiles/ruby_2.7.3_rails5_postgres.gemfile +43 -0
  382. data/gemfiles/ruby_2.7.3_rails5_postgres.gemfile.lock +278 -0
  383. data/gemfiles/ruby_2.7.3_rails5_postgres_redis.gemfile +45 -0
  384. data/gemfiles/ruby_2.7.3_rails5_postgres_redis.gemfile.lock +297 -0
  385. data/gemfiles/ruby_2.7.3_rails5_postgres_redis_activesupport.gemfile +45 -0
  386. data/gemfiles/ruby_2.7.3_rails5_postgres_redis_activesupport.gemfile.lock +297 -0
  387. data/gemfiles/ruby_2.7.3_rails5_postgres_sidekiq.gemfile +45 -0
  388. data/gemfiles/ruby_2.7.3_rails5_postgres_sidekiq.gemfile.lock +286 -0
  389. data/gemfiles/ruby_2.7.3_rails5_semantic_logger.gemfile +43 -0
  390. data/gemfiles/ruby_2.7.3_rails5_semantic_logger.gemfile.lock +277 -0
  391. data/gemfiles/ruby_2.7.3_rails61_mysql2.gemfile +43 -0
  392. data/gemfiles/ruby_2.7.3_rails61_mysql2.gemfile.lock +297 -0
  393. data/gemfiles/ruby_2.7.3_rails61_postgres.gemfile +43 -0
  394. data/gemfiles/ruby_2.7.3_rails61_postgres.gemfile.lock +297 -0
  395. data/gemfiles/ruby_2.7.3_rails61_postgres_redis.gemfile +44 -0
  396. data/gemfiles/ruby_2.7.3_rails61_postgres_redis.gemfile.lock +299 -0
  397. data/gemfiles/ruby_2.7.3_rails61_postgres_sidekiq.gemfile +44 -0
  398. data/gemfiles/ruby_2.7.3_rails61_postgres_sidekiq.gemfile.lock +304 -0
  399. data/gemfiles/ruby_2.7.3_rails61_semantic_logger.gemfile +43 -0
  400. data/gemfiles/ruby_2.7.3_rails61_semantic_logger.gemfile.lock +296 -0
  401. data/gemfiles/ruby_2.7.3_rails6_mysql2.gemfile +43 -0
  402. data/gemfiles/ruby_2.7.3_rails6_mysql2.gemfile.lock +294 -0
  403. data/gemfiles/ruby_2.7.3_rails6_postgres.gemfile +43 -0
  404. data/gemfiles/ruby_2.7.3_rails6_postgres.gemfile.lock +294 -0
  405. data/gemfiles/ruby_2.7.3_rails6_postgres_redis.gemfile +45 -0
  406. data/gemfiles/ruby_2.7.3_rails6_postgres_redis.gemfile.lock +313 -0
  407. data/gemfiles/ruby_2.7.3_rails6_postgres_redis_activesupport.gemfile +45 -0
  408. data/gemfiles/ruby_2.7.3_rails6_postgres_redis_activesupport.gemfile.lock +313 -0
  409. data/gemfiles/ruby_2.7.3_rails6_postgres_sidekiq.gemfile +45 -0
  410. data/gemfiles/ruby_2.7.3_rails6_postgres_sidekiq.gemfile.lock +302 -0
  411. data/gemfiles/ruby_2.7.3_rails6_semantic_logger.gemfile +43 -0
  412. data/gemfiles/ruby_2.7.3_rails6_semantic_logger.gemfile.lock +293 -0
  413. data/gemfiles/ruby_2.7.3_resque2_redis3.gemfile +41 -0
  414. data/gemfiles/ruby_2.7.3_resque2_redis3.gemfile.lock +192 -0
  415. data/gemfiles/ruby_2.7.3_resque2_redis4.gemfile +41 -0
  416. data/gemfiles/ruby_2.7.3_resque2_redis4.gemfile.lock +192 -0
  417. data/gemfiles/ruby_3.0.1_contrib.gemfile +80 -0
  418. data/gemfiles/ruby_3.0.1_contrib.gemfile.lock +1583 -0
  419. data/gemfiles/ruby_3.0.1_core_old.gemfile +40 -0
  420. data/gemfiles/ruby_3.0.1_core_old.gemfile.lock +167 -0
  421. data/gemfiles/ruby_3.0.1_cucumber3.gemfile +41 -0
  422. data/gemfiles/ruby_3.0.1_cucumber3.gemfile.lock +188 -0
  423. data/gemfiles/ruby_3.0.1_cucumber4.gemfile +41 -0
  424. data/gemfiles/ruby_3.0.1_cucumber4.gemfile.lock +220 -0
  425. data/gemfiles/ruby_3.0.1_cucumber5.gemfile +41 -0
  426. data/gemfiles/ruby_3.0.1_cucumber5.gemfile.lock +220 -0
  427. data/gemfiles/ruby_3.0.1_rails61_mysql2.gemfile +44 -0
  428. data/gemfiles/ruby_3.0.1_rails61_mysql2.gemfile.lock +297 -0
  429. data/gemfiles/ruby_3.0.1_rails61_postgres.gemfile +44 -0
  430. data/gemfiles/ruby_3.0.1_rails61_postgres.gemfile.lock +297 -0
  431. data/gemfiles/ruby_3.0.1_rails61_postgres_redis.gemfile +45 -0
  432. data/gemfiles/ruby_3.0.1_rails61_postgres_redis.gemfile.lock +299 -0
  433. data/gemfiles/ruby_3.0.1_rails61_postgres_sidekiq.gemfile +46 -0
  434. data/gemfiles/ruby_3.0.1_rails61_postgres_sidekiq.gemfile.lock +311 -0
  435. data/gemfiles/ruby_3.0.1_rails61_semantic_logger.gemfile +44 -0
  436. data/gemfiles/ruby_3.0.1_rails61_semantic_logger.gemfile.lock +296 -0
  437. data/gemfiles/ruby_3.0.1_resque2_redis3.gemfile +42 -0
  438. data/gemfiles/ruby_3.0.1_resque2_redis3.gemfile.lock +194 -0
  439. data/gemfiles/ruby_3.0.1_resque2_redis4.gemfile +42 -0
  440. data/gemfiles/ruby_3.0.1_resque2_redis4.gemfile.lock +194 -0
  441. data/integration/apps/rack/README.md +2 -2
  442. data/integration/apps/rack/script/ci +2 -1
  443. data/integration/apps/rails-five/README.md +2 -2
  444. data/integration/apps/rails-five/script/ci +2 -1
  445. data/integration/apps/rspec/.dockerignore +1 -0
  446. data/integration/apps/rspec/.envrc.sample +1 -0
  447. data/integration/apps/rspec/.gitignore +2 -0
  448. data/integration/apps/rspec/.rspec +1 -0
  449. data/integration/apps/rspec/Dockerfile +25 -0
  450. data/integration/apps/rspec/Dockerfile-ci +11 -0
  451. data/integration/apps/rspec/Gemfile +14 -0
  452. data/integration/apps/rspec/README.md +70 -0
  453. data/integration/apps/rspec/agent.yaml +3 -0
  454. data/integration/apps/rspec/app/datadog.rb +13 -0
  455. data/integration/apps/rspec/app/fibonacci.rb +30 -0
  456. data/integration/apps/rspec/bin/run +20 -0
  457. data/integration/apps/rspec/bin/setup +23 -0
  458. data/integration/apps/rspec/bin/test +21 -0
  459. data/integration/apps/rspec/docker-compose.ci.yml +51 -0
  460. data/integration/apps/rspec/docker-compose.yml +64 -0
  461. data/integration/apps/rspec/script/build-images +37 -0
  462. data/integration/apps/rspec/script/ci +53 -0
  463. data/integration/apps/rspec/spec/fibonacci_spec.rb +16 -0
  464. data/integration/apps/rspec/spec/rspec_spec.rb +58 -0
  465. data/integration/apps/rspec/spec/spec_helper.rb +24 -0
  466. data/integration/apps/ruby/README.md +2 -2
  467. data/integration/apps/ruby/script/ci +2 -1
  468. data/integration/images/include/datadog/demo_env.rb +15 -14
  469. data/lib/datadog/ci.rb +16 -0
  470. data/lib/datadog/ci/configuration/components.rb +30 -0
  471. data/lib/datadog/ci/configuration/settings.rb +36 -0
  472. data/lib/datadog/ci/context_flush.rb +28 -0
  473. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +30 -0
  474. data/lib/datadog/ci/contrib/cucumber/ext.rb +19 -0
  475. data/lib/datadog/ci/contrib/cucumber/formatter.rb +97 -0
  476. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +26 -0
  477. data/lib/datadog/ci/contrib/cucumber/integration.rb +47 -0
  478. data/lib/datadog/ci/contrib/cucumber/patcher.rb +25 -0
  479. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +30 -0
  480. data/lib/datadog/ci/contrib/rspec/example.rb +73 -0
  481. data/lib/datadog/ci/contrib/rspec/ext.rb +18 -0
  482. data/lib/datadog/ci/contrib/rspec/integration.rb +48 -0
  483. data/lib/datadog/ci/contrib/rspec/patcher.rb +25 -0
  484. data/lib/datadog/ci/ext/app_types.rb +9 -0
  485. data/lib/datadog/ci/ext/environment.rb +438 -0
  486. data/lib/datadog/ci/ext/settings.rb +10 -0
  487. data/lib/datadog/ci/ext/test.rb +34 -0
  488. data/lib/datadog/ci/extensions.rb +17 -0
  489. data/lib/datadog/ci/test.rb +76 -0
  490. data/lib/datadog/core/environment/cgroup.rb +49 -0
  491. data/lib/datadog/core/environment/class_count.rb +19 -0
  492. data/lib/datadog/core/environment/container.rb +88 -0
  493. data/lib/datadog/core/environment/ext.rb +26 -0
  494. data/lib/datadog/core/environment/gc.rb +18 -0
  495. data/lib/datadog/core/environment/identity.rb +50 -0
  496. data/lib/datadog/core/environment/object_space.rb +22 -0
  497. data/lib/datadog/core/environment/socket.rb +16 -0
  498. data/lib/datadog/core/environment/thread_count.rb +18 -0
  499. data/lib/datadog/core/environment/variable_helpers.rb +39 -0
  500. data/lib/ddtrace.rb +2 -2
  501. data/lib/ddtrace/auto_instrument.rb +1 -0
  502. data/lib/ddtrace/buffer.rb +2 -2
  503. data/lib/ddtrace/configuration.rb +1 -23
  504. data/lib/ddtrace/configuration/agent_settings_resolver.rb +230 -0
  505. data/lib/ddtrace/configuration/base.rb +7 -10
  506. data/lib/ddtrace/configuration/components.rb +88 -43
  507. data/lib/ddtrace/configuration/options.rb +2 -2
  508. data/lib/ddtrace/configuration/settings.rb +76 -10
  509. data/lib/ddtrace/context.rb +17 -14
  510. data/lib/ddtrace/context_flush.rb +14 -2
  511. data/lib/ddtrace/contrib/action_cable/event.rb +4 -4
  512. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +1 -1
  513. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +1 -1
  514. data/lib/ddtrace/contrib/action_pack/utils.rb +1 -1
  515. data/lib/ddtrace/contrib/action_view/event.rb +2 -2
  516. data/lib/ddtrace/contrib/action_view/patcher.rb +4 -4
  517. data/lib/ddtrace/contrib/active_model_serializers/event.rb +2 -2
  518. data/lib/ddtrace/contrib/active_record/event.rb +2 -2
  519. data/lib/ddtrace/contrib/active_record/utils.rb +2 -2
  520. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +7 -7
  521. data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -5
  522. data/lib/ddtrace/contrib/active_support/notifications/event.rb +2 -2
  523. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +1 -1
  524. data/lib/ddtrace/contrib/auto_instrument.rb +1 -2
  525. data/lib/ddtrace/contrib/aws/instrumentation.rb +29 -0
  526. data/lib/ddtrace/contrib/aws/patcher.rb +4 -0
  527. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +1 -1
  528. data/lib/ddtrace/contrib/configurable.rb +1 -1
  529. data/lib/ddtrace/contrib/dalli/instrumentation.rb +1 -1
  530. data/lib/ddtrace/contrib/dalli/patcher.rb +1 -1
  531. data/lib/ddtrace/contrib/ethon/easy_patch.rb +1 -1
  532. data/lib/ddtrace/contrib/ethon/multi_patch.rb +1 -1
  533. data/lib/ddtrace/contrib/ethon/patcher.rb +2 -2
  534. data/lib/ddtrace/contrib/extensions.rb +3 -3
  535. data/lib/ddtrace/contrib/faraday/patcher.rb +2 -2
  536. data/lib/ddtrace/contrib/grape/instrumentation.rb +2 -2
  537. data/lib/ddtrace/contrib/grape/patcher.rb +1 -1
  538. data/lib/ddtrace/contrib/grpc/patcher.rb +1 -1
  539. data/lib/ddtrace/contrib/http/instrumentation.rb +1 -1
  540. data/lib/ddtrace/contrib/http/patcher.rb +1 -1
  541. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +1 -1
  542. data/lib/ddtrace/contrib/httpclient/patcher.rb +1 -1
  543. data/lib/ddtrace/contrib/httprb/instrumentation.rb +1 -1
  544. data/lib/ddtrace/contrib/httprb/patcher.rb +1 -1
  545. data/lib/ddtrace/contrib/integration.rb +3 -3
  546. data/lib/ddtrace/contrib/kafka/event.rb +2 -2
  547. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +18 -0
  548. data/lib/ddtrace/contrib/lograge/ext.rb +10 -0
  549. data/lib/ddtrace/contrib/lograge/instrumentation.rb +38 -0
  550. data/lib/ddtrace/contrib/lograge/integration.rb +45 -0
  551. data/lib/ddtrace/contrib/{rspec → lograge}/patcher.rb +6 -4
  552. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +2 -2
  553. data/lib/ddtrace/contrib/mongodb/patcher.rb +2 -2
  554. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +1 -1
  555. data/lib/ddtrace/contrib/mysql2/patcher.rb +1 -1
  556. data/lib/ddtrace/contrib/patchable.rb +2 -2
  557. data/lib/ddtrace/contrib/patcher.rb +2 -2
  558. data/lib/ddtrace/contrib/presto/instrumentation.rb +1 -1
  559. data/lib/ddtrace/contrib/presto/patcher.rb +1 -1
  560. data/lib/ddtrace/contrib/qless/patcher.rb +3 -5
  561. data/lib/ddtrace/contrib/racecar/event.rb +2 -2
  562. data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
  563. data/lib/ddtrace/contrib/rails/framework.rb +25 -1
  564. data/lib/ddtrace/contrib/rails/log_injection.rb +0 -40
  565. data/lib/ddtrace/contrib/rails/patcher.rb +11 -9
  566. data/lib/ddtrace/contrib/rake/instrumentation.rb +1 -1
  567. data/lib/ddtrace/contrib/rake/patcher.rb +1 -1
  568. data/lib/ddtrace/contrib/registerable.rb +2 -2
  569. data/lib/ddtrace/contrib/resque/patcher.rb +1 -1
  570. data/lib/ddtrace/contrib/rest_client/patcher.rb +1 -1
  571. data/lib/ddtrace/contrib/rest_client/request_patch.rb +1 -1
  572. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +18 -0
  573. data/lib/ddtrace/contrib/semantic_logger/ext.rb +10 -0
  574. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +42 -0
  575. data/lib/ddtrace/contrib/semantic_logger/integration.rb +47 -0
  576. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +25 -0
  577. data/lib/ddtrace/contrib/sequel/database.rb +1 -1
  578. data/lib/ddtrace/contrib/sequel/dataset.rb +1 -1
  579. data/lib/ddtrace/contrib/sequel/patcher.rb +2 -2
  580. data/lib/ddtrace/contrib/sinatra/patcher.rb +1 -1
  581. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +4 -6
  582. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +4 -0
  583. data/lib/ddtrace/correlation.rb +1 -1
  584. data/lib/ddtrace/diagnostics/environment_logger.rb +4 -4
  585. data/lib/ddtrace/error.rb +76 -9
  586. data/lib/ddtrace/ext/app_types.rb +0 -1
  587. data/lib/ddtrace/ext/environment.rb +7 -0
  588. data/lib/ddtrace/ext/git.rb +9 -1
  589. data/lib/ddtrace/ext/profiling.rb +1 -0
  590. data/lib/ddtrace/ext/runtime.rb +0 -9
  591. data/lib/ddtrace/ext/test.rb +2 -18
  592. data/lib/ddtrace/ext/transport.rb +1 -0
  593. data/lib/ddtrace/metrics.rb +64 -13
  594. data/lib/ddtrace/opentelemetry/extensions.rb +1 -1
  595. data/lib/ddtrace/opentracer.rb +20 -39
  596. data/lib/ddtrace/patcher.rb +2 -2
  597. data/lib/ddtrace/profiling.rb +75 -22
  598. data/lib/ddtrace/profiling/collectors/stack.rb +17 -8
  599. data/lib/ddtrace/profiling/encoding/profile.rb +6 -0
  600. data/lib/ddtrace/profiling/ext/cpu.rb +18 -5
  601. data/lib/ddtrace/profiling/ext/cthread.rb +56 -35
  602. data/lib/ddtrace/profiling/ext/forking.rb +7 -7
  603. data/lib/ddtrace/profiling/flush.rb +12 -10
  604. data/lib/ddtrace/profiling/pprof/builder.rb +26 -28
  605. data/lib/ddtrace/profiling/pprof/converter.rb +4 -0
  606. data/lib/ddtrace/profiling/pprof/stack_sample.rb +17 -1
  607. data/lib/ddtrace/profiling/pprof/template.rb +4 -0
  608. data/lib/ddtrace/profiling/profiler.rb +2 -0
  609. data/lib/ddtrace/profiling/recorder.rb +8 -0
  610. data/lib/ddtrace/profiling/scheduler.rb +44 -12
  611. data/lib/ddtrace/profiling/tasks/setup.rb +13 -13
  612. data/lib/ddtrace/profiling/transport/http.rb +58 -62
  613. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +12 -2
  614. data/lib/ddtrace/runtime/metrics.rb +20 -14
  615. data/lib/ddtrace/span.rb +17 -6
  616. data/lib/ddtrace/sync_writer.rb +4 -3
  617. data/lib/ddtrace/tracer.rb +19 -44
  618. data/lib/ddtrace/transport/http.rb +43 -40
  619. data/lib/ddtrace/transport/http/statistics.rb +2 -2
  620. data/lib/ddtrace/transport/http/traces.rb +3 -3
  621. data/lib/ddtrace/transport/io/traces.rb +1 -1
  622. data/lib/ddtrace/utils/forking.rb +1 -1
  623. data/lib/ddtrace/utils/object_set.rb +3 -5
  624. data/lib/ddtrace/utils/time.rb +1 -3
  625. data/lib/ddtrace/version.rb +15 -5
  626. data/lib/ddtrace/workers.rb +1 -1
  627. data/lib/ddtrace/workers/async.rb +3 -2
  628. data/lib/ddtrace/workers/loop.rb +14 -2
  629. data/lib/ddtrace/workers/polling.rb +11 -5
  630. data/lib/ddtrace/workers/queue.rb +1 -1
  631. data/lib/ddtrace/workers/trace_writer.rb +3 -6
  632. data/lib/ddtrace/writer.rb +6 -3
  633. data/tasks/update_appraisal_gemfiles.rake +36 -0
  634. metadata +493 -33
  635. data/.circleci/images/primary/Dockerfile-2.0.0 +0 -83
  636. data/integration/images/ruby/2.0/Dockerfile +0 -54
  637. data/lib/ddtrace/contrib/cucumber/configuration/settings.rb +0 -28
  638. data/lib/ddtrace/contrib/cucumber/ext.rb +0 -17
  639. data/lib/ddtrace/contrib/cucumber/formatter.rb +0 -98
  640. data/lib/ddtrace/contrib/cucumber/instrumentation.rb +0 -24
  641. data/lib/ddtrace/contrib/cucumber/integration.rb +0 -45
  642. data/lib/ddtrace/contrib/cucumber/patcher.rb +0 -23
  643. data/lib/ddtrace/contrib/rspec/configuration/settings.rb +0 -28
  644. data/lib/ddtrace/contrib/rspec/example.rb +0 -75
  645. data/lib/ddtrace/contrib/rspec/ext.rb +0 -16
  646. data/lib/ddtrace/contrib/rspec/integration.rb +0 -46
  647. data/lib/ddtrace/environment.rb +0 -41
  648. data/lib/ddtrace/ext/ci.rb +0 -297
  649. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  650. data/lib/ddtrace/runtime/class_count.rb +0 -17
  651. data/lib/ddtrace/runtime/container.rb +0 -79
  652. data/lib/ddtrace/runtime/gc.rb +0 -16
  653. data/lib/ddtrace/runtime/identity.rb +0 -48
  654. data/lib/ddtrace/runtime/object_space.rb +0 -19
  655. data/lib/ddtrace/runtime/socket.rb +0 -14
  656. data/lib/ddtrace/runtime/thread_count.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9418700e29312fa4efc67e04b7ff901950a5ee0d942cc7fe06a49adbf694f08a
4
- data.tar.gz: 348acc764a300c51c3e99b02001b0dc238775c6afd7b07fd3ee4c31758e1e906
3
+ metadata.gz: 86062d096de977021fa4a6d3d94e827f69ca4bdd5432cf52eb805b1cd5a39f9b
4
+ data.tar.gz: 7650141aa7e35974f25cd27f218a0ee0c091e006bedda51c337e31fefb471651
5
5
  SHA512:
6
- metadata.gz: f1cdbcdef68b68901a5737c3bfae8797709448a6db0b92ee2f1a7e59c64c6610bf327b1d847bd2cd0d18e651807d9c6cead347516f258f7f62169ca71315d7e1
7
- data.tar.gz: 4c9e69ff9418143fff7734c2fd7ae2973d230a58e5173e8a1a6e128733a5bdb3fda11874f63b87840fc7e60098c94c746dce7d527726166345e4ca1e4a4b95a2
6
+ metadata.gz: 499aef18511017c04bd8f9ad78532ce544fd2a44102f40e7299768a0bdc4435c1028d703a778f148cc8dae82b8dc643767843ab02c8b6497487e34bcbff2a413
7
+ data.tar.gz: 542c6421d263c3b44dcb50e4c4bcd81cf32e3dde3404967cc6d263e6c1fc6c8d315419b6beb3b07d30aee35243c817c97950ba421d21fe5cf73bbcda92728e2e
data/.circleci/config.yml CHANGED
@@ -25,6 +25,11 @@ test_containers:
25
25
  description: Resource class to use
26
26
  type: string
27
27
  default: medium
28
+ edge:
29
+ description: Use latest version of dependencies during testing
30
+ type: boolean
31
+ default: false
32
+ resource_class: <<parameters.resource_class_to_use>>
28
33
  - &container_base_environment
29
34
  BUNDLE_GEMFILE: /app/Gemfile
30
35
  JRUBY_OPTS: --dev # Faster JVM startup: https://github.com/jruby/jruby/wiki/Improving-startup-time#use-the---dev-flag
@@ -80,15 +85,39 @@ test_containers:
80
85
  - DD_API_KEY=invalid_key_but_this_is_fine
81
86
  - &agent_port 8126
82
87
 
83
- step_init_bundle_checksum: &step_init_bundle_checksum
88
+ check_exact_bundle_cache_hit: &check_exact_bundle_cache_hit
89
+ run:
90
+ name: Check if we restored an exact cache of gems that this job requires
91
+ # CircleCI doesn't tell us if we had a perfect cache match or partial match.
92
+ # To accomplish such check, we save `bundle_checksum` alongside the cached
93
+ # gems. After gems are restored, we compare the restored `bundle_checksum`'s
94
+ # content with the current commit's `bundle_checksum`.
95
+ #
96
+ # Because we are using a "soft" approach to our gemset lock files, we allow
97
+ # for partial matches to lock files until a new release goes out.
98
+ # This means that we might install slightly out of date gems, instead of the
99
+ # very latest versions from RubyGems until the next gemset update commit.
100
+ command: |
101
+ ! cmp -s .circleci/bundle_checksum /usr/local/bundle/bundle_checksum
102
+ echo "export CI_BUNDLE_CACHE_HIT=$?" >> $BASH_ENV
103
+ save_bundle_checksum: &save_bundle_checksum
84
104
  run:
85
- name: Initialize bundle cache key
105
+ name: Save current bundle checksum alongside cached gems
86
106
  command: |
87
- touch .circleci/bundle_checksum
107
+ if [ "$CI_BUNDLE_CACHE_HIT" != 1 ]; then
108
+ # Recompute gemfiles/*.lock checksum, as it might have changed.
109
+ cat Gemfile Appraisals gemfiles/*.gemfile.lock | md5sum > .circleci/bundle_checksum
110
+ fi
111
+ cp .circleci/bundle_checksum /usr/local/bundle/bundle_checksum
88
112
  step_bundle_install: &step_bundle_install
89
113
  run:
90
114
  name: Install gem dependencies
91
- command: bundle install
115
+ command: |
116
+ if [ "$CI_BUNDLE_CACHE_HIT" != 1 ]; then
117
+ bundle install
118
+ else
119
+ echo "All required gems were found in cache."
120
+ fi
92
121
  step_rubocop: &step_rubocop
93
122
  run:
94
123
  name: Delint with Rubocop
@@ -97,16 +126,25 @@ step_appraisal_install: &step_appraisal_install
97
126
  run:
98
127
  name: Install Appraisal gems
99
128
  command: |
100
- bundle exec appraisal clean # Ensure we fetch the latest version of dependencies
101
- bundle exec appraisal install
129
+ if [ "$CI_BUNDLE_CACHE_HIT" != 1 ]; then
130
+ bundle exec appraisal install
131
+ else
132
+ echo "All required gems were found in cache."
133
+ fi
134
+ step_appraisal_update: &step_appraisal_update
135
+ run:
136
+ name: Update Appraisal gems
137
+ command: | # Remove all generated gemfiles and lockfiles, resolve, and install dependencies again
138
+ bundle exec appraisal update
102
139
  step_compute_bundle_checksum: &step_compute_bundle_checksum
103
140
  run:
104
141
  name: Compute bundle checksum
142
+ # This checksum leaves some leeway for changes to Gemfile.lock, as
143
+ # we have a "soft" approach to committing gemset changes until release, given
144
+ # updating the gemset lock files produces extremely large commits.
105
145
  command: |
106
- # JRuby: Ensure files exist when Appraisal generates no output
107
- mkdir gemfiles
108
- touch gemfiles/_.gemfile.lock
109
- cat Gemfile.lock gemfiles/*.gemfile.lock > .circleci/bundle_checksum
146
+ bundle lock # Create Gemfile.lock
147
+ cat Gemfile Appraisals gemfiles/*.gemfile.lock | md5sum > .circleci/bundle_checksum
110
148
  step_run_all_tests: &step_run_all_tests
111
149
  run:
112
150
  name: Run tests
@@ -144,28 +182,32 @@ orbs:
144
182
  - restore_cache:
145
183
  keys:
146
184
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
185
+ - *step_compute_bundle_checksum
147
186
  - restore_cache:
148
187
  keys:
149
- - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum "Gemfile" }}-{{ checksum "Appraisals" }}-{{ checksum "ddtrace.gemspec" }}
188
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
150
189
  - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-
151
190
  - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}
152
- - *step_init_bundle_checksum
153
- - restore_cache:
154
- keys:
155
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
191
+ - *check_exact_bundle_cache_hit
156
192
  - *step_bundle_install
157
- - *step_appraisal_install
158
- - *step_compute_bundle_checksum
193
+ - when:
194
+ condition:
195
+ equal: [ << parameters.edge >>, true ]
196
+ steps:
197
+ - *step_appraisal_update # Run on latest version of all gems we integrate with
198
+ - when:
199
+ condition:
200
+ not:
201
+ equal: [ << parameters.edge >>, true ]
202
+ steps:
203
+ - *step_appraisal_install # Run on a stable set of gems we integrate with
204
+ - *save_bundle_checksum
159
205
  - save_cache:
160
206
  key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
161
207
  paths:
162
208
  - /app
163
209
  - save_cache:
164
- key: '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
165
- paths:
166
- - /usr/local/bundle
167
- - save_cache:
168
- 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" }}'
210
+ key: bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
169
211
  paths:
170
212
  - /usr/local/bundle
171
213
  build_and_test_integration:
@@ -215,7 +257,7 @@ orbs:
215
257
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
216
258
  - restore_cache:
217
259
  keys:
218
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
260
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
219
261
  - run:
220
262
  name: Set coverage report directory
221
263
  command: |
@@ -258,7 +300,7 @@ orbs:
258
300
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
259
301
  - restore_cache:
260
302
  keys:
261
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
303
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
262
304
  - run:
263
305
  name: Run Benchmark
264
306
  command: bundle exec appraisal rails5-postgres-sidekiq ruby benchmarks/sidekiq_test.rb 2>&1 1> /dev/null | tee benchmark_results.csv
@@ -273,7 +315,7 @@ orbs:
273
315
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
274
316
  - restore_cache:
275
317
  keys:
276
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
318
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
277
319
  - *step_rubocop
278
320
  coverage:
279
321
  <<: *test_job_default
@@ -283,7 +325,7 @@ orbs:
283
325
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
284
326
  - restore_cache:
285
327
  keys:
286
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
328
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
287
329
  - attach_workspace:
288
330
  at: /tmp/workspace
289
331
  - run:
@@ -306,7 +348,7 @@ orbs:
306
348
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
307
349
  - restore_cache:
308
350
  keys:
309
- - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
351
+ - bundle-{{ .Environment.CIRCLE_CACHE_VERSION }}-<<parameters.ruby_version>>-{{ checksum "lib/ddtrace/version.rb" }}-{{ .Branch }}-{{ checksum ".circleci/bundle_checksum" }}
310
352
  - attach_workspace:
311
353
  at: /tmp/workspace
312
354
  - run:
@@ -344,7 +386,7 @@ jobs:
344
386
  docker:
345
387
  - environment:
346
388
  *container_base_environment
347
- image: marcotc/docker-library:ddtrace_rb_2_5_6
389
+ image: ivoanjo/docker-library:ddtrace_rb_2_5_9
348
390
  steps:
349
391
  - checkout
350
392
  - run:
@@ -365,7 +407,7 @@ jobs:
365
407
  docker:
366
408
  - environment:
367
409
  *container_base_environment
368
- image: marcotc/docker-library:ddtrace_rb_2_5_6
410
+ image: ivoanjo/docker-library:ddtrace_rb_2_5_9
369
411
  steps:
370
412
  - run:
371
413
  name: Check if this commit author has publishing credentials
@@ -400,62 +442,59 @@ jobs:
400
442
 
401
443
  job_configuration:
402
444
  # MRI
403
- - &config-2_0
404
- <<: *filters_all_branches_and_tags
405
- ruby_version: '2.0'
406
- image: palazzem/docker-library:ddtrace_rb_2_0_0
407
445
  - &config-2_1
408
446
  <<: *filters_all_branches_and_tags
409
447
  ruby_version: '2.1'
410
- image: palazzem/docker-library:ddtrace_rb_2_1_10
448
+ image: ivoanjo/docker-library:ddtrace_rb_2_1_10
411
449
  - &config-2_2
412
450
  <<: *filters_all_branches_and_tags
413
451
  ruby_version: '2.2'
414
- image: palazzem/docker-library:ddtrace_rb_2_2_10
452
+ image: ivoanjo/docker-library:ddtrace_rb_2_2_10
415
453
  - &config-2_3
416
454
  <<: *filters_all_branches_and_tags
417
455
  ruby_version: '2.3'
418
- image: palazzem/docker-library:ddtrace_rb_2_3_8
456
+ image: ivoanjo/docker-library:ddtrace_rb_2_3_8
419
457
  - &config-2_4
420
458
  <<: *filters_all_branches_and_tags
421
459
  ruby_version: '2.4'
422
- image: palazzem/docker-library:ddtrace_rb_2_4_6
460
+ image: ivoanjo/docker-library:ddtrace_rb_2_4_10
423
461
  - &config-2_5
424
462
  <<: *filters_all_branches_and_tags
425
463
  ruby_version: '2.5'
426
- image: marcotc/docker-library:ddtrace_rb_2_5_6
464
+ image: ivoanjo/docker-library:ddtrace_rb_2_5_9
427
465
  - &config-2_6
428
466
  <<: *filters_all_branches_and_tags
429
467
  ruby_version: '2.6'
430
- image: marcotc/docker-library:ddtrace_rb_2_6_4
468
+ image: ivoanjo/docker-library:ddtrace_rb_2_6_7
431
469
  - &config-2_7
432
470
  <<: *filters_all_branches_and_tags
433
471
  ruby_version: '2.7'
434
- image: marcotc/docker-library:ddtrace_rb_2_7_0
472
+ image: ivoanjo/docker-library:ddtrace_rb_2_7_3
435
473
  - &config-3_0
436
474
  <<: *filters_all_branches_and_tags
437
475
  ruby_version: '3.0'
438
- image: marcotc/docker-library:ddtrace_rb_3.0.0
476
+ image: ivoanjo/docker-library:ddtrace_rb_3_0_1
439
477
  - &config-3_0-jit
440
478
  <<: *filters_all_branches_and_tags
441
479
  ruby_version: '3.0'
442
- image: marcotc/docker-library:ddtrace_rb_3.0.0
480
+ image: ivoanjo/docker-library:ddtrace_rb_3_0_1
443
481
  jit: true
444
482
  # JRuby
445
483
  - &config-jruby-9_2_0_0 # Oldest supported version
446
484
  <<: *filters_all_branches_and_tags
447
485
  ruby_version: 'jruby-9.2.0.0'
448
- image: marcotc/docker-library:ddtrace_rb_jruby_9_2_0_0
486
+ image: ivoanjo/docker-library:ddtrace_rb_jruby_9_2_0_0
487
+ resource_class_to_use: medium+
449
488
  - &config-jruby-9_2-latest # More recent release of 9.2
450
489
  <<: *filters_all_branches_and_tags
451
490
  ruby_version: 'jruby-9.2-latest'
452
- image: marcotc/docker-library:ddtrace_rb_jruby_9_2_11_1
491
+ image: ivoanjo/docker-library:ddtrace_rb_jruby_9_2_18_0
453
492
  # TruffleRuby
454
493
  - &config-truffleruby-21_0_0
455
494
  <<: *filters_all_branches_and_tags
456
495
  ruby_version: 'truffleruby-21.0.0'
457
496
  image: ivoanjo/docker-library:ddtrace_rb_truffleruby_21_0_0
458
- resource_class_to_use: large
497
+ resource_class_to_use: medium+
459
498
 
460
499
  workflows:
461
500
  version: 2
@@ -470,7 +509,6 @@ workflows:
470
509
  <<: *config-2_7
471
510
  name: coverage
472
511
  requires:
473
- - test-2.0
474
512
  - test-2.1
475
513
  - test-2.2
476
514
  - test-2.3
@@ -491,44 +529,39 @@ workflows:
491
529
  branches:
492
530
  only: /bump_to_version_.*/
493
531
  # Integration
494
- - orb/build_and_test_integration:
495
- name: build_and_test_integration-2.0
496
- integration_apps: 'ruby rack'
497
- ruby_version: '2.0'
498
- <<: *filters_all_branches_and_tags
499
532
  - orb/build_and_test_integration:
500
533
  name: build_and_test_integration-2.1
501
- integration_apps: 'ruby rack'
534
+ integration_apps: 'ruby rack rspec'
502
535
  ruby_version: '2.1'
503
536
  <<: *filters_all_branches_and_tags
504
537
  - orb/build_and_test_integration:
505
538
  name: build_and_test_integration-2.2
506
- integration_apps: 'ruby rack'
539
+ integration_apps: 'ruby rack rspec'
507
540
  ruby_version: '2.2'
508
541
  <<: *filters_all_branches_and_tags
509
542
  - orb/build_and_test_integration:
510
543
  name: build_and_test_integration-2.3
511
- integration_apps: 'ruby rack rails-five'
544
+ integration_apps: 'ruby rack rails-five rspec'
512
545
  ruby_version: '2.3'
513
546
  <<: *filters_all_branches_and_tags
514
547
  - orb/build_and_test_integration:
515
548
  name: build_and_test_integration-2.4
516
- integration_apps: 'ruby rack rails-five'
549
+ integration_apps: 'ruby rack rails-five rspec'
517
550
  ruby_version: '2.4'
518
551
  <<: *filters_all_branches_and_tags
519
552
  - orb/build_and_test_integration:
520
553
  name: build_and_test_integration-2.5
521
- integration_apps: 'ruby rack rails-five'
554
+ integration_apps: 'ruby rack rails-five rspec'
522
555
  ruby_version: '2.5'
523
556
  <<: *filters_all_branches_and_tags
524
557
  - orb/build_and_test_integration:
525
558
  name: build_and_test_integration-2.6
526
- integration_apps: 'ruby rack rails-five'
559
+ integration_apps: 'ruby rack rails-five rspec'
527
560
  ruby_version: '2.6'
528
561
  <<: *filters_all_branches_and_tags
529
562
  - orb/build_and_test_integration:
530
563
  name: build_and_test_integration-2.7
531
- integration_apps: 'ruby rack rails-five'
564
+ integration_apps: 'ruby rack rails-five rspec'
532
565
  ruby_version: '2.7'
533
566
  <<: *filters_all_branches_and_tags
534
567
  - orb/build_and_test_integration:
@@ -538,14 +571,6 @@ workflows:
538
571
  ruby_version: '3.0'
539
572
  <<: *filters_all_branches_and_tags
540
573
  # MRI
541
- - orb/build:
542
- <<: *config-2_0
543
- name: build-2.0
544
- - orb/test:
545
- <<: *config-2_0
546
- name: test-2.0
547
- requires:
548
- - build-2.0
549
574
  - orb/build:
550
575
  <<: *config-2_1
551
576
  name: build-2.1
@@ -655,7 +680,6 @@ workflows:
655
680
  <<: *filters_all_branches_and_tags
656
681
  requires:
657
682
  - lint
658
- - test-2.0
659
683
  - test-2.1
660
684
  - test-2.2
661
685
  - test-2.3
@@ -672,7 +696,6 @@ workflows:
672
696
  <<: *filters_only_release_tags
673
697
  requires:
674
698
  - lint
675
- - test-2.0
676
699
  - test-2.1
677
700
  - test-2.2
678
701
  - test-2.3
@@ -685,3 +708,162 @@ workflows:
685
708
  - test-jruby-9.2.0.0
686
709
  - test-jruby-9.2-latest
687
710
  # soon™️ - test-truffleruby-21.0.0
711
+ # This workflow runs the same `build` and `test` jobs as above on a schedule.
712
+ # Tasks related to housekeeping (e.g. prerelease) are not relevant
713
+ # to this daily check, as they are not expected to be impacted here.
714
+ edge:
715
+ triggers:
716
+ - schedule:
717
+ cron: "0 0 * * 1-5" # Every weekday
718
+ filters:
719
+ branches:
720
+ only:
721
+ - master
722
+ jobs:
723
+ # Integration
724
+ - orb/build_and_test_integration:
725
+ name: build_and_test_integration-2.1
726
+ integration_apps: 'ruby rack rspec'
727
+ ruby_version: '2.1'
728
+ <<: *filters_all_branches_and_tags
729
+ - orb/build_and_test_integration:
730
+ name: build_and_test_integration-2.2
731
+ integration_apps: 'ruby rack rspec'
732
+ ruby_version: '2.2'
733
+ <<: *filters_all_branches_and_tags
734
+ - orb/build_and_test_integration:
735
+ name: build_and_test_integration-2.3
736
+ integration_apps: 'ruby rack rails-five rspec'
737
+ ruby_version: '2.3'
738
+ <<: *filters_all_branches_and_tags
739
+ - orb/build_and_test_integration:
740
+ name: build_and_test_integration-2.4
741
+ integration_apps: 'ruby rack rails-five rspec'
742
+ ruby_version: '2.4'
743
+ <<: *filters_all_branches_and_tags
744
+ - orb/build_and_test_integration:
745
+ name: build_and_test_integration-2.5
746
+ integration_apps: 'ruby rack rails-five rspec'
747
+ ruby_version: '2.5'
748
+ <<: *filters_all_branches_and_tags
749
+ - orb/build_and_test_integration:
750
+ name: build_and_test_integration-2.6
751
+ integration_apps: 'ruby rack rails-five rspec'
752
+ ruby_version: '2.6'
753
+ <<: *filters_all_branches_and_tags
754
+ - orb/build_and_test_integration:
755
+ name: build_and_test_integration-2.7
756
+ integration_apps: 'ruby rack rails-five rspec'
757
+ ruby_version: '2.7'
758
+ <<: *filters_all_branches_and_tags
759
+ - orb/build_and_test_integration:
760
+ name: build_and_test_integration-3.0
761
+ # TODO: Get Rack & Rails apps working with Ruby 3.0
762
+ integration_apps: 'ruby'
763
+ ruby_version: '3.0'
764
+ <<: *filters_all_branches_and_tags
765
+ # MRI
766
+ - orb/build:
767
+ <<: *config-2_1
768
+ name: build-2.1
769
+ - orb/test:
770
+ <<: *config-2_1
771
+ name: test-2.1
772
+ requires:
773
+ - build-2.1
774
+ - orb/build:
775
+ <<: *config-2_2
776
+ name: build-2.2
777
+ - orb/test:
778
+ <<: *config-2_2
779
+ name: test-2.2
780
+ requires:
781
+ - build-2.2
782
+ - orb/build:
783
+ <<: *config-2_3
784
+ name: build-2.3
785
+ - orb/test:
786
+ <<: *config-2_3
787
+ name: test-2.3
788
+ requires:
789
+ - build-2.3
790
+ - orb/benchmark:
791
+ <<: *config-2_3
792
+ name: benchmark-2.3
793
+ requires:
794
+ - build-2.3
795
+ - orb/build:
796
+ <<: *config-2_4
797
+ name: build-2.4
798
+ - orb/test:
799
+ <<: *config-2_4
800
+ name: test-2.4
801
+ requires:
802
+ - build-2.4
803
+ - orb/build:
804
+ <<: *config-2_5
805
+ name: build-2.5
806
+ - orb/test:
807
+ <<: *config-2_5
808
+ name: test-2.5
809
+ requires:
810
+ - build-2.5
811
+ - orb/build:
812
+ <<: *config-2_6
813
+ name: build-2.6
814
+ - orb/test:
815
+ <<: *config-2_6
816
+ name: test-2.6
817
+ requires:
818
+ - build-2.6
819
+ - orb/build:
820
+ <<: *config-2_7
821
+ name: build-2.7
822
+ - orb/test:
823
+ <<: *config-2_7
824
+ name: test-2.7
825
+ requires:
826
+ - build-2.7
827
+ - orb/build:
828
+ <<: *config-3_0
829
+ name: build-3.0
830
+ - orb/test:
831
+ <<: *config-3_0
832
+ name: test-3.0
833
+ requires:
834
+ - build-3.0
835
+ - orb/build:
836
+ <<: *config-3_0-jit
837
+ name: build-3.0-jit
838
+ - orb/test:
839
+ <<: *config-3_0-jit
840
+ name: test-3.0-jit
841
+ requires:
842
+ - build-3.0-jit
843
+ # JRuby
844
+ - orb/build:
845
+ <<: *config-jruby-9_2_0_0
846
+ name: build-jruby-9.2.0.0
847
+ - orb/test:
848
+ <<: *config-jruby-9_2_0_0
849
+ name: test-jruby-9.2.0.0
850
+ requires:
851
+ - build-jruby-9.2.0.0
852
+ - orb/build:
853
+ <<: *config-jruby-9_2-latest
854
+ name: build-jruby-9.2-latest
855
+ - orb/test:
856
+ <<: *config-jruby-9_2-latest
857
+ name: test-jruby-9.2-latest
858
+ requires:
859
+ - build-jruby-9.2-latest
860
+ # TruffleRuby
861
+ # soon™️
862
+ # - orb/build:
863
+ # <<: *config-truffleruby-21_0_0
864
+ # name: build-truffleruby-21.0.0
865
+ # - orb/test:
866
+ # <<: *config-truffleruby-21_0_0
867
+ # name: test-truffleruby-21.0.0
868
+ # requires:
869
+ # - build-truffleruby-21.0.0