ddtrace 0.40.0 → 0.50.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (852) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +502 -180
  3. data/.circleci/images/primary/Dockerfile-2.1.10 +11 -1
  4. data/.circleci/images/primary/Dockerfile-2.2.10 +11 -1
  5. data/.circleci/images/primary/Dockerfile-2.3.8 +10 -0
  6. data/.circleci/images/primary/Dockerfile-2.4.6 +10 -0
  7. data/.circleci/images/primary/Dockerfile-2.5.6 +10 -0
  8. data/.circleci/images/primary/Dockerfile-2.6.4 +10 -0
  9. data/.circleci/images/primary/Dockerfile-2.7.0 +10 -0
  10. data/.circleci/images/primary/{Dockerfile-2.0.0 → Dockerfile-3.0.0} +8 -8
  11. data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +88 -0
  12. data/.circleci/images/primary/{Dockerfile-jruby-9.2 → Dockerfile-jruby-9.2.0.0} +1 -5
  13. data/.circleci/images/primary/Dockerfile-truffleruby-21.1.0 +73 -0
  14. data/.dockerignore +0 -1
  15. data/.github/workflows/add-milestone-to-pull-requests.yml +42 -0
  16. data/.github/workflows/create-next-milestone.yml +20 -0
  17. data/.gitignore +0 -1
  18. data/.gitlab-ci.yml +18 -18
  19. data/.rubocop.yml +273 -7
  20. data/.rubocop_todo.yml +438 -0
  21. data/.simplecov +9 -0
  22. data/Appraisals +483 -231
  23. data/CHANGELOG.md +1386 -342
  24. data/CONTRIBUTING.md +2 -2
  25. data/Gemfile +65 -3
  26. data/LICENSE-3rdparty.csv +2 -0
  27. data/README.md +1 -0
  28. data/Rakefile +486 -338
  29. data/benchmarks/data/profiler-submission-marshal.gz +0 -0
  30. data/benchmarks/profiler_sample_loop.rb +69 -0
  31. data/benchmarks/profiler_submission.rb +93 -0
  32. data/bin/ddtracerb +15 -0
  33. data/ddtrace.gemspec +8 -36
  34. data/docker-compose.yml +93 -49
  35. data/docs/DevelopmentGuide.md +40 -2
  36. data/docs/GettingStarted.md +299 -78
  37. data/docs/ProfilingDevelopment.md +88 -0
  38. data/gemfiles/jruby_9.2.0.0_contrib.gemfile +79 -0
  39. data/gemfiles/jruby_9.2.0.0_contrib.gemfile.lock +1518 -0
  40. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile +35 -0
  41. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile.lock +157 -0
  42. data/gemfiles/jruby_9.2.0.0_core_old.gemfile +34 -0
  43. data/gemfiles/jruby_9.2.0.0_core_old.gemfile.lock +153 -0
  44. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile +35 -0
  45. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile.lock +174 -0
  46. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile +35 -0
  47. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile.lock +206 -0
  48. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile +35 -0
  49. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile.lock +206 -0
  50. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile +40 -0
  51. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile.lock +271 -0
  52. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile +40 -0
  53. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile.lock +271 -0
  54. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile +41 -0
  55. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile.lock +273 -0
  56. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile +41 -0
  57. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile.lock +273 -0
  58. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile +42 -0
  59. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile.lock +279 -0
  60. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile +40 -0
  61. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile.lock +290 -0
  62. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile +40 -0
  63. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile.lock +290 -0
  64. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile +41 -0
  65. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile.lock +292 -0
  66. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile +41 -0
  67. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile.lock +297 -0
  68. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile +40 -0
  69. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile.lock +287 -0
  70. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile +40 -0
  71. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile.lock +287 -0
  72. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile +41 -0
  73. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile.lock +289 -0
  74. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile +41 -0
  75. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile.lock +289 -0
  76. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile +42 -0
  77. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile.lock +295 -0
  78. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile +36 -0
  79. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile.lock +180 -0
  80. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile +36 -0
  81. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile.lock +180 -0
  82. data/gemfiles/jruby_9.2.11.1_contrib.gemfile +79 -0
  83. data/gemfiles/jruby_9.2.11.1_contrib.gemfile.lock +1518 -0
  84. data/gemfiles/jruby_9.2.11.1_contrib_old.gemfile +35 -0
  85. data/gemfiles/jruby_9.2.11.1_contrib_old.gemfile.lock +157 -0
  86. data/gemfiles/jruby_9.2.11.1_core_old.gemfile +34 -0
  87. data/gemfiles/jruby_9.2.11.1_core_old.gemfile.lock +153 -0
  88. data/gemfiles/jruby_9.2.11.1_cucumber3.gemfile +35 -0
  89. data/gemfiles/jruby_9.2.11.1_cucumber3.gemfile.lock +174 -0
  90. data/gemfiles/jruby_9.2.11.1_cucumber4.gemfile +35 -0
  91. data/gemfiles/jruby_9.2.11.1_cucumber4.gemfile.lock +206 -0
  92. data/gemfiles/jruby_9.2.11.1_cucumber5.gemfile +35 -0
  93. data/gemfiles/jruby_9.2.11.1_cucumber5.gemfile.lock +206 -0
  94. data/gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile +40 -0
  95. data/gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile.lock +271 -0
  96. data/gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile +40 -0
  97. data/gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile.lock +271 -0
  98. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile +41 -0
  99. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile.lock +273 -0
  100. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile +41 -0
  101. data/gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile.lock +273 -0
  102. data/gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile +42 -0
  103. data/gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile.lock +279 -0
  104. data/gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile +40 -0
  105. data/gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile.lock +290 -0
  106. data/gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile +40 -0
  107. data/gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile.lock +290 -0
  108. data/gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile +41 -0
  109. data/gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile.lock +292 -0
  110. data/gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile +41 -0
  111. data/gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile.lock +297 -0
  112. data/gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile +40 -0
  113. data/gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile.lock +287 -0
  114. data/gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile +40 -0
  115. data/gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile.lock +287 -0
  116. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile +41 -0
  117. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile.lock +289 -0
  118. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile +41 -0
  119. data/gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile.lock +289 -0
  120. data/gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile +42 -0
  121. data/gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile.lock +295 -0
  122. data/gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile +36 -0
  123. data/gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile.lock +180 -0
  124. data/gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile +36 -0
  125. data/gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile.lock +180 -0
  126. data/gemfiles/ruby_2.1.10_contrib_old.gemfile +66 -0
  127. data/gemfiles/ruby_2.1.10_contrib_old.gemfile.lock +305 -0
  128. data/gemfiles/ruby_2.1.10_core_old.gemfile +33 -0
  129. data/gemfiles/ruby_2.1.10_core_old.gemfile.lock +118 -0
  130. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile +39 -0
  131. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile.lock +196 -0
  132. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile +40 -0
  133. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile.lock +205 -0
  134. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile +42 -0
  135. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile.lock +215 -0
  136. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile +39 -0
  137. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile.lock +204 -0
  138. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile +41 -0
  139. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile.lock +223 -0
  140. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile +40 -0
  141. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile.lock +213 -0
  142. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile +38 -0
  143. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile.lock +218 -0
  144. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile +38 -0
  145. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile.lock +218 -0
  146. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile +40 -0
  147. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile.lock +237 -0
  148. data/gemfiles/ruby_2.2.10_contrib.gemfile +73 -0
  149. data/gemfiles/ruby_2.2.10_contrib.gemfile.lock +1450 -0
  150. data/gemfiles/ruby_2.2.10_core_old.gemfile +33 -0
  151. data/gemfiles/ruby_2.2.10_core_old.gemfile.lock +118 -0
  152. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile +39 -0
  153. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile.lock +196 -0
  154. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile +40 -0
  155. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile.lock +205 -0
  156. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile +41 -0
  157. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile.lock +212 -0
  158. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile +39 -0
  159. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile.lock +204 -0
  160. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile +41 -0
  161. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile.lock +223 -0
  162. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile +40 -0
  163. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile.lock +213 -0
  164. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile +38 -0
  165. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile.lock +218 -0
  166. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile +38 -0
  167. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile.lock +218 -0
  168. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile +40 -0
  169. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile.lock +237 -0
  170. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile +40 -0
  171. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile.lock +229 -0
  172. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile +38 -0
  173. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile.lock +234 -0
  174. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile +38 -0
  175. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile.lock +234 -0
  176. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile +39 -0
  177. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile.lock +236 -0
  178. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile +39 -0
  179. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile.lock +236 -0
  180. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile +40 -0
  181. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile.lock +245 -0
  182. data/gemfiles/ruby_2.3.8_contrib.gemfile +73 -0
  183. data/gemfiles/ruby_2.3.8_contrib.gemfile.lock +1459 -0
  184. data/gemfiles/ruby_2.3.8_contrib_old.gemfile +34 -0
  185. data/gemfiles/ruby_2.3.8_contrib_old.gemfile.lock +127 -0
  186. data/gemfiles/ruby_2.3.8_core_old.gemfile +33 -0
  187. data/gemfiles/ruby_2.3.8_core_old.gemfile.lock +123 -0
  188. data/gemfiles/ruby_2.3.8_cucumber3.gemfile +34 -0
  189. data/gemfiles/ruby_2.3.8_cucumber3.gemfile.lock +144 -0
  190. data/gemfiles/ruby_2.3.8_cucumber4.gemfile +34 -0
  191. data/gemfiles/ruby_2.3.8_cucumber4.gemfile.lock +174 -0
  192. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile +39 -0
  193. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile.lock +201 -0
  194. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile +40 -0
  195. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile.lock +210 -0
  196. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile +41 -0
  197. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile.lock +217 -0
  198. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile +39 -0
  199. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile.lock +209 -0
  200. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile +41 -0
  201. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile.lock +228 -0
  202. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile +40 -0
  203. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile.lock +218 -0
  204. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile +38 -0
  205. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile.lock +223 -0
  206. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile +38 -0
  207. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile.lock +223 -0
  208. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile +40 -0
  209. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile.lock +242 -0
  210. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile +40 -0
  211. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile.lock +234 -0
  212. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile +37 -0
  213. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile.lock +234 -0
  214. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile +37 -0
  215. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile.lock +234 -0
  216. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile +38 -0
  217. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile.lock +236 -0
  218. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile +38 -0
  219. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile.lock +236 -0
  220. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile +39 -0
  221. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile.lock +245 -0
  222. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile +35 -0
  223. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile.lock +150 -0
  224. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile +35 -0
  225. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile.lock +150 -0
  226. data/gemfiles/ruby_2.4.6_contrib.gemfile +78 -0
  227. data/gemfiles/ruby_2.4.6_contrib.gemfile.lock +1513 -0
  228. data/gemfiles/ruby_2.4.6_contrib_old.gemfile +38 -0
  229. data/gemfiles/ruby_2.4.6_contrib_old.gemfile.lock +155 -0
  230. data/gemfiles/ruby_2.4.6_core_old.gemfile +37 -0
  231. data/gemfiles/ruby_2.4.6_core_old.gemfile.lock +151 -0
  232. data/gemfiles/ruby_2.4.6_cucumber3.gemfile +38 -0
  233. data/gemfiles/ruby_2.4.6_cucumber3.gemfile.lock +172 -0
  234. data/gemfiles/ruby_2.4.6_cucumber4.gemfile +38 -0
  235. data/gemfiles/ruby_2.4.6_cucumber4.gemfile.lock +202 -0
  236. data/gemfiles/ruby_2.4.6_rails5_mysql2.gemfile +41 -0
  237. data/gemfiles/ruby_2.4.6_rails5_mysql2.gemfile.lock +262 -0
  238. data/gemfiles/ruby_2.4.6_rails5_postgres.gemfile +41 -0
  239. data/gemfiles/ruby_2.4.6_rails5_postgres.gemfile.lock +262 -0
  240. data/gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile +42 -0
  241. data/gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile.lock +264 -0
  242. data/gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile +42 -0
  243. data/gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile.lock +264 -0
  244. data/gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile +43 -0
  245. data/gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile.lock +273 -0
  246. data/gemfiles/ruby_2.4.6_resque2_redis3.gemfile +39 -0
  247. data/gemfiles/ruby_2.4.6_resque2_redis3.gemfile.lock +178 -0
  248. data/gemfiles/ruby_2.4.6_resque2_redis4.gemfile +39 -0
  249. data/gemfiles/ruby_2.4.6_resque2_redis4.gemfile.lock +178 -0
  250. data/gemfiles/ruby_2.5.6_contrib.gemfile +83 -0
  251. data/gemfiles/ruby_2.5.6_contrib.gemfile.lock +1526 -0
  252. data/gemfiles/ruby_2.5.6_contrib_old.gemfile +39 -0
  253. data/gemfiles/ruby_2.5.6_contrib_old.gemfile.lock +165 -0
  254. data/gemfiles/ruby_2.5.6_core_old.gemfile +38 -0
  255. data/gemfiles/ruby_2.5.6_core_old.gemfile.lock +161 -0
  256. data/gemfiles/ruby_2.5.6_cucumber3.gemfile +39 -0
  257. data/gemfiles/ruby_2.5.6_cucumber3.gemfile.lock +182 -0
  258. data/gemfiles/ruby_2.5.6_cucumber4.gemfile +39 -0
  259. data/gemfiles/ruby_2.5.6_cucumber4.gemfile.lock +214 -0
  260. data/gemfiles/ruby_2.5.6_cucumber5.gemfile +39 -0
  261. data/gemfiles/ruby_2.5.6_cucumber5.gemfile.lock +214 -0
  262. data/gemfiles/ruby_2.5.6_rails5_mysql2.gemfile +44 -0
  263. data/gemfiles/ruby_2.5.6_rails5_mysql2.gemfile.lock +276 -0
  264. data/gemfiles/ruby_2.5.6_rails5_postgres.gemfile +44 -0
  265. data/gemfiles/ruby_2.5.6_rails5_postgres.gemfile.lock +276 -0
  266. data/gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile +45 -0
  267. data/gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile.lock +278 -0
  268. data/gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile +45 -0
  269. data/gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile.lock +278 -0
  270. data/gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile +46 -0
  271. data/gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile.lock +284 -0
  272. data/gemfiles/ruby_2.5.6_rails61_mysql2.gemfile +44 -0
  273. data/gemfiles/ruby_2.5.6_rails61_mysql2.gemfile.lock +295 -0
  274. data/gemfiles/ruby_2.5.6_rails61_postgres.gemfile +44 -0
  275. data/gemfiles/ruby_2.5.6_rails61_postgres.gemfile.lock +295 -0
  276. data/gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile +45 -0
  277. data/gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile.lock +297 -0
  278. data/gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile +45 -0
  279. data/gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile.lock +302 -0
  280. data/gemfiles/ruby_2.5.6_rails6_mysql2.gemfile +44 -0
  281. data/gemfiles/ruby_2.5.6_rails6_mysql2.gemfile.lock +292 -0
  282. data/gemfiles/ruby_2.5.6_rails6_postgres.gemfile +44 -0
  283. data/gemfiles/ruby_2.5.6_rails6_postgres.gemfile.lock +292 -0
  284. data/gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile +45 -0
  285. data/gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile.lock +294 -0
  286. data/gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile +45 -0
  287. data/gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile.lock +294 -0
  288. data/gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile +46 -0
  289. data/gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile.lock +300 -0
  290. data/gemfiles/ruby_2.5.6_resque2_redis3.gemfile +40 -0
  291. data/gemfiles/ruby_2.5.6_resque2_redis3.gemfile.lock +188 -0
  292. data/gemfiles/ruby_2.5.6_resque2_redis4.gemfile +40 -0
  293. data/gemfiles/ruby_2.5.6_resque2_redis4.gemfile.lock +188 -0
  294. data/gemfiles/ruby_2.6.4_contrib.gemfile +79 -0
  295. data/gemfiles/ruby_2.6.4_contrib.gemfile.lock +1524 -0
  296. data/gemfiles/ruby_2.6.4_contrib_old.gemfile +39 -0
  297. data/gemfiles/ruby_2.6.4_contrib_old.gemfile.lock +167 -0
  298. data/gemfiles/ruby_2.6.4_core_old.gemfile +38 -0
  299. data/gemfiles/ruby_2.6.4_core_old.gemfile.lock +163 -0
  300. data/gemfiles/ruby_2.6.4_cucumber3.gemfile +39 -0
  301. data/gemfiles/ruby_2.6.4_cucumber3.gemfile.lock +184 -0
  302. data/gemfiles/ruby_2.6.4_cucumber4.gemfile +39 -0
  303. data/gemfiles/ruby_2.6.4_cucumber4.gemfile.lock +216 -0
  304. data/gemfiles/ruby_2.6.4_cucumber5.gemfile +39 -0
  305. data/gemfiles/ruby_2.6.4_cucumber5.gemfile.lock +216 -0
  306. data/gemfiles/ruby_2.6.4_rails5_mysql2.gemfile +42 -0
  307. data/gemfiles/ruby_2.6.4_rails5_mysql2.gemfile.lock +276 -0
  308. data/gemfiles/ruby_2.6.4_rails5_postgres.gemfile +42 -0
  309. data/gemfiles/ruby_2.6.4_rails5_postgres.gemfile.lock +276 -0
  310. data/gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile +43 -0
  311. data/gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile.lock +278 -0
  312. data/gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile +43 -0
  313. data/gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile.lock +278 -0
  314. data/gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile +44 -0
  315. data/gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile.lock +284 -0
  316. data/gemfiles/ruby_2.6.4_rails61_mysql2.gemfile +42 -0
  317. data/gemfiles/ruby_2.6.4_rails61_mysql2.gemfile.lock +295 -0
  318. data/gemfiles/ruby_2.6.4_rails61_postgres.gemfile +42 -0
  319. data/gemfiles/ruby_2.6.4_rails61_postgres.gemfile.lock +295 -0
  320. data/gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile +43 -0
  321. data/gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile.lock +297 -0
  322. data/gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile +43 -0
  323. data/gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile.lock +302 -0
  324. data/gemfiles/ruby_2.6.4_rails6_mysql2.gemfile +42 -0
  325. data/gemfiles/ruby_2.6.4_rails6_mysql2.gemfile.lock +292 -0
  326. data/gemfiles/ruby_2.6.4_rails6_postgres.gemfile +42 -0
  327. data/gemfiles/ruby_2.6.4_rails6_postgres.gemfile.lock +292 -0
  328. data/gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile +43 -0
  329. data/gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile.lock +294 -0
  330. data/gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile +43 -0
  331. data/gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile.lock +294 -0
  332. data/gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile +44 -0
  333. data/gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile.lock +300 -0
  334. data/gemfiles/ruby_2.6.4_resque2_redis3.gemfile +40 -0
  335. data/gemfiles/ruby_2.6.4_resque2_redis3.gemfile.lock +190 -0
  336. data/gemfiles/ruby_2.6.4_resque2_redis4.gemfile +40 -0
  337. data/gemfiles/ruby_2.6.4_resque2_redis4.gemfile.lock +190 -0
  338. data/gemfiles/ruby_2.7.0_contrib.gemfile +78 -0
  339. data/gemfiles/ruby_2.7.0_contrib.gemfile.lock +1523 -0
  340. data/gemfiles/ruby_2.7.0_contrib_old.gemfile +39 -0
  341. data/gemfiles/ruby_2.7.0_contrib_old.gemfile.lock +167 -0
  342. data/gemfiles/ruby_2.7.0_core_old.gemfile +38 -0
  343. data/gemfiles/ruby_2.7.0_core_old.gemfile.lock +163 -0
  344. data/gemfiles/ruby_2.7.0_cucumber3.gemfile +39 -0
  345. data/gemfiles/ruby_2.7.0_cucumber3.gemfile.lock +184 -0
  346. data/gemfiles/ruby_2.7.0_cucumber4.gemfile +39 -0
  347. data/gemfiles/ruby_2.7.0_cucumber4.gemfile.lock +216 -0
  348. data/gemfiles/ruby_2.7.0_cucumber5.gemfile +39 -0
  349. data/gemfiles/ruby_2.7.0_cucumber5.gemfile.lock +216 -0
  350. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile +42 -0
  351. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile.lock +276 -0
  352. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile +42 -0
  353. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile.lock +276 -0
  354. data/gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile +44 -0
  355. data/gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile.lock +295 -0
  356. data/gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile +44 -0
  357. data/gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile.lock +295 -0
  358. data/gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile +44 -0
  359. data/gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile.lock +284 -0
  360. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile +42 -0
  361. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile.lock +295 -0
  362. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile +42 -0
  363. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile.lock +295 -0
  364. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile +43 -0
  365. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile.lock +297 -0
  366. data/gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile +43 -0
  367. data/gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile.lock +302 -0
  368. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile +42 -0
  369. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile.lock +292 -0
  370. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile +42 -0
  371. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile.lock +292 -0
  372. data/gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile +44 -0
  373. data/gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile.lock +311 -0
  374. data/gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile +44 -0
  375. data/gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile.lock +311 -0
  376. data/gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile +44 -0
  377. data/gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile.lock +300 -0
  378. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile +40 -0
  379. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile.lock +190 -0
  380. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile +40 -0
  381. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile.lock +190 -0
  382. data/gemfiles/ruby_3.0.0_contrib.gemfile +78 -0
  383. data/gemfiles/ruby_3.0.0_contrib.gemfile.lock +1540 -0
  384. data/gemfiles/ruby_3.0.0_core_old.gemfile +39 -0
  385. data/gemfiles/ruby_3.0.0_core_old.gemfile.lock +165 -0
  386. data/gemfiles/ruby_3.0.0_cucumber3.gemfile +40 -0
  387. data/gemfiles/ruby_3.0.0_cucumber3.gemfile.lock +186 -0
  388. data/gemfiles/ruby_3.0.0_cucumber4.gemfile +40 -0
  389. data/gemfiles/ruby_3.0.0_cucumber4.gemfile.lock +218 -0
  390. data/gemfiles/ruby_3.0.0_cucumber5.gemfile +40 -0
  391. data/gemfiles/ruby_3.0.0_cucumber5.gemfile.lock +218 -0
  392. data/gemfiles/ruby_3.0.0_rails61_mysql2.gemfile +43 -0
  393. data/gemfiles/ruby_3.0.0_rails61_mysql2.gemfile.lock +295 -0
  394. data/gemfiles/ruby_3.0.0_rails61_postgres.gemfile +43 -0
  395. data/gemfiles/ruby_3.0.0_rails61_postgres.gemfile.lock +295 -0
  396. data/gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile +44 -0
  397. data/gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile.lock +297 -0
  398. data/gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile +44 -0
  399. data/gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile.lock +302 -0
  400. data/gemfiles/ruby_3.0.0_resque2_redis3.gemfile +41 -0
  401. data/gemfiles/ruby_3.0.0_resque2_redis3.gemfile.lock +192 -0
  402. data/gemfiles/ruby_3.0.0_resque2_redis4.gemfile +41 -0
  403. data/gemfiles/ruby_3.0.0_resque2_redis4.gemfile.lock +192 -0
  404. data/integration/README.md +67 -0
  405. data/integration/apps/rack/.dockerignore +1 -0
  406. data/integration/apps/rack/.envrc.sample +1 -0
  407. data/integration/apps/rack/.gitignore +4 -0
  408. data/integration/apps/rack/.rspec +1 -0
  409. data/integration/apps/rack/Dockerfile +28 -0
  410. data/integration/apps/rack/Dockerfile-ci +11 -0
  411. data/integration/apps/rack/Gemfile +24 -0
  412. data/integration/apps/rack/README.md +93 -0
  413. data/integration/apps/rack/app/acme.rb +80 -0
  414. data/integration/apps/rack/app/datadog.rb +17 -0
  415. data/integration/apps/rack/bin/run +22 -0
  416. data/integration/apps/rack/bin/setup +17 -0
  417. data/integration/apps/rack/bin/test +24 -0
  418. data/integration/apps/rack/config.ru +6 -0
  419. data/integration/apps/rack/config/puma.rb +14 -0
  420. data/integration/apps/rack/config/unicorn.rb +23 -0
  421. data/integration/apps/rack/docker-compose.ci.yml +62 -0
  422. data/integration/apps/rack/docker-compose.yml +78 -0
  423. data/integration/apps/rack/script/build-images +38 -0
  424. data/integration/apps/rack/script/ci +51 -0
  425. data/integration/apps/rack/spec/integration/basic_spec.rb +10 -0
  426. data/integration/apps/rack/spec/spec_helper.rb +16 -0
  427. data/integration/apps/rack/spec/support/integration_helper.rb +22 -0
  428. data/integration/apps/rails-five/.dockerignore +1 -0
  429. data/integration/apps/rails-five/.env +3 -0
  430. data/integration/apps/rails-five/.envrc.sample +1 -0
  431. data/integration/apps/rails-five/.gitignore +30 -0
  432. data/integration/apps/rails-five/Dockerfile +25 -0
  433. data/integration/apps/rails-five/Dockerfile-ci +11 -0
  434. data/integration/apps/rails-five/Gemfile +104 -0
  435. data/integration/apps/rails-five/README.md +94 -0
  436. data/integration/apps/rails-five/Rakefile +6 -0
  437. data/integration/apps/rails-five/app/channels/application_cable/channel.rb +4 -0
  438. data/integration/apps/rails-five/app/channels/application_cable/connection.rb +4 -0
  439. data/integration/apps/rails-five/app/controllers/application_controller.rb +2 -0
  440. data/integration/apps/rails-five/app/controllers/basic_controller.rb +36 -0
  441. data/integration/apps/rails-five/app/controllers/concerns/.keep +0 -0
  442. data/integration/apps/rails-five/app/controllers/health_controller.rb +9 -0
  443. data/integration/apps/rails-five/app/controllers/jobs_controller.rb +12 -0
  444. data/integration/apps/rails-five/app/jobs/application_job.rb +2 -0
  445. data/integration/apps/rails-five/app/jobs/test_job.rb +12 -0
  446. data/integration/apps/rails-five/app/mailers/application_mailer.rb +4 -0
  447. data/integration/apps/rails-five/app/models/application_record.rb +3 -0
  448. data/integration/apps/rails-five/app/models/concerns/.keep +0 -0
  449. data/integration/apps/rails-five/app/models/test.rb +2 -0
  450. data/integration/apps/rails-five/app/views/layouts/mailer.html.erb +13 -0
  451. data/integration/apps/rails-five/app/views/layouts/mailer.text.erb +1 -0
  452. data/integration/apps/rails-five/bin/bundle +3 -0
  453. data/integration/apps/rails-five/bin/rails +9 -0
  454. data/integration/apps/rails-five/bin/rake +9 -0
  455. data/integration/apps/rails-five/bin/run +24 -0
  456. data/integration/apps/rails-five/bin/setup +27 -0
  457. data/integration/apps/rails-five/bin/spring +17 -0
  458. data/integration/apps/rails-five/bin/test +21 -0
  459. data/integration/apps/rails-five/bin/update +28 -0
  460. data/integration/apps/rails-five/config.ru +5 -0
  461. data/integration/apps/rails-five/config/application.rb +97 -0
  462. data/integration/apps/rails-five/config/boot.rb +4 -0
  463. data/integration/apps/rails-five/config/cable.yml +10 -0
  464. data/integration/apps/rails-five/config/credentials.yml.enc +1 -0
  465. data/integration/apps/rails-five/config/database.yml +28 -0
  466. data/integration/apps/rails-five/config/environment.rb +5 -0
  467. data/integration/apps/rails-five/config/environments/development.rb +51 -0
  468. data/integration/apps/rails-five/config/environments/production.rb +82 -0
  469. data/integration/apps/rails-five/config/environments/test.rb +43 -0
  470. data/integration/apps/rails-five/config/initializers/datadog.rb +18 -0
  471. data/integration/apps/rails-five/config/initializers/filter_parameter_logging.rb +4 -0
  472. data/integration/apps/rails-five/config/initializers/resque.rb +4 -0
  473. data/integration/apps/rails-five/config/initializers/rollbar.rb +5 -0
  474. data/integration/apps/rails-five/config/initializers/wrap_parameters.rb +14 -0
  475. data/integration/apps/rails-five/config/locales/en.yml +33 -0
  476. data/integration/apps/rails-five/config/puma.rb +24 -0
  477. data/integration/apps/rails-five/config/routes.rb +11 -0
  478. data/integration/apps/rails-five/config/spring.rb +6 -0
  479. data/integration/apps/rails-five/config/unicorn.rb +29 -0
  480. data/integration/apps/rails-five/db/migrate/20190927215052_create_tests.rb +11 -0
  481. data/integration/apps/rails-five/db/schema.rb +23 -0
  482. data/integration/apps/rails-five/db/seeds.rb +7 -0
  483. data/integration/apps/rails-five/docker-compose.ci.yml +98 -0
  484. data/integration/apps/rails-five/docker-compose.yml +100 -0
  485. data/integration/apps/rails-five/lib/tasks/.keep +0 -0
  486. data/integration/apps/rails-five/log/.keep +0 -0
  487. data/integration/apps/rails-five/public/robots.txt +1 -0
  488. data/integration/apps/rails-five/script/build-images +35 -0
  489. data/integration/apps/rails-five/script/ci +51 -0
  490. data/integration/apps/rails-five/spec/integration/basic_spec.rb +10 -0
  491. data/integration/apps/rails-five/spec/spec_helper.rb +16 -0
  492. data/integration/apps/rails-five/spec/support/integration_helper.rb +22 -0
  493. data/integration/apps/rails-five/storage/.keep +0 -0
  494. data/integration/apps/rails-five/tmp/.keep +0 -0
  495. data/integration/apps/rails-five/vendor/.keep +0 -0
  496. data/integration/apps/rspec/.dockerignore +1 -0
  497. data/integration/apps/rspec/.envrc.sample +1 -0
  498. data/integration/apps/rspec/.gitignore +2 -0
  499. data/integration/apps/rspec/.rspec +1 -0
  500. data/integration/apps/rspec/Dockerfile +25 -0
  501. data/integration/apps/rspec/Dockerfile-ci +11 -0
  502. data/integration/apps/rspec/Gemfile +14 -0
  503. data/integration/apps/rspec/README.md +70 -0
  504. data/integration/apps/rspec/agent.yaml +3 -0
  505. data/integration/apps/rspec/app/datadog.rb +13 -0
  506. data/integration/apps/rspec/app/fibonacci.rb +30 -0
  507. data/integration/apps/rspec/bin/run +20 -0
  508. data/integration/apps/rspec/bin/setup +17 -0
  509. data/integration/apps/rspec/bin/test +21 -0
  510. data/integration/apps/rspec/docker-compose.ci.yml +51 -0
  511. data/integration/apps/rspec/docker-compose.yml +63 -0
  512. data/integration/apps/rspec/script/build-images +37 -0
  513. data/integration/apps/rspec/script/ci +53 -0
  514. data/integration/apps/rspec/spec/fibonacci_spec.rb +16 -0
  515. data/integration/apps/rspec/spec/rspec_spec.rb +58 -0
  516. data/integration/apps/rspec/spec/spec_helper.rb +24 -0
  517. data/integration/apps/ruby/.dockerignore +1 -0
  518. data/integration/apps/ruby/.envrc.sample +1 -0
  519. data/integration/apps/ruby/.gitignore +2 -0
  520. data/integration/apps/ruby/Dockerfile +25 -0
  521. data/integration/apps/ruby/Dockerfile-ci +11 -0
  522. data/integration/apps/ruby/Gemfile +11 -0
  523. data/integration/apps/ruby/README.md +70 -0
  524. data/integration/apps/ruby/agent.yaml +3 -0
  525. data/integration/apps/ruby/app/datadog.rb +13 -0
  526. data/integration/apps/ruby/app/fibonacci.rb +58 -0
  527. data/integration/apps/ruby/bin/run +20 -0
  528. data/integration/apps/ruby/bin/setup +17 -0
  529. data/integration/apps/ruby/bin/test +21 -0
  530. data/integration/apps/ruby/docker-compose.ci.yml +51 -0
  531. data/integration/apps/ruby/docker-compose.yml +63 -0
  532. data/integration/apps/ruby/script/build-images +38 -0
  533. data/integration/apps/ruby/script/ci +51 -0
  534. data/integration/images/agent/Dockerfile +2 -0
  535. data/integration/images/agent/agent.yaml +3 -0
  536. data/integration/images/include/datadog/analyzer.rb +71 -0
  537. data/integration/images/include/datadog/demo_env.rb +101 -0
  538. data/integration/images/include/http-health-check +33 -0
  539. data/integration/images/ruby/2.1/Dockerfile +54 -0
  540. data/integration/images/ruby/2.2/Dockerfile +54 -0
  541. data/integration/images/ruby/2.3/Dockerfile +70 -0
  542. data/integration/images/ruby/2.4/Dockerfile +54 -0
  543. data/integration/images/ruby/2.5/Dockerfile +54 -0
  544. data/integration/images/ruby/2.6/Dockerfile +54 -0
  545. data/integration/images/ruby/2.7/Dockerfile +54 -0
  546. data/integration/images/ruby/3.0/Dockerfile +54 -0
  547. data/integration/images/wrk/Dockerfile +33 -0
  548. data/integration/images/wrk/scripts/entrypoint.sh +17 -0
  549. data/integration/images/wrk/scripts/scenarios/basic/default.lua +1 -0
  550. data/integration/images/wrk/scripts/scenarios/basic/fibonacci.lua +1 -0
  551. data/integration/script/build-images +43 -0
  552. data/lib/datadog/ci.rb +16 -0
  553. data/lib/datadog/ci/configuration/components.rb +30 -0
  554. data/lib/datadog/ci/configuration/settings.rb +36 -0
  555. data/lib/datadog/ci/context_flush.rb +28 -0
  556. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +30 -0
  557. data/lib/datadog/ci/contrib/cucumber/ext.rb +19 -0
  558. data/lib/datadog/ci/contrib/cucumber/formatter.rb +97 -0
  559. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +26 -0
  560. data/lib/datadog/ci/contrib/cucumber/integration.rb +47 -0
  561. data/lib/datadog/ci/contrib/cucumber/patcher.rb +25 -0
  562. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +30 -0
  563. data/lib/datadog/ci/contrib/rspec/example.rb +73 -0
  564. data/lib/datadog/ci/contrib/rspec/ext.rb +18 -0
  565. data/lib/datadog/ci/contrib/rspec/integration.rb +48 -0
  566. data/lib/datadog/ci/contrib/rspec/patcher.rb +25 -0
  567. data/lib/datadog/ci/ext/app_types.rb +9 -0
  568. data/lib/datadog/ci/ext/environment.rb +303 -0
  569. data/lib/datadog/ci/ext/settings.rb +10 -0
  570. data/lib/datadog/ci/ext/test.rb +28 -0
  571. data/lib/datadog/ci/extensions.rb +17 -0
  572. data/lib/datadog/ci/test.rb +63 -0
  573. data/lib/ddtrace.rb +9 -5
  574. data/lib/ddtrace/analytics.rb +2 -0
  575. data/lib/ddtrace/auto_instrument.rb +3 -0
  576. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  577. data/lib/ddtrace/buffer.rb +260 -53
  578. data/lib/ddtrace/configuration.rb +113 -21
  579. data/lib/ddtrace/configuration/agent_settings_resolver.rb +230 -0
  580. data/lib/ddtrace/configuration/base.rb +7 -10
  581. data/lib/ddtrace/configuration/components.rb +119 -21
  582. data/lib/ddtrace/configuration/option_definition.rb +1 -3
  583. data/lib/ddtrace/configuration/options.rb +9 -10
  584. data/lib/ddtrace/configuration/settings.rb +119 -10
  585. data/lib/ddtrace/context.rb +40 -20
  586. data/lib/ddtrace/context_flush.rb +14 -2
  587. data/lib/ddtrace/context_provider.rb +16 -5
  588. data/lib/ddtrace/contrib/action_cable/event.rb +5 -4
  589. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  590. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +2 -4
  591. data/lib/ddtrace/contrib/action_pack/action_controller/patcher.rb +1 -1
  592. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  593. data/lib/ddtrace/contrib/action_pack/utils.rb +1 -1
  594. data/lib/ddtrace/contrib/action_view/event.rb +3 -7
  595. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  596. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  597. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  598. data/lib/ddtrace/contrib/action_view/patcher.rb +4 -4
  599. data/lib/ddtrace/contrib/action_view/utils.rb +1 -1
  600. data/lib/ddtrace/contrib/active_model_serializers/event.rb +2 -2
  601. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +30 -0
  602. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +107 -18
  603. data/lib/ddtrace/contrib/active_record/event.rb +2 -2
  604. data/lib/ddtrace/contrib/active_record/events/sql.rb +4 -0
  605. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  606. data/lib/ddtrace/contrib/active_record/utils.rb +68 -21
  607. data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +104 -3
  608. data/lib/ddtrace/contrib/active_support/cache/patcher.rb +25 -4
  609. data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -5
  610. data/lib/ddtrace/contrib/active_support/ext.rb +3 -0
  611. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  612. data/lib/ddtrace/contrib/active_support/notifications/event.rb +14 -3
  613. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +2 -1
  614. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +11 -7
  615. data/lib/ddtrace/contrib/auto_instrument.rb +48 -0
  616. data/lib/ddtrace/contrib/aws/instrumentation.rb +35 -1
  617. data/lib/ddtrace/contrib/aws/patcher.rb +5 -1
  618. data/lib/ddtrace/contrib/aws/services.rb +3 -0
  619. data/lib/ddtrace/contrib/concurrent_ruby/patcher.rb +1 -1
  620. data/lib/ddtrace/contrib/configurable.rb +64 -38
  621. data/lib/ddtrace/contrib/configuration/resolver.rb +70 -5
  622. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +20 -20
  623. data/lib/ddtrace/contrib/configuration/settings.rb +7 -6
  624. data/lib/ddtrace/contrib/dalli/instrumentation.rb +5 -1
  625. data/lib/ddtrace/contrib/dalli/patcher.rb +1 -39
  626. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +2 -0
  627. data/lib/ddtrace/contrib/delayed_job/ext.rb +2 -0
  628. data/lib/ddtrace/contrib/delayed_job/plugin.rb +38 -15
  629. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +5 -0
  630. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +3 -2
  631. data/lib/ddtrace/contrib/ethon/easy_patch.rb +14 -11
  632. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  633. data/lib/ddtrace/contrib/ethon/multi_patch.rb +5 -1
  634. data/lib/ddtrace/contrib/ethon/patcher.rb +2 -2
  635. data/lib/ddtrace/contrib/excon/middleware.rb +13 -7
  636. data/lib/ddtrace/contrib/extensions.rb +56 -6
  637. data/lib/ddtrace/contrib/faraday/middleware.rb +5 -3
  638. data/lib/ddtrace/contrib/faraday/patcher.rb +2 -38
  639. data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -0
  640. data/lib/ddtrace/contrib/grape/endpoint.rb +52 -24
  641. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  642. data/lib/ddtrace/contrib/grape/instrumentation.rb +2 -2
  643. data/lib/ddtrace/contrib/grape/patcher.rb +1 -43
  644. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +8 -8
  645. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +5 -1
  646. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +5 -0
  647. data/lib/ddtrace/contrib/grpc/patcher.rb +1 -37
  648. data/lib/ddtrace/contrib/http/circuit_breaker.rb +1 -3
  649. data/lib/ddtrace/contrib/http/instrumentation.rb +12 -8
  650. data/lib/ddtrace/contrib/http/patcher.rb +1 -1
  651. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  652. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  653. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +147 -0
  654. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  655. data/lib/ddtrace/contrib/httpclient/patcher.rb +38 -0
  656. data/lib/ddtrace/contrib/httprb/instrumentation.rb +19 -22
  657. data/lib/ddtrace/contrib/httprb/patcher.rb +6 -3
  658. data/lib/ddtrace/contrib/integration.rb +3 -3
  659. data/lib/ddtrace/contrib/kafka/event.rb +3 -3
  660. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +4 -2
  661. data/lib/ddtrace/contrib/mongodb/patcher.rb +2 -2
  662. data/lib/ddtrace/contrib/mongodb/subscribers.rb +6 -3
  663. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +5 -1
  664. data/lib/ddtrace/contrib/mysql2/patcher.rb +1 -1
  665. data/lib/ddtrace/contrib/patchable.rb +20 -9
  666. data/lib/ddtrace/contrib/patcher.rb +10 -7
  667. data/lib/ddtrace/contrib/presto/instrumentation.rb +4 -1
  668. data/lib/ddtrace/contrib/presto/patcher.rb +6 -3
  669. data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
  670. data/lib/ddtrace/contrib/qless/ext.rb +20 -0
  671. data/lib/ddtrace/contrib/qless/integration.rb +38 -0
  672. data/lib/ddtrace/contrib/qless/patcher.rb +33 -0
  673. data/lib/ddtrace/contrib/qless/qless_job.rb +73 -0
  674. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +33 -0
  675. data/lib/ddtrace/contrib/que/configuration/settings.rb +1 -0
  676. data/lib/ddtrace/contrib/que/ext.rb +19 -19
  677. data/lib/ddtrace/contrib/que/tracer.rb +3 -2
  678. data/lib/ddtrace/contrib/racecar/event.rb +7 -2
  679. data/lib/ddtrace/contrib/rack/configuration/settings.rb +3 -3
  680. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  681. data/lib/ddtrace/contrib/rack/middlewares.rb +6 -11
  682. data/lib/ddtrace/contrib/rack/patcher.rb +1 -3
  683. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  684. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  685. data/lib/ddtrace/contrib/rails/patcher.rb +25 -7
  686. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  687. data/lib/ddtrace/contrib/rake/instrumentation.rb +5 -3
  688. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  689. data/lib/ddtrace/contrib/rake/patcher.rb +1 -1
  690. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +14 -5
  691. data/lib/ddtrace/contrib/redis/configuration/settings.rb +5 -0
  692. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  693. data/lib/ddtrace/contrib/redis/patcher.rb +20 -3
  694. data/lib/ddtrace/contrib/redis/quantize.rb +28 -0
  695. data/lib/ddtrace/contrib/redis/tags.rb +9 -1
  696. data/lib/ddtrace/contrib/redis/vendor/LICENSE +20 -0
  697. data/lib/ddtrace/contrib/redis/vendor/resolver.rb +6 -7
  698. data/lib/ddtrace/contrib/registerable.rb +2 -2
  699. data/lib/ddtrace/contrib/registry.rb +2 -2
  700. data/lib/ddtrace/contrib/resque/configuration/settings.rb +18 -1
  701. data/lib/ddtrace/contrib/resque/integration.rb +2 -2
  702. data/lib/ddtrace/contrib/resque/patcher.rb +4 -4
  703. data/lib/ddtrace/contrib/resque/resque_job.rb +25 -2
  704. data/lib/ddtrace/contrib/rest_client/patcher.rb +1 -1
  705. data/lib/ddtrace/contrib/rest_client/request_patch.rb +6 -4
  706. data/lib/ddtrace/contrib/sequel/database.rb +4 -2
  707. data/lib/ddtrace/contrib/sequel/dataset.rb +4 -3
  708. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  709. data/lib/ddtrace/contrib/sequel/patcher.rb +2 -2
  710. data/lib/ddtrace/contrib/sequel/utils.rb +15 -5
  711. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +2 -0
  712. data/lib/ddtrace/contrib/shoryuken/tracer.rb +8 -2
  713. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +1 -0
  714. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +5 -7
  715. data/lib/ddtrace/contrib/sidekiq/tracing.rb +0 -1
  716. data/lib/ddtrace/contrib/sinatra/env.rb +1 -3
  717. data/lib/ddtrace/contrib/sinatra/headers.rb +1 -3
  718. data/lib/ddtrace/contrib/sinatra/patcher.rb +1 -1
  719. data/lib/ddtrace/contrib/sinatra/tracer.rb +1 -3
  720. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +5 -5
  721. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +1 -0
  722. data/lib/ddtrace/contrib/sneakers/ext.rb +11 -11
  723. data/lib/ddtrace/contrib/sneakers/tracer.rb +16 -21
  724. data/lib/ddtrace/contrib/status_code_matcher.rb +69 -0
  725. data/lib/ddtrace/contrib/sucker_punch/exception_handler.rb +4 -6
  726. data/lib/ddtrace/contrib/sucker_punch/instrumentation.rb +4 -0
  727. data/lib/ddtrace/correlation.rb +1 -0
  728. data/lib/ddtrace/diagnostics/environment_logger.rb +5 -4
  729. data/lib/ddtrace/distributed_tracing/headers/headers.rb +1 -0
  730. data/lib/ddtrace/distributed_tracing/headers/helpers.rb +1 -3
  731. data/lib/ddtrace/error.rb +77 -8
  732. data/lib/ddtrace/ext/distributed.rb +8 -2
  733. data/lib/ddtrace/ext/git.rb +11 -0
  734. data/lib/ddtrace/ext/http.rb +1 -1
  735. data/lib/ddtrace/ext/integration.rb +8 -0
  736. data/lib/ddtrace/ext/profiling.rb +53 -0
  737. data/lib/ddtrace/ext/runtime.rb +5 -1
  738. data/lib/ddtrace/ext/test.rb +8 -0
  739. data/lib/ddtrace/ext/transport.rb +2 -0
  740. data/lib/ddtrace/forced_tracing.rb +2 -0
  741. data/lib/ddtrace/logger.rb +1 -1
  742. data/lib/ddtrace/metrics.rb +42 -9
  743. data/lib/ddtrace/opentelemetry/extensions.rb +1 -1
  744. data/lib/ddtrace/opentracer.rb +20 -39
  745. data/lib/ddtrace/opentracer/distributed_headers.rb +4 -1
  746. data/lib/ddtrace/opentracer/span.rb +2 -6
  747. data/lib/ddtrace/opentracer/thread_local_scope.rb +1 -0
  748. data/lib/ddtrace/patcher.rb +27 -6
  749. data/lib/ddtrace/pin.rb +8 -61
  750. data/lib/ddtrace/pipeline/span_filter.rb +1 -1
  751. data/lib/ddtrace/profiling.rb +107 -0
  752. data/lib/ddtrace/profiling/backtrace_location.rb +32 -0
  753. data/lib/ddtrace/profiling/buffer.rb +41 -0
  754. data/lib/ddtrace/profiling/collectors/stack.rb +262 -0
  755. data/lib/ddtrace/profiling/encoding/profile.rb +37 -0
  756. data/lib/ddtrace/profiling/event.rb +13 -0
  757. data/lib/ddtrace/profiling/events/stack.rb +102 -0
  758. data/lib/ddtrace/profiling/exporter.rb +23 -0
  759. data/lib/ddtrace/profiling/ext/cpu.rb +52 -0
  760. data/lib/ddtrace/profiling/ext/cthread.rb +155 -0
  761. data/lib/ddtrace/profiling/ext/forking.rb +97 -0
  762. data/lib/ddtrace/profiling/flush.rb +43 -0
  763. data/lib/ddtrace/profiling/pprof/builder.rb +119 -0
  764. data/lib/ddtrace/profiling/pprof/converter.rb +89 -0
  765. data/lib/ddtrace/profiling/pprof/message_set.rb +12 -0
  766. data/lib/ddtrace/profiling/pprof/payload.rb +18 -0
  767. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  768. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +81 -0
  769. data/lib/ddtrace/profiling/pprof/stack_sample.rb +106 -0
  770. data/lib/ddtrace/profiling/pprof/string_table.rb +10 -0
  771. data/lib/ddtrace/profiling/pprof/template.rb +118 -0
  772. data/lib/ddtrace/profiling/preload.rb +3 -0
  773. data/lib/ddtrace/profiling/profiler.rb +30 -0
  774. data/lib/ddtrace/profiling/recorder.rb +95 -0
  775. data/lib/ddtrace/profiling/scheduler.rb +116 -0
  776. data/lib/ddtrace/profiling/tasks/setup.rb +77 -0
  777. data/lib/ddtrace/profiling/transport/client.rb +12 -0
  778. data/lib/ddtrace/profiling/transport/http.rb +118 -0
  779. data/lib/ddtrace/profiling/transport/http/api.rb +43 -0
  780. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +100 -0
  781. data/lib/ddtrace/profiling/transport/http/api/instance.rb +36 -0
  782. data/lib/ddtrace/profiling/transport/http/api/spec.rb +40 -0
  783. data/lib/ddtrace/profiling/transport/http/builder.rb +28 -0
  784. data/lib/ddtrace/profiling/transport/http/client.rb +33 -0
  785. data/lib/ddtrace/profiling/transport/http/response.rb +21 -0
  786. data/lib/ddtrace/profiling/transport/io.rb +30 -0
  787. data/lib/ddtrace/profiling/transport/io/client.rb +27 -0
  788. data/lib/ddtrace/profiling/transport/io/response.rb +16 -0
  789. data/lib/ddtrace/profiling/transport/parcel.rb +17 -0
  790. data/lib/ddtrace/profiling/transport/request.rb +15 -0
  791. data/lib/ddtrace/profiling/transport/response.rb +8 -0
  792. data/lib/ddtrace/propagation/grpc_propagator.rb +19 -6
  793. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  794. data/lib/ddtrace/quantization/http.rb +1 -0
  795. data/lib/ddtrace/runtime/cgroup.rb +2 -2
  796. data/lib/ddtrace/runtime/container.rb +43 -29
  797. data/lib/ddtrace/runtime/identity.rb +12 -5
  798. data/lib/ddtrace/runtime/metrics.rb +9 -7
  799. data/lib/ddtrace/sampler.rb +3 -3
  800. data/lib/ddtrace/sampling/rate_limiter.rb +65 -16
  801. data/lib/ddtrace/sampling/rule_sampler.rb +4 -9
  802. data/lib/ddtrace/span.rb +154 -29
  803. data/lib/ddtrace/sync_writer.rb +14 -13
  804. data/lib/ddtrace/tasks/exec.rb +48 -0
  805. data/lib/ddtrace/tasks/help.rb +14 -0
  806. data/lib/ddtrace/tracer.rb +68 -50
  807. data/lib/ddtrace/transport/http.rb +41 -31
  808. data/lib/ddtrace/transport/http/adapters/net.rb +34 -9
  809. data/lib/ddtrace/transport/http/adapters/registry.rb +1 -0
  810. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +2 -4
  811. data/lib/ddtrace/transport/http/builder.rb +7 -1
  812. data/lib/ddtrace/transport/http/env.rb +8 -0
  813. data/lib/ddtrace/transport/http/statistics.rb +16 -3
  814. data/lib/ddtrace/transport/http/traces.rb +5 -6
  815. data/lib/ddtrace/transport/io.rb +1 -1
  816. data/lib/ddtrace/transport/io/client.rb +15 -8
  817. data/lib/ddtrace/transport/io/response.rb +1 -3
  818. data/lib/ddtrace/transport/io/traces.rb +7 -1
  819. data/lib/ddtrace/transport/parcel.rb +4 -0
  820. data/lib/ddtrace/transport/traces.rb +25 -3
  821. data/lib/ddtrace/utils.rb +16 -13
  822. data/lib/ddtrace/utils/compression.rb +27 -0
  823. data/lib/ddtrace/utils/forking.rb +52 -0
  824. data/lib/ddtrace/utils/object_set.rb +39 -0
  825. data/lib/ddtrace/utils/only_once.rb +40 -0
  826. data/lib/ddtrace/utils/sequence.rb +17 -0
  827. data/lib/ddtrace/utils/string_table.rb +45 -0
  828. data/lib/ddtrace/utils/time.rb +32 -3
  829. data/lib/ddtrace/vendor/active_record/MIT-LICENSE +20 -0
  830. data/lib/ddtrace/vendor/multipart-post/LICENSE +11 -0
  831. data/lib/ddtrace/vendor/multipart-post/multipart.rb +12 -0
  832. data/lib/ddtrace/vendor/multipart-post/multipart/post.rb +8 -0
  833. data/lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb +116 -0
  834. data/lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb +57 -0
  835. data/lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb +135 -0
  836. data/lib/ddtrace/vendor/multipart-post/multipart/post/version.rb +9 -0
  837. data/lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb +32 -0
  838. data/lib/ddtrace/version.rb +14 -2
  839. data/lib/ddtrace/workers.rb +6 -1
  840. data/lib/ddtrace/workers/async.rb +13 -4
  841. data/lib/ddtrace/workers/loop.rb +31 -5
  842. data/lib/ddtrace/workers/polling.rb +12 -5
  843. data/lib/ddtrace/workers/queue.rb +2 -1
  844. data/lib/ddtrace/workers/runtime_metrics.rb +21 -4
  845. data/lib/ddtrace/workers/trace_writer.rb +11 -14
  846. data/lib/ddtrace/writer.rb +30 -6
  847. metadata +642 -338
  848. data/lib/ddtrace/augmentation.rb +0 -13
  849. data/lib/ddtrace/augmentation/method_wrapper.rb +0 -20
  850. data/lib/ddtrace/augmentation/method_wrapping.rb +0 -38
  851. data/lib/ddtrace/augmentation/shim.rb +0 -102
  852. data/lib/ddtrace/monkey.rb +0 -58
@@ -8,9 +8,9 @@ module Datadog
8
8
  SHUTDOWN_TIMEOUT = 1
9
9
 
10
10
  def self.included(base)
11
- base.send(:include, Workers::IntervalLoop)
12
- base.send(:include, Workers::Async::Thread)
13
- base.send(:prepend, PrependedMethods)
11
+ base.include(Workers::IntervalLoop)
12
+ base.include(Workers::Async::Thread)
13
+ base.prepend(PrependedMethods)
14
14
  end
15
15
 
16
16
  # Methods that must be prepended
@@ -26,8 +26,14 @@ module Datadog
26
26
  stop_loop
27
27
  graceful = join(timeout)
28
28
 
29
- # If timeout and force stop...
30
- !graceful && force_stop ? terminate : graceful
29
+ if !graceful && force_stop
30
+ Datadog.logger.debug do
31
+ "Timeout while waiting for worker to finish gracefully, forcing termination for: #{self}"
32
+ end
33
+ terminate
34
+ else
35
+ graceful
36
+ end
31
37
  else
32
38
  false
33
39
  end
@@ -35,6 +41,7 @@ module Datadog
35
41
 
36
42
  def enabled?
37
43
  return true unless instance_variable_defined?(:@enabled)
44
+
38
45
  @enabled
39
46
  end
40
47
 
@@ -4,7 +4,7 @@ module Datadog
4
4
  # to which items can be queued then dequeued.
5
5
  module Queue
6
6
  def self.included(base)
7
- base.send(:prepend, PrependedMethods)
7
+ base.prepend(PrependedMethods)
8
8
  end
9
9
 
10
10
  # Methods that must be prepended
@@ -26,6 +26,7 @@ module Datadog
26
26
  buffer.shift
27
27
  end
28
28
 
29
+ # Are there more items to be processed next?
29
30
  def work_pending?
30
31
  !buffer.empty?
31
32
  end
@@ -12,19 +12,23 @@ module Datadog
12
12
  extend Forwardable
13
13
  include Workers::Polling
14
14
 
15
+ # In seconds
16
+ DEFAULT_FLUSH_INTERVAL = 10
17
+ DEFAULT_BACK_OFF_MAX = 30
18
+
15
19
  attr_reader \
16
20
  :metrics
17
21
 
18
22
  def initialize(options = {})
19
- @metrics = options.fetch(:metrics, Runtime::Metrics.new)
23
+ @metrics = options.fetch(:metrics) { Runtime::Metrics.new }
20
24
 
21
25
  # Workers::Async::Thread settings
22
26
  self.fork_policy = options.fetch(:fork_policy, Workers::Async::Thread::FORK_POLICY_STOP)
23
27
 
24
28
  # Workers::IntervalLoop settings
25
- self.interval = options[:interval] if options.key?(:interval)
26
- self.back_off_ratio = options[:back_off_ratio] if options.key?(:back_off_ratio)
27
- self.back_off_max = options[:back_off_max] if options.key?(:back_off_max)
29
+ self.loop_base_interval = options.fetch(:interval, DEFAULT_FLUSH_INTERVAL)
30
+ self.loop_back_off_ratio = options[:back_off_ratio] if options.key?(:back_off_ratio)
31
+ self.loop_back_off_max = options.fetch(:back_off_max, DEFAULT_BACK_OFF_MAX)
28
32
 
29
33
  self.enabled = options.fetch(:enabled, false)
30
34
  end
@@ -39,6 +43,19 @@ module Datadog
39
43
  metrics.associate_with_span(*args).tap { perform }
40
44
  end
41
45
 
46
+ # TODO: `close_metrics` is only needed because
47
+ # Datadog::Components directly manipulates the lifecycle of
48
+ # Runtime::Metrics.statsd instances.
49
+ # This should be avoided, as it prevents this class from
50
+ # ensuring correct resource decommission of its internal
51
+ # dependencies.
52
+ def stop(*args, close_metrics: true)
53
+ self.enabled = false
54
+ result = super(*args)
55
+ @metrics.close if close_metrics
56
+ result
57
+ end
58
+
42
59
  def_delegators \
43
60
  :metrics,
44
61
  :register_service
@@ -16,15 +16,10 @@ module Datadog
16
16
  def initialize(options = {})
17
17
  transport_options = options.fetch(:transport_options, {})
18
18
 
19
- if transport_options.is_a?(Proc)
20
- transport_options = { on_build: transport_options }
21
- end
22
-
23
- transport_options[:hostname] = options[:hostname] if options.key?(:hostname)
24
- transport_options[:port] = options[:port] if options.key?(:port)
19
+ transport_options[:agent_settings] = options[:agent_settings] if options.key?(:agent_settings)
25
20
 
26
21
  @transport = options.fetch(:transport) do
27
- Transport::HTTP.default(transport_options)
22
+ Transport::HTTP.default(**transport_options)
28
23
  end
29
24
  end
30
25
 
@@ -66,9 +61,7 @@ module Datadog
66
61
  next if trace.first.nil?
67
62
 
68
63
  hostname = Datadog::Runtime::Socket.hostname
69
- unless hostname.nil? || hostname.empty?
70
- trace.first.set_tag(Ext::NET::TAG_HOSTNAME, hostname)
71
- end
64
+ trace.first.set_tag(Ext::NET::TAG_HOSTNAME, hostname) unless hostname.nil? || hostname.empty?
72
65
  end
73
66
  end
74
67
 
@@ -84,10 +77,6 @@ module Datadog
84
77
  def initialize
85
78
  super(:flush_completed)
86
79
  end
87
-
88
- def publish(response)
89
- super(response)
90
- end
91
80
  end
92
81
  end
93
82
 
@@ -127,10 +116,15 @@ module Datadog
127
116
 
128
117
  # NOTE: #perform is wrapped by other modules:
129
118
  # Polling --> Async --> IntervalLoop --> AsyncTraceWriter --> TraceWriter
119
+ #
120
+ # WARNING: This method breaks the Liskov Substitution Principle -- TraceWriter#perform is spec'd to return the
121
+ # result from the writer, whereas this method always returns nil.
130
122
  def perform(traces)
131
123
  super(traces).tap do |responses|
132
124
  loop_back_off! if responses.find(&:server_error?)
133
125
  end
126
+
127
+ nil
134
128
  end
135
129
 
136
130
  def stop(*args)
@@ -148,6 +142,7 @@ module Datadog
148
142
  [buffer.pop]
149
143
  end
150
144
 
145
+ # Are there more traces to be processed next?
151
146
  def work_pending?
152
147
  !buffer.empty?
153
148
  end
@@ -187,6 +182,8 @@ module Datadog
187
182
  @async = false if @writer_fork_policy == FORK_POLICY_SYNC
188
183
  end
189
184
 
185
+ # WARNING: This method breaks the Liskov Substitution Principle -- TraceWriter#write is spec'd to return the
186
+ # result from the writer, whereas this method returns something else when running in async mode.
190
187
  def write(trace)
191
188
  # Start worker thread. If the process has forked, it will trigger #after_fork to
192
189
  # reconfigure the worker accordingly.
@@ -3,15 +3,19 @@ require 'json'
3
3
  require 'ddtrace/ext/net'
4
4
  require 'ddtrace/runtime/socket'
5
5
 
6
+ require 'ddtrace/configuration/agent_settings_resolver'
6
7
  require 'ddtrace/transport/http'
7
8
  require 'ddtrace/transport/io'
8
9
  require 'ddtrace/encoding'
9
10
  require 'ddtrace/workers'
10
11
  require 'ddtrace/diagnostics/environment_logger'
12
+ require 'ddtrace/utils/only_once'
11
13
 
12
14
  module Datadog
13
15
  # Processor that sends traces and metadata to the agent
14
16
  class Writer
17
+ DEPRECATION_WARN_ONLY_ONCE = Datadog::Utils::OnlyOnce.new
18
+
15
19
  attr_reader \
16
20
  :priority_sampler,
17
21
  :transport,
@@ -23,6 +27,8 @@ module Datadog
23
27
  @flush_interval = options.fetch(:flush_interval, Workers::AsyncTransport::DEFAULT_FLUSH_INTERVAL)
24
28
  transport_options = options.fetch(:transport_options, {})
25
29
 
30
+ transport_options[:agent_settings] = options[:agent_settings] if options.key?(:agent_settings)
31
+
26
32
  # priority sampling
27
33
  if options[:priority_sampler]
28
34
  @priority_sampler = options[:priority_sampler]
@@ -31,7 +37,7 @@ module Datadog
31
37
 
32
38
  # transport and buffers
33
39
  @transport = options.fetch(:transport) do
34
- Transport::HTTP.default(transport_options)
40
+ Transport::HTTP.default(**transport_options)
35
41
  end
36
42
 
37
43
  # handles the thread creation after an eventual fork
@@ -42,13 +48,23 @@ module Datadog
42
48
 
43
49
  # one worker for traces
44
50
  @worker = nil
51
+
52
+ # Once stopped, this writer instance cannot be restarted.
53
+ # This allow for graceful shutdown, while preventing
54
+ # the host application from inadvertently start new
55
+ # threads during shutdown.
56
+ @stopped = false
45
57
  end
46
58
 
47
59
  def start
48
60
  @mutex_after_fork.synchronize do
61
+ return false if @stopped
62
+
49
63
  pid = Process.pid
50
64
  return if @worker && pid == @pid
65
+
51
66
  @pid = pid
67
+
52
68
  start_worker
53
69
  true
54
70
  end
@@ -67,14 +83,24 @@ module Datadog
67
83
  @worker.start
68
84
  end
69
85
 
86
+ # Gracefully shuts down this writer.
87
+ #
88
+ # Once stopped methods calls won't fail, but
89
+ # no internal work will be performed.
90
+ #
91
+ # It is not possible to restart a stopped writer instance.
70
92
  def stop
71
93
  @mutex_after_fork.synchronize { stop_worker }
72
94
  end
73
95
 
74
96
  def stop_worker
97
+ @stopped = true
98
+
75
99
  return if @worker.nil?
100
+
76
101
  @worker.stop
77
102
  @worker = nil
103
+
78
104
  true
79
105
  end
80
106
 
@@ -107,7 +133,7 @@ module Datadog
107
133
  # enqueue the trace for submission to the API
108
134
  def write(trace, services = nil)
109
135
  unless services.nil?
110
- Datadog::Patcher.do_once('Writer#write') do
136
+ DEPRECATION_WARN_ONLY_ONCE.run do
111
137
  Datadog.logger.warn(%(
112
138
  write: Writing services has been deprecated and no longer need to be provided.
113
139
  write(traces, services) can be updated to write(traces)
@@ -136,7 +162,7 @@ module Datadog
136
162
 
137
163
  if worker_local
138
164
  worker_local.enqueue_trace(trace)
139
- else
165
+ elsif !@stopped
140
166
  Datadog.logger.debug('Writer either failed to start or was stopped before #write could complete')
141
167
  end
142
168
  end
@@ -156,9 +182,7 @@ module Datadog
156
182
  next if trace.first.nil?
157
183
 
158
184
  hostname = Datadog::Runtime::Socket.hostname
159
- unless hostname.nil? || hostname.empty?
160
- trace.first.set_tag(Ext::NET::TAG_HOSTNAME, hostname)
161
- end
185
+ trace.first.set_tag(Ext::NET::TAG_HOSTNAME, hostname) unless hostname.nil? || hostname.empty?
162
186
  end
163
187
  end
164
188
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.0
4
+ version: 0.50.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-08 00:00:00.000000000 Z
11
+ date: 2021-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -25,353 +25,31 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dogstatsd-ruby
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 3.3.0
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: 3.3.0
41
- - !ruby/object:Gem::Dependency
42
- name: opentracing
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: 0.4.1
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 0.4.1
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '10.5'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '10.5'
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '='
74
- - !ruby/object:Gem::Version
75
- version: 0.49.1
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '='
81
- - !ruby/object:Gem::Version
82
- version: 0.49.1
83
- - !ruby/object:Gem::Dependency
84
- name: rspec
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '3.0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '3.0'
97
- - !ruby/object:Gem::Dependency
98
- name: rspec-collection_matchers
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '1.1'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1.1'
111
- - !ruby/object:Gem::Dependency
112
- name: minitest
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - '='
116
- - !ruby/object:Gem::Version
117
- version: 5.10.1
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - '='
123
- - !ruby/object:Gem::Version
124
- version: 5.10.1
125
- - !ruby/object:Gem::Dependency
126
- name: minitest-around
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - '='
130
- - !ruby/object:Gem::Version
131
- version: 0.5.0
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - '='
137
- - !ruby/object:Gem::Version
138
- version: 0.5.0
139
- - !ruby/object:Gem::Dependency
140
- name: minitest-stub_any_instance
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - '='
144
- - !ruby/object:Gem::Version
145
- version: 1.0.2
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - '='
151
- - !ruby/object:Gem::Version
152
- version: 1.0.2
153
- - !ruby/object:Gem::Dependency
154
- name: appraisal
28
+ name: ffi
155
29
  requirement: !ruby/object:Gem::Requirement
156
30
  requirements:
157
31
  - - "~>"
158
32
  - !ruby/object:Gem::Version
159
- version: '2.2'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '2.2'
167
- - !ruby/object:Gem::Dependency
168
- name: yard
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '0.9'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: '0.9'
181
- - !ruby/object:Gem::Dependency
182
- name: webmock
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: '2.0'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: '2.0'
195
- - !ruby/object:Gem::Dependency
196
- name: builder
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
- - !ruby/object:Gem::Dependency
210
- name: sqlite3
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: 1.3.6
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: 1.3.6
223
- - !ruby/object:Gem::Dependency
224
- name: climate_control
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - "~>"
228
- - !ruby/object:Gem::Version
229
- version: 0.2.0
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - "~>"
235
- - !ruby/object:Gem::Version
236
- version: 0.2.0
237
- - !ruby/object:Gem::Dependency
238
- name: addressable
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: 2.4.0
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - "~>"
249
- - !ruby/object:Gem::Version
250
- version: 2.4.0
251
- - !ruby/object:Gem::Dependency
252
- name: benchmark-ips
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: '2.8'
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: '2.8'
265
- - !ruby/object:Gem::Dependency
266
- name: benchmark-memory
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - "~>"
270
- - !ruby/object:Gem::Version
271
- version: '0.1'
272
- type: :development
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - "~>"
277
- - !ruby/object:Gem::Version
278
- version: '0.1'
279
- - !ruby/object:Gem::Dependency
280
- name: memory_profiler
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - "~>"
284
- - !ruby/object:Gem::Version
285
- version: '0.9'
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - "~>"
291
- - !ruby/object:Gem::Version
292
- version: '0.9'
293
- - !ruby/object:Gem::Dependency
294
- name: redcarpet
295
- requirement: !ruby/object:Gem::Requirement
296
- requirements:
297
- - - "~>"
298
- - !ruby/object:Gem::Version
299
- version: '3.4'
300
- type: :development
301
- prerelease: false
302
- version_requirements: !ruby/object:Gem::Requirement
303
- requirements:
304
- - - "~>"
305
- - !ruby/object:Gem::Version
306
- version: '3.4'
307
- - !ruby/object:Gem::Dependency
308
- name: pry
309
- requirement: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - "~>"
312
- - !ruby/object:Gem::Version
313
- version: 0.10.4
314
- type: :development
315
- prerelease: false
316
- version_requirements: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - "~>"
319
- - !ruby/object:Gem::Version
320
- version: 0.10.4
321
- - !ruby/object:Gem::Dependency
322
- name: pry-stack_explorer
323
- requirement: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - "~>"
326
- - !ruby/object:Gem::Version
327
- version: 0.4.9.2
328
- type: :development
329
- prerelease: false
330
- version_requirements: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - "~>"
333
- - !ruby/object:Gem::Version
334
- version: 0.4.9.2
335
- - !ruby/object:Gem::Dependency
336
- name: simplecov
337
- requirement: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - "~>"
340
- - !ruby/object:Gem::Version
341
- version: '0.17'
342
- type: :development
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - "~>"
347
- - !ruby/object:Gem::Version
348
- version: '0.17'
349
- - !ruby/object:Gem::Dependency
350
- name: warning
351
- requirement: !ruby/object:Gem::Requirement
352
- requirements:
353
- - - "~>"
354
- - !ruby/object:Gem::Version
355
- version: '1'
356
- type: :development
33
+ version: '1.0'
34
+ type: :runtime
357
35
  prerelease: false
358
36
  version_requirements: !ruby/object:Gem::Requirement
359
37
  requirements:
360
38
  - - "~>"
361
39
  - !ruby/object:Gem::Version
362
- version: '1'
40
+ version: '1.0'
363
41
  description: |
364
42
  ddtrace is Datadog’s tracing client for Ruby. It is used to trace requests
365
43
  as they flow across web servers, databases and microservices so that developers
366
44
  have great visiblity into bottlenecks and troublesome requests.
367
45
  email:
368
46
  - dev@datadoghq.com
369
- executables: []
47
+ executables:
48
+ - ddtracerb
370
49
  extensions: []
371
50
  extra_rdoc_files: []
372
51
  files:
373
52
  - ".circleci/config.yml"
374
- - ".circleci/images/primary/Dockerfile-2.0.0"
375
53
  - ".circleci/images/primary/Dockerfile-2.1.10"
376
54
  - ".circleci/images/primary/Dockerfile-2.2.10"
377
55
  - ".circleci/images/primary/Dockerfile-2.3.8"
@@ -379,14 +57,20 @@ files:
379
57
  - ".circleci/images/primary/Dockerfile-2.5.6"
380
58
  - ".circleci/images/primary/Dockerfile-2.6.4"
381
59
  - ".circleci/images/primary/Dockerfile-2.7.0"
382
- - ".circleci/images/primary/Dockerfile-jruby-9.2"
60
+ - ".circleci/images/primary/Dockerfile-3.0.0"
61
+ - ".circleci/images/primary/Dockerfile-jruby-9.2-latest"
62
+ - ".circleci/images/primary/Dockerfile-jruby-9.2.0.0"
63
+ - ".circleci/images/primary/Dockerfile-truffleruby-21.1.0"
383
64
  - ".dockerignore"
384
65
  - ".env"
385
66
  - ".github/CODEOWNERS"
67
+ - ".github/workflows/add-milestone-to-pull-requests.yml"
68
+ - ".github/workflows/create-next-milestone.yml"
386
69
  - ".gitignore"
387
70
  - ".gitlab-ci.yml"
388
71
  - ".rspec"
389
72
  - ".rubocop.yml"
73
+ - ".rubocop_todo.yml"
390
74
  - ".simplecov"
391
75
  - ".yardopts"
392
76
  - Appraisals
@@ -394,26 +78,566 @@ files:
394
78
  - CONTRIBUTING.md
395
79
  - Gemfile
396
80
  - LICENSE
81
+ - LICENSE-3rdparty.csv
397
82
  - LICENSE.Apache
398
83
  - LICENSE.BSD3
399
84
  - NOTICE
400
85
  - README.md
401
86
  - Rakefile
87
+ - benchmarks/data/profiler-submission-marshal.gz
402
88
  - benchmarks/postgres_database.yml
89
+ - benchmarks/profiler_sample_loop.rb
90
+ - benchmarks/profiler_submission.rb
403
91
  - benchmarks/sidekiq_test.rb
92
+ - bin/ddtracerb
404
93
  - ddtrace.gemspec
405
94
  - docker-compose.yml
406
95
  - docs/DevelopmentGuide.md
407
96
  - docs/GettingStarted.md
97
+ - docs/ProfilingDevelopment.md
98
+ - gemfiles/jruby_9.2.0.0_contrib.gemfile
99
+ - gemfiles/jruby_9.2.0.0_contrib.gemfile.lock
100
+ - gemfiles/jruby_9.2.0.0_contrib_old.gemfile
101
+ - gemfiles/jruby_9.2.0.0_contrib_old.gemfile.lock
102
+ - gemfiles/jruby_9.2.0.0_core_old.gemfile
103
+ - gemfiles/jruby_9.2.0.0_core_old.gemfile.lock
104
+ - gemfiles/jruby_9.2.0.0_cucumber3.gemfile
105
+ - gemfiles/jruby_9.2.0.0_cucumber3.gemfile.lock
106
+ - gemfiles/jruby_9.2.0.0_cucumber4.gemfile
107
+ - gemfiles/jruby_9.2.0.0_cucumber4.gemfile.lock
108
+ - gemfiles/jruby_9.2.0.0_cucumber5.gemfile
109
+ - gemfiles/jruby_9.2.0.0_cucumber5.gemfile.lock
110
+ - gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile
111
+ - gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile.lock
112
+ - gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile
113
+ - gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile.lock
114
+ - gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile
115
+ - gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile.lock
116
+ - gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile
117
+ - gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile.lock
118
+ - gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile
119
+ - gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile.lock
120
+ - gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile
121
+ - gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile.lock
122
+ - gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile
123
+ - gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile.lock
124
+ - gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile
125
+ - gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile.lock
126
+ - gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile
127
+ - gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile.lock
128
+ - gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile
129
+ - gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile.lock
130
+ - gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile
131
+ - gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile.lock
132
+ - gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile
133
+ - gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile.lock
134
+ - gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile
135
+ - gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile.lock
136
+ - gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile
137
+ - gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile.lock
138
+ - gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile
139
+ - gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile.lock
140
+ - gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile
141
+ - gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile.lock
142
+ - gemfiles/jruby_9.2.11.1_contrib.gemfile
143
+ - gemfiles/jruby_9.2.11.1_contrib.gemfile.lock
144
+ - gemfiles/jruby_9.2.11.1_contrib_old.gemfile
145
+ - gemfiles/jruby_9.2.11.1_contrib_old.gemfile.lock
146
+ - gemfiles/jruby_9.2.11.1_core_old.gemfile
147
+ - gemfiles/jruby_9.2.11.1_core_old.gemfile.lock
148
+ - gemfiles/jruby_9.2.11.1_cucumber3.gemfile
149
+ - gemfiles/jruby_9.2.11.1_cucumber3.gemfile.lock
150
+ - gemfiles/jruby_9.2.11.1_cucumber4.gemfile
151
+ - gemfiles/jruby_9.2.11.1_cucumber4.gemfile.lock
152
+ - gemfiles/jruby_9.2.11.1_cucumber5.gemfile
153
+ - gemfiles/jruby_9.2.11.1_cucumber5.gemfile.lock
154
+ - gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile
155
+ - gemfiles/jruby_9.2.11.1_rails5_mysql2.gemfile.lock
156
+ - gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile
157
+ - gemfiles/jruby_9.2.11.1_rails5_postgres.gemfile.lock
158
+ - gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile
159
+ - gemfiles/jruby_9.2.11.1_rails5_postgres_redis.gemfile.lock
160
+ - gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile
161
+ - gemfiles/jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile.lock
162
+ - gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile
163
+ - gemfiles/jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile.lock
164
+ - gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile
165
+ - gemfiles/jruby_9.2.11.1_rails61_mysql2.gemfile.lock
166
+ - gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile
167
+ - gemfiles/jruby_9.2.11.1_rails61_postgres.gemfile.lock
168
+ - gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile
169
+ - gemfiles/jruby_9.2.11.1_rails61_postgres_redis.gemfile.lock
170
+ - gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile
171
+ - gemfiles/jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile.lock
172
+ - gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile
173
+ - gemfiles/jruby_9.2.11.1_rails6_mysql2.gemfile.lock
174
+ - gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile
175
+ - gemfiles/jruby_9.2.11.1_rails6_postgres.gemfile.lock
176
+ - gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile
177
+ - gemfiles/jruby_9.2.11.1_rails6_postgres_redis.gemfile.lock
178
+ - gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile
179
+ - gemfiles/jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile.lock
180
+ - gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile
181
+ - gemfiles/jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile.lock
182
+ - gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile
183
+ - gemfiles/jruby_9.2.11.1_resque2_redis3.gemfile.lock
184
+ - gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile
185
+ - gemfiles/jruby_9.2.11.1_resque2_redis4.gemfile.lock
186
+ - gemfiles/ruby_2.1.10_contrib_old.gemfile
187
+ - gemfiles/ruby_2.1.10_contrib_old.gemfile.lock
188
+ - gemfiles/ruby_2.1.10_core_old.gemfile
189
+ - gemfiles/ruby_2.1.10_core_old.gemfile.lock
190
+ - gemfiles/ruby_2.1.10_rails30_postgres.gemfile
191
+ - gemfiles/ruby_2.1.10_rails30_postgres.gemfile.lock
192
+ - gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile
193
+ - gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile.lock
194
+ - gemfiles/ruby_2.1.10_rails32_mysql2.gemfile
195
+ - gemfiles/ruby_2.1.10_rails32_mysql2.gemfile.lock
196
+ - gemfiles/ruby_2.1.10_rails32_postgres.gemfile
197
+ - gemfiles/ruby_2.1.10_rails32_postgres.gemfile.lock
198
+ - gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile
199
+ - gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile.lock
200
+ - gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile
201
+ - gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile.lock
202
+ - gemfiles/ruby_2.1.10_rails4_mysql2.gemfile
203
+ - gemfiles/ruby_2.1.10_rails4_mysql2.gemfile.lock
204
+ - gemfiles/ruby_2.1.10_rails4_postgres.gemfile
205
+ - gemfiles/ruby_2.1.10_rails4_postgres.gemfile.lock
206
+ - gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile
207
+ - gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile.lock
208
+ - gemfiles/ruby_2.2.10_contrib.gemfile
209
+ - gemfiles/ruby_2.2.10_contrib.gemfile.lock
210
+ - gemfiles/ruby_2.2.10_core_old.gemfile
211
+ - gemfiles/ruby_2.2.10_core_old.gemfile.lock
212
+ - gemfiles/ruby_2.2.10_rails30_postgres.gemfile
213
+ - gemfiles/ruby_2.2.10_rails30_postgres.gemfile.lock
214
+ - gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile
215
+ - gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile.lock
216
+ - gemfiles/ruby_2.2.10_rails32_mysql2.gemfile
217
+ - gemfiles/ruby_2.2.10_rails32_mysql2.gemfile.lock
218
+ - gemfiles/ruby_2.2.10_rails32_postgres.gemfile
219
+ - gemfiles/ruby_2.2.10_rails32_postgres.gemfile.lock
220
+ - gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile
221
+ - gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile.lock
222
+ - gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile
223
+ - gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile.lock
224
+ - gemfiles/ruby_2.2.10_rails4_mysql2.gemfile
225
+ - gemfiles/ruby_2.2.10_rails4_mysql2.gemfile.lock
226
+ - gemfiles/ruby_2.2.10_rails4_postgres.gemfile
227
+ - gemfiles/ruby_2.2.10_rails4_postgres.gemfile.lock
228
+ - gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile
229
+ - gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile.lock
230
+ - gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile
231
+ - gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile.lock
232
+ - gemfiles/ruby_2.2.10_rails5_mysql2.gemfile
233
+ - gemfiles/ruby_2.2.10_rails5_mysql2.gemfile.lock
234
+ - gemfiles/ruby_2.2.10_rails5_postgres.gemfile
235
+ - gemfiles/ruby_2.2.10_rails5_postgres.gemfile.lock
236
+ - gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile
237
+ - gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile.lock
238
+ - gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile
239
+ - gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile.lock
240
+ - gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile
241
+ - gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile.lock
242
+ - gemfiles/ruby_2.3.8_contrib.gemfile
243
+ - gemfiles/ruby_2.3.8_contrib.gemfile.lock
244
+ - gemfiles/ruby_2.3.8_contrib_old.gemfile
245
+ - gemfiles/ruby_2.3.8_contrib_old.gemfile.lock
246
+ - gemfiles/ruby_2.3.8_core_old.gemfile
247
+ - gemfiles/ruby_2.3.8_core_old.gemfile.lock
248
+ - gemfiles/ruby_2.3.8_cucumber3.gemfile
249
+ - gemfiles/ruby_2.3.8_cucumber3.gemfile.lock
250
+ - gemfiles/ruby_2.3.8_cucumber4.gemfile
251
+ - gemfiles/ruby_2.3.8_cucumber4.gemfile.lock
252
+ - gemfiles/ruby_2.3.8_rails30_postgres.gemfile
253
+ - gemfiles/ruby_2.3.8_rails30_postgres.gemfile.lock
254
+ - gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile
255
+ - gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile.lock
256
+ - gemfiles/ruby_2.3.8_rails32_mysql2.gemfile
257
+ - gemfiles/ruby_2.3.8_rails32_mysql2.gemfile.lock
258
+ - gemfiles/ruby_2.3.8_rails32_postgres.gemfile
259
+ - gemfiles/ruby_2.3.8_rails32_postgres.gemfile.lock
260
+ - gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile
261
+ - gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile.lock
262
+ - gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile
263
+ - gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile.lock
264
+ - gemfiles/ruby_2.3.8_rails4_mysql2.gemfile
265
+ - gemfiles/ruby_2.3.8_rails4_mysql2.gemfile.lock
266
+ - gemfiles/ruby_2.3.8_rails4_postgres.gemfile
267
+ - gemfiles/ruby_2.3.8_rails4_postgres.gemfile.lock
268
+ - gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile
269
+ - gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile.lock
270
+ - gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile
271
+ - gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile.lock
272
+ - gemfiles/ruby_2.3.8_rails5_mysql2.gemfile
273
+ - gemfiles/ruby_2.3.8_rails5_mysql2.gemfile.lock
274
+ - gemfiles/ruby_2.3.8_rails5_postgres.gemfile
275
+ - gemfiles/ruby_2.3.8_rails5_postgres.gemfile.lock
276
+ - gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile
277
+ - gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile.lock
278
+ - gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile
279
+ - gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile.lock
280
+ - gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile
281
+ - gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile.lock
282
+ - gemfiles/ruby_2.3.8_resque2_redis3.gemfile
283
+ - gemfiles/ruby_2.3.8_resque2_redis3.gemfile.lock
284
+ - gemfiles/ruby_2.3.8_resque2_redis4.gemfile
285
+ - gemfiles/ruby_2.3.8_resque2_redis4.gemfile.lock
286
+ - gemfiles/ruby_2.4.6_contrib.gemfile
287
+ - gemfiles/ruby_2.4.6_contrib.gemfile.lock
288
+ - gemfiles/ruby_2.4.6_contrib_old.gemfile
289
+ - gemfiles/ruby_2.4.6_contrib_old.gemfile.lock
290
+ - gemfiles/ruby_2.4.6_core_old.gemfile
291
+ - gemfiles/ruby_2.4.6_core_old.gemfile.lock
292
+ - gemfiles/ruby_2.4.6_cucumber3.gemfile
293
+ - gemfiles/ruby_2.4.6_cucumber3.gemfile.lock
294
+ - gemfiles/ruby_2.4.6_cucumber4.gemfile
295
+ - gemfiles/ruby_2.4.6_cucumber4.gemfile.lock
296
+ - gemfiles/ruby_2.4.6_rails5_mysql2.gemfile
297
+ - gemfiles/ruby_2.4.6_rails5_mysql2.gemfile.lock
298
+ - gemfiles/ruby_2.4.6_rails5_postgres.gemfile
299
+ - gemfiles/ruby_2.4.6_rails5_postgres.gemfile.lock
300
+ - gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile
301
+ - gemfiles/ruby_2.4.6_rails5_postgres_redis.gemfile.lock
302
+ - gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile
303
+ - gemfiles/ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile.lock
304
+ - gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile
305
+ - gemfiles/ruby_2.4.6_rails5_postgres_sidekiq.gemfile.lock
306
+ - gemfiles/ruby_2.4.6_resque2_redis3.gemfile
307
+ - gemfiles/ruby_2.4.6_resque2_redis3.gemfile.lock
308
+ - gemfiles/ruby_2.4.6_resque2_redis4.gemfile
309
+ - gemfiles/ruby_2.4.6_resque2_redis4.gemfile.lock
310
+ - gemfiles/ruby_2.5.6_contrib.gemfile
311
+ - gemfiles/ruby_2.5.6_contrib.gemfile.lock
312
+ - gemfiles/ruby_2.5.6_contrib_old.gemfile
313
+ - gemfiles/ruby_2.5.6_contrib_old.gemfile.lock
314
+ - gemfiles/ruby_2.5.6_core_old.gemfile
315
+ - gemfiles/ruby_2.5.6_core_old.gemfile.lock
316
+ - gemfiles/ruby_2.5.6_cucumber3.gemfile
317
+ - gemfiles/ruby_2.5.6_cucumber3.gemfile.lock
318
+ - gemfiles/ruby_2.5.6_cucumber4.gemfile
319
+ - gemfiles/ruby_2.5.6_cucumber4.gemfile.lock
320
+ - gemfiles/ruby_2.5.6_cucumber5.gemfile
321
+ - gemfiles/ruby_2.5.6_cucumber5.gemfile.lock
322
+ - gemfiles/ruby_2.5.6_rails5_mysql2.gemfile
323
+ - gemfiles/ruby_2.5.6_rails5_mysql2.gemfile.lock
324
+ - gemfiles/ruby_2.5.6_rails5_postgres.gemfile
325
+ - gemfiles/ruby_2.5.6_rails5_postgres.gemfile.lock
326
+ - gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile
327
+ - gemfiles/ruby_2.5.6_rails5_postgres_redis.gemfile.lock
328
+ - gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile
329
+ - gemfiles/ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile.lock
330
+ - gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile
331
+ - gemfiles/ruby_2.5.6_rails5_postgres_sidekiq.gemfile.lock
332
+ - gemfiles/ruby_2.5.6_rails61_mysql2.gemfile
333
+ - gemfiles/ruby_2.5.6_rails61_mysql2.gemfile.lock
334
+ - gemfiles/ruby_2.5.6_rails61_postgres.gemfile
335
+ - gemfiles/ruby_2.5.6_rails61_postgres.gemfile.lock
336
+ - gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile
337
+ - gemfiles/ruby_2.5.6_rails61_postgres_redis.gemfile.lock
338
+ - gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile
339
+ - gemfiles/ruby_2.5.6_rails61_postgres_sidekiq.gemfile.lock
340
+ - gemfiles/ruby_2.5.6_rails6_mysql2.gemfile
341
+ - gemfiles/ruby_2.5.6_rails6_mysql2.gemfile.lock
342
+ - gemfiles/ruby_2.5.6_rails6_postgres.gemfile
343
+ - gemfiles/ruby_2.5.6_rails6_postgres.gemfile.lock
344
+ - gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile
345
+ - gemfiles/ruby_2.5.6_rails6_postgres_redis.gemfile.lock
346
+ - gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile
347
+ - gemfiles/ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile.lock
348
+ - gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile
349
+ - gemfiles/ruby_2.5.6_rails6_postgres_sidekiq.gemfile.lock
350
+ - gemfiles/ruby_2.5.6_resque2_redis3.gemfile
351
+ - gemfiles/ruby_2.5.6_resque2_redis3.gemfile.lock
352
+ - gemfiles/ruby_2.5.6_resque2_redis4.gemfile
353
+ - gemfiles/ruby_2.5.6_resque2_redis4.gemfile.lock
354
+ - gemfiles/ruby_2.6.4_contrib.gemfile
355
+ - gemfiles/ruby_2.6.4_contrib.gemfile.lock
356
+ - gemfiles/ruby_2.6.4_contrib_old.gemfile
357
+ - gemfiles/ruby_2.6.4_contrib_old.gemfile.lock
358
+ - gemfiles/ruby_2.6.4_core_old.gemfile
359
+ - gemfiles/ruby_2.6.4_core_old.gemfile.lock
360
+ - gemfiles/ruby_2.6.4_cucumber3.gemfile
361
+ - gemfiles/ruby_2.6.4_cucumber3.gemfile.lock
362
+ - gemfiles/ruby_2.6.4_cucumber4.gemfile
363
+ - gemfiles/ruby_2.6.4_cucumber4.gemfile.lock
364
+ - gemfiles/ruby_2.6.4_cucumber5.gemfile
365
+ - gemfiles/ruby_2.6.4_cucumber5.gemfile.lock
366
+ - gemfiles/ruby_2.6.4_rails5_mysql2.gemfile
367
+ - gemfiles/ruby_2.6.4_rails5_mysql2.gemfile.lock
368
+ - gemfiles/ruby_2.6.4_rails5_postgres.gemfile
369
+ - gemfiles/ruby_2.6.4_rails5_postgres.gemfile.lock
370
+ - gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile
371
+ - gemfiles/ruby_2.6.4_rails5_postgres_redis.gemfile.lock
372
+ - gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile
373
+ - gemfiles/ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile.lock
374
+ - gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile
375
+ - gemfiles/ruby_2.6.4_rails5_postgres_sidekiq.gemfile.lock
376
+ - gemfiles/ruby_2.6.4_rails61_mysql2.gemfile
377
+ - gemfiles/ruby_2.6.4_rails61_mysql2.gemfile.lock
378
+ - gemfiles/ruby_2.6.4_rails61_postgres.gemfile
379
+ - gemfiles/ruby_2.6.4_rails61_postgres.gemfile.lock
380
+ - gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile
381
+ - gemfiles/ruby_2.6.4_rails61_postgres_redis.gemfile.lock
382
+ - gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile
383
+ - gemfiles/ruby_2.6.4_rails61_postgres_sidekiq.gemfile.lock
384
+ - gemfiles/ruby_2.6.4_rails6_mysql2.gemfile
385
+ - gemfiles/ruby_2.6.4_rails6_mysql2.gemfile.lock
386
+ - gemfiles/ruby_2.6.4_rails6_postgres.gemfile
387
+ - gemfiles/ruby_2.6.4_rails6_postgres.gemfile.lock
388
+ - gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile
389
+ - gemfiles/ruby_2.6.4_rails6_postgres_redis.gemfile.lock
390
+ - gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile
391
+ - gemfiles/ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile.lock
392
+ - gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile
393
+ - gemfiles/ruby_2.6.4_rails6_postgres_sidekiq.gemfile.lock
394
+ - gemfiles/ruby_2.6.4_resque2_redis3.gemfile
395
+ - gemfiles/ruby_2.6.4_resque2_redis3.gemfile.lock
396
+ - gemfiles/ruby_2.6.4_resque2_redis4.gemfile
397
+ - gemfiles/ruby_2.6.4_resque2_redis4.gemfile.lock
398
+ - gemfiles/ruby_2.7.0_contrib.gemfile
399
+ - gemfiles/ruby_2.7.0_contrib.gemfile.lock
400
+ - gemfiles/ruby_2.7.0_contrib_old.gemfile
401
+ - gemfiles/ruby_2.7.0_contrib_old.gemfile.lock
402
+ - gemfiles/ruby_2.7.0_core_old.gemfile
403
+ - gemfiles/ruby_2.7.0_core_old.gemfile.lock
404
+ - gemfiles/ruby_2.7.0_cucumber3.gemfile
405
+ - gemfiles/ruby_2.7.0_cucumber3.gemfile.lock
406
+ - gemfiles/ruby_2.7.0_cucumber4.gemfile
407
+ - gemfiles/ruby_2.7.0_cucumber4.gemfile.lock
408
+ - gemfiles/ruby_2.7.0_cucumber5.gemfile
409
+ - gemfiles/ruby_2.7.0_cucumber5.gemfile.lock
410
+ - gemfiles/ruby_2.7.0_rails5_mysql2.gemfile
411
+ - gemfiles/ruby_2.7.0_rails5_mysql2.gemfile.lock
412
+ - gemfiles/ruby_2.7.0_rails5_postgres.gemfile
413
+ - gemfiles/ruby_2.7.0_rails5_postgres.gemfile.lock
414
+ - gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile
415
+ - gemfiles/ruby_2.7.0_rails5_postgres_redis.gemfile.lock
416
+ - gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile
417
+ - gemfiles/ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile.lock
418
+ - gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile
419
+ - gemfiles/ruby_2.7.0_rails5_postgres_sidekiq.gemfile.lock
420
+ - gemfiles/ruby_2.7.0_rails61_mysql2.gemfile
421
+ - gemfiles/ruby_2.7.0_rails61_mysql2.gemfile.lock
422
+ - gemfiles/ruby_2.7.0_rails61_postgres.gemfile
423
+ - gemfiles/ruby_2.7.0_rails61_postgres.gemfile.lock
424
+ - gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile
425
+ - gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile.lock
426
+ - gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile
427
+ - gemfiles/ruby_2.7.0_rails61_postgres_sidekiq.gemfile.lock
428
+ - gemfiles/ruby_2.7.0_rails6_mysql2.gemfile
429
+ - gemfiles/ruby_2.7.0_rails6_mysql2.gemfile.lock
430
+ - gemfiles/ruby_2.7.0_rails6_postgres.gemfile
431
+ - gemfiles/ruby_2.7.0_rails6_postgres.gemfile.lock
432
+ - gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile
433
+ - gemfiles/ruby_2.7.0_rails6_postgres_redis.gemfile.lock
434
+ - gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile
435
+ - gemfiles/ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile.lock
436
+ - gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile
437
+ - gemfiles/ruby_2.7.0_rails6_postgres_sidekiq.gemfile.lock
438
+ - gemfiles/ruby_2.7.0_resque2_redis3.gemfile
439
+ - gemfiles/ruby_2.7.0_resque2_redis3.gemfile.lock
440
+ - gemfiles/ruby_2.7.0_resque2_redis4.gemfile
441
+ - gemfiles/ruby_2.7.0_resque2_redis4.gemfile.lock
442
+ - gemfiles/ruby_3.0.0_contrib.gemfile
443
+ - gemfiles/ruby_3.0.0_contrib.gemfile.lock
444
+ - gemfiles/ruby_3.0.0_core_old.gemfile
445
+ - gemfiles/ruby_3.0.0_core_old.gemfile.lock
446
+ - gemfiles/ruby_3.0.0_cucumber3.gemfile
447
+ - gemfiles/ruby_3.0.0_cucumber3.gemfile.lock
448
+ - gemfiles/ruby_3.0.0_cucumber4.gemfile
449
+ - gemfiles/ruby_3.0.0_cucumber4.gemfile.lock
450
+ - gemfiles/ruby_3.0.0_cucumber5.gemfile
451
+ - gemfiles/ruby_3.0.0_cucumber5.gemfile.lock
452
+ - gemfiles/ruby_3.0.0_rails61_mysql2.gemfile
453
+ - gemfiles/ruby_3.0.0_rails61_mysql2.gemfile.lock
454
+ - gemfiles/ruby_3.0.0_rails61_postgres.gemfile
455
+ - gemfiles/ruby_3.0.0_rails61_postgres.gemfile.lock
456
+ - gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile
457
+ - gemfiles/ruby_3.0.0_rails61_postgres_redis.gemfile.lock
458
+ - gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile
459
+ - gemfiles/ruby_3.0.0_rails61_postgres_sidekiq.gemfile.lock
460
+ - gemfiles/ruby_3.0.0_resque2_redis3.gemfile
461
+ - gemfiles/ruby_3.0.0_resque2_redis3.gemfile.lock
462
+ - gemfiles/ruby_3.0.0_resque2_redis4.gemfile
463
+ - gemfiles/ruby_3.0.0_resque2_redis4.gemfile.lock
464
+ - integration/README.md
465
+ - integration/apps/rack/.dockerignore
466
+ - integration/apps/rack/.envrc.sample
467
+ - integration/apps/rack/.gitignore
468
+ - integration/apps/rack/.rspec
469
+ - integration/apps/rack/Dockerfile
470
+ - integration/apps/rack/Dockerfile-ci
471
+ - integration/apps/rack/Gemfile
472
+ - integration/apps/rack/README.md
473
+ - integration/apps/rack/app/acme.rb
474
+ - integration/apps/rack/app/datadog.rb
475
+ - integration/apps/rack/bin/run
476
+ - integration/apps/rack/bin/setup
477
+ - integration/apps/rack/bin/test
478
+ - integration/apps/rack/config.ru
479
+ - integration/apps/rack/config/puma.rb
480
+ - integration/apps/rack/config/unicorn.rb
481
+ - integration/apps/rack/docker-compose.ci.yml
482
+ - integration/apps/rack/docker-compose.yml
483
+ - integration/apps/rack/script/build-images
484
+ - integration/apps/rack/script/ci
485
+ - integration/apps/rack/spec/integration/basic_spec.rb
486
+ - integration/apps/rack/spec/spec_helper.rb
487
+ - integration/apps/rack/spec/support/integration_helper.rb
488
+ - integration/apps/rails-five/.dockerignore
489
+ - integration/apps/rails-five/.env
490
+ - integration/apps/rails-five/.envrc.sample
491
+ - integration/apps/rails-five/.gitignore
492
+ - integration/apps/rails-five/Dockerfile
493
+ - integration/apps/rails-five/Dockerfile-ci
494
+ - integration/apps/rails-five/Gemfile
495
+ - integration/apps/rails-five/README.md
496
+ - integration/apps/rails-five/Rakefile
497
+ - integration/apps/rails-five/app/channels/application_cable/channel.rb
498
+ - integration/apps/rails-five/app/channels/application_cable/connection.rb
499
+ - integration/apps/rails-five/app/controllers/application_controller.rb
500
+ - integration/apps/rails-five/app/controllers/basic_controller.rb
501
+ - integration/apps/rails-five/app/controllers/concerns/.keep
502
+ - integration/apps/rails-five/app/controllers/health_controller.rb
503
+ - integration/apps/rails-five/app/controllers/jobs_controller.rb
504
+ - integration/apps/rails-five/app/jobs/application_job.rb
505
+ - integration/apps/rails-five/app/jobs/test_job.rb
506
+ - integration/apps/rails-five/app/mailers/application_mailer.rb
507
+ - integration/apps/rails-five/app/models/application_record.rb
508
+ - integration/apps/rails-five/app/models/concerns/.keep
509
+ - integration/apps/rails-five/app/models/test.rb
510
+ - integration/apps/rails-five/app/views/layouts/mailer.html.erb
511
+ - integration/apps/rails-five/app/views/layouts/mailer.text.erb
512
+ - integration/apps/rails-five/bin/bundle
513
+ - integration/apps/rails-five/bin/rails
514
+ - integration/apps/rails-five/bin/rake
515
+ - integration/apps/rails-five/bin/run
516
+ - integration/apps/rails-five/bin/setup
517
+ - integration/apps/rails-five/bin/spring
518
+ - integration/apps/rails-five/bin/test
519
+ - integration/apps/rails-five/bin/update
520
+ - integration/apps/rails-five/config.ru
521
+ - integration/apps/rails-five/config/application.rb
522
+ - integration/apps/rails-five/config/boot.rb
523
+ - integration/apps/rails-five/config/cable.yml
524
+ - integration/apps/rails-five/config/credentials.yml.enc
525
+ - integration/apps/rails-five/config/database.yml
526
+ - integration/apps/rails-five/config/environment.rb
527
+ - integration/apps/rails-five/config/environments/development.rb
528
+ - integration/apps/rails-five/config/environments/production.rb
529
+ - integration/apps/rails-five/config/environments/test.rb
530
+ - integration/apps/rails-five/config/initializers/datadog.rb
531
+ - integration/apps/rails-five/config/initializers/filter_parameter_logging.rb
532
+ - integration/apps/rails-five/config/initializers/resque.rb
533
+ - integration/apps/rails-five/config/initializers/rollbar.rb
534
+ - integration/apps/rails-five/config/initializers/wrap_parameters.rb
535
+ - integration/apps/rails-five/config/locales/en.yml
536
+ - integration/apps/rails-five/config/puma.rb
537
+ - integration/apps/rails-five/config/routes.rb
538
+ - integration/apps/rails-five/config/spring.rb
539
+ - integration/apps/rails-five/config/unicorn.rb
540
+ - integration/apps/rails-five/db/migrate/20190927215052_create_tests.rb
541
+ - integration/apps/rails-five/db/schema.rb
542
+ - integration/apps/rails-five/db/seeds.rb
543
+ - integration/apps/rails-five/docker-compose.ci.yml
544
+ - integration/apps/rails-five/docker-compose.yml
545
+ - integration/apps/rails-five/lib/tasks/.keep
546
+ - integration/apps/rails-five/log/.keep
547
+ - integration/apps/rails-five/public/robots.txt
548
+ - integration/apps/rails-five/script/build-images
549
+ - integration/apps/rails-five/script/ci
550
+ - integration/apps/rails-five/spec/integration/basic_spec.rb
551
+ - integration/apps/rails-five/spec/spec_helper.rb
552
+ - integration/apps/rails-five/spec/support/integration_helper.rb
553
+ - integration/apps/rails-five/storage/.keep
554
+ - integration/apps/rails-five/tmp/.keep
555
+ - integration/apps/rails-five/vendor/.keep
556
+ - integration/apps/rspec/.dockerignore
557
+ - integration/apps/rspec/.envrc.sample
558
+ - integration/apps/rspec/.gitignore
559
+ - integration/apps/rspec/.rspec
560
+ - integration/apps/rspec/Dockerfile
561
+ - integration/apps/rspec/Dockerfile-ci
562
+ - integration/apps/rspec/Gemfile
563
+ - integration/apps/rspec/README.md
564
+ - integration/apps/rspec/agent.yaml
565
+ - integration/apps/rspec/app/datadog.rb
566
+ - integration/apps/rspec/app/fibonacci.rb
567
+ - integration/apps/rspec/bin/run
568
+ - integration/apps/rspec/bin/setup
569
+ - integration/apps/rspec/bin/test
570
+ - integration/apps/rspec/docker-compose.ci.yml
571
+ - integration/apps/rspec/docker-compose.yml
572
+ - integration/apps/rspec/script/build-images
573
+ - integration/apps/rspec/script/ci
574
+ - integration/apps/rspec/spec/fibonacci_spec.rb
575
+ - integration/apps/rspec/spec/rspec_spec.rb
576
+ - integration/apps/rspec/spec/spec_helper.rb
577
+ - integration/apps/ruby/.dockerignore
578
+ - integration/apps/ruby/.envrc.sample
579
+ - integration/apps/ruby/.gitignore
580
+ - integration/apps/ruby/Dockerfile
581
+ - integration/apps/ruby/Dockerfile-ci
582
+ - integration/apps/ruby/Gemfile
583
+ - integration/apps/ruby/README.md
584
+ - integration/apps/ruby/agent.yaml
585
+ - integration/apps/ruby/app/datadog.rb
586
+ - integration/apps/ruby/app/fibonacci.rb
587
+ - integration/apps/ruby/bin/run
588
+ - integration/apps/ruby/bin/setup
589
+ - integration/apps/ruby/bin/test
590
+ - integration/apps/ruby/docker-compose.ci.yml
591
+ - integration/apps/ruby/docker-compose.yml
592
+ - integration/apps/ruby/script/build-images
593
+ - integration/apps/ruby/script/ci
594
+ - integration/images/agent/Dockerfile
595
+ - integration/images/agent/agent.yaml
596
+ - integration/images/include/datadog/analyzer.rb
597
+ - integration/images/include/datadog/demo_env.rb
598
+ - integration/images/include/http-health-check
599
+ - integration/images/ruby/2.1/Dockerfile
600
+ - integration/images/ruby/2.2/Dockerfile
601
+ - integration/images/ruby/2.3/Dockerfile
602
+ - integration/images/ruby/2.4/Dockerfile
603
+ - integration/images/ruby/2.5/Dockerfile
604
+ - integration/images/ruby/2.6/Dockerfile
605
+ - integration/images/ruby/2.7/Dockerfile
606
+ - integration/images/ruby/3.0/Dockerfile
607
+ - integration/images/wrk/Dockerfile
608
+ - integration/images/wrk/scripts/entrypoint.sh
609
+ - integration/images/wrk/scripts/scenarios/basic/default.lua
610
+ - integration/images/wrk/scripts/scenarios/basic/fibonacci.lua
611
+ - integration/script/build-images
612
+ - lib/datadog/ci.rb
613
+ - lib/datadog/ci/configuration/components.rb
614
+ - lib/datadog/ci/configuration/settings.rb
615
+ - lib/datadog/ci/context_flush.rb
616
+ - lib/datadog/ci/contrib/cucumber/configuration/settings.rb
617
+ - lib/datadog/ci/contrib/cucumber/ext.rb
618
+ - lib/datadog/ci/contrib/cucumber/formatter.rb
619
+ - lib/datadog/ci/contrib/cucumber/instrumentation.rb
620
+ - lib/datadog/ci/contrib/cucumber/integration.rb
621
+ - lib/datadog/ci/contrib/cucumber/patcher.rb
622
+ - lib/datadog/ci/contrib/rspec/configuration/settings.rb
623
+ - lib/datadog/ci/contrib/rspec/example.rb
624
+ - lib/datadog/ci/contrib/rspec/ext.rb
625
+ - lib/datadog/ci/contrib/rspec/integration.rb
626
+ - lib/datadog/ci/contrib/rspec/patcher.rb
627
+ - lib/datadog/ci/ext/app_types.rb
628
+ - lib/datadog/ci/ext/environment.rb
629
+ - lib/datadog/ci/ext/settings.rb
630
+ - lib/datadog/ci/ext/test.rb
631
+ - lib/datadog/ci/extensions.rb
632
+ - lib/datadog/ci/test.rb
408
633
  - lib/ddtrace.rb
409
634
  - lib/ddtrace/analytics.rb
410
- - lib/ddtrace/augmentation.rb
411
- - lib/ddtrace/augmentation/method_wrapper.rb
412
- - lib/ddtrace/augmentation/method_wrapping.rb
413
- - lib/ddtrace/augmentation/shim.rb
635
+ - lib/ddtrace/auto_instrument.rb
636
+ - lib/ddtrace/auto_instrument_base.rb
414
637
  - lib/ddtrace/buffer.rb
415
638
  - lib/ddtrace/chunker.rb
416
639
  - lib/ddtrace/configuration.rb
640
+ - lib/ddtrace/configuration/agent_settings_resolver.rb
417
641
  - lib/ddtrace/configuration/base.rb
418
642
  - lib/ddtrace/configuration/components.rb
419
643
  - lib/ddtrace/configuration/dependency_resolver.rb
@@ -463,6 +687,7 @@ files:
463
687
  - lib/ddtrace/contrib/active_model_serializers/ext.rb
464
688
  - lib/ddtrace/contrib/active_model_serializers/integration.rb
465
689
  - lib/ddtrace/contrib/active_model_serializers/patcher.rb
690
+ - lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb
466
691
  - lib/ddtrace/contrib/active_record/configuration/resolver.rb
467
692
  - lib/ddtrace/contrib/active_record/configuration/settings.rb
468
693
  - lib/ddtrace/contrib/active_record/event.rb
@@ -484,6 +709,7 @@ files:
484
709
  - lib/ddtrace/contrib/active_support/notifications/subscription.rb
485
710
  - lib/ddtrace/contrib/active_support/patcher.rb
486
711
  - lib/ddtrace/contrib/analytics.rb
712
+ - lib/ddtrace/contrib/auto_instrument.rb
487
713
  - lib/ddtrace/contrib/aws/configuration/settings.rb
488
714
  - lib/ddtrace/contrib/aws/ext.rb
489
715
  - lib/ddtrace/contrib/aws/instrumentation.rb
@@ -561,6 +787,11 @@ files:
561
787
  - lib/ddtrace/contrib/http/integration.rb
562
788
  - lib/ddtrace/contrib/http/patcher.rb
563
789
  - lib/ddtrace/contrib/http_annotation_helper.rb
790
+ - lib/ddtrace/contrib/httpclient/configuration/settings.rb
791
+ - lib/ddtrace/contrib/httpclient/ext.rb
792
+ - lib/ddtrace/contrib/httpclient/instrumentation.rb
793
+ - lib/ddtrace/contrib/httpclient/integration.rb
794
+ - lib/ddtrace/contrib/httpclient/patcher.rb
564
795
  - lib/ddtrace/contrib/httprb/configuration/settings.rb
565
796
  - lib/ddtrace/contrib/httprb/ext.rb
566
797
  - lib/ddtrace/contrib/httprb/instrumentation.rb
@@ -603,6 +834,12 @@ files:
603
834
  - lib/ddtrace/contrib/presto/instrumentation.rb
604
835
  - lib/ddtrace/contrib/presto/integration.rb
605
836
  - lib/ddtrace/contrib/presto/patcher.rb
837
+ - lib/ddtrace/contrib/qless/configuration/settings.rb
838
+ - lib/ddtrace/contrib/qless/ext.rb
839
+ - lib/ddtrace/contrib/qless/integration.rb
840
+ - lib/ddtrace/contrib/qless/patcher.rb
841
+ - lib/ddtrace/contrib/qless/qless_job.rb
842
+ - lib/ddtrace/contrib/qless/tracer_cleaner.rb
606
843
  - lib/ddtrace/contrib/que/configuration/settings.rb
607
844
  - lib/ddtrace/contrib/que/ext.rb
608
845
  - lib/ddtrace/contrib/que/integration.rb
@@ -623,6 +860,7 @@ files:
623
860
  - lib/ddtrace/contrib/rack/middlewares.rb
624
861
  - lib/ddtrace/contrib/rack/patcher.rb
625
862
  - lib/ddtrace/contrib/rack/request_queue.rb
863
+ - lib/ddtrace/contrib/rails/auto_instrument_railtie.rb
626
864
  - lib/ddtrace/contrib/rails/configuration/settings.rb
627
865
  - lib/ddtrace/contrib/rails/ext.rb
628
866
  - lib/ddtrace/contrib/rails/framework.rb
@@ -644,6 +882,7 @@ files:
644
882
  - lib/ddtrace/contrib/redis/patcher.rb
645
883
  - lib/ddtrace/contrib/redis/quantize.rb
646
884
  - lib/ddtrace/contrib/redis/tags.rb
885
+ - lib/ddtrace/contrib/redis/vendor/LICENSE
647
886
  - lib/ddtrace/contrib/redis/vendor/resolver.rb
648
887
  - lib/ddtrace/contrib/registerable.rb
649
888
  - lib/ddtrace/contrib/registry.rb
@@ -689,6 +928,7 @@ files:
689
928
  - lib/ddtrace/contrib/sneakers/integration.rb
690
929
  - lib/ddtrace/contrib/sneakers/patcher.rb
691
930
  - lib/ddtrace/contrib/sneakers/tracer.rb
931
+ - lib/ddtrace/contrib/status_code_matcher.rb
692
932
  - lib/ddtrace/contrib/sucker_punch/configuration/settings.rb
693
933
  - lib/ddtrace/contrib/sucker_punch/exception_handler.rb
694
934
  - lib/ddtrace/contrib/sucker_punch/ext.rb
@@ -715,19 +955,22 @@ files:
715
955
  - lib/ddtrace/ext/environment.rb
716
956
  - lib/ddtrace/ext/errors.rb
717
957
  - lib/ddtrace/ext/forced_tracing.rb
958
+ - lib/ddtrace/ext/git.rb
718
959
  - lib/ddtrace/ext/http.rb
960
+ - lib/ddtrace/ext/integration.rb
719
961
  - lib/ddtrace/ext/manual_tracing.rb
720
962
  - lib/ddtrace/ext/metrics.rb
721
963
  - lib/ddtrace/ext/net.rb
722
964
  - lib/ddtrace/ext/priority.rb
965
+ - lib/ddtrace/ext/profiling.rb
723
966
  - lib/ddtrace/ext/runtime.rb
724
967
  - lib/ddtrace/ext/sampling.rb
725
968
  - lib/ddtrace/ext/sql.rb
969
+ - lib/ddtrace/ext/test.rb
726
970
  - lib/ddtrace/ext/transport.rb
727
971
  - lib/ddtrace/forced_tracing.rb
728
972
  - lib/ddtrace/logger.rb
729
973
  - lib/ddtrace/metrics.rb
730
- - lib/ddtrace/monkey.rb
731
974
  - lib/ddtrace/opentelemetry/extensions.rb
732
975
  - lib/ddtrace/opentelemetry/span.rb
733
976
  - lib/ddtrace/opentracer.rb
@@ -751,6 +994,47 @@ files:
751
994
  - lib/ddtrace/pipeline.rb
752
995
  - lib/ddtrace/pipeline/span_filter.rb
753
996
  - lib/ddtrace/pipeline/span_processor.rb
997
+ - lib/ddtrace/profiling.rb
998
+ - lib/ddtrace/profiling/backtrace_location.rb
999
+ - lib/ddtrace/profiling/buffer.rb
1000
+ - lib/ddtrace/profiling/collectors/stack.rb
1001
+ - lib/ddtrace/profiling/encoding/profile.rb
1002
+ - lib/ddtrace/profiling/event.rb
1003
+ - lib/ddtrace/profiling/events/stack.rb
1004
+ - lib/ddtrace/profiling/exporter.rb
1005
+ - lib/ddtrace/profiling/ext/cpu.rb
1006
+ - lib/ddtrace/profiling/ext/cthread.rb
1007
+ - lib/ddtrace/profiling/ext/forking.rb
1008
+ - lib/ddtrace/profiling/flush.rb
1009
+ - lib/ddtrace/profiling/pprof/builder.rb
1010
+ - lib/ddtrace/profiling/pprof/converter.rb
1011
+ - lib/ddtrace/profiling/pprof/message_set.rb
1012
+ - lib/ddtrace/profiling/pprof/payload.rb
1013
+ - lib/ddtrace/profiling/pprof/pprof.proto
1014
+ - lib/ddtrace/profiling/pprof/pprof_pb.rb
1015
+ - lib/ddtrace/profiling/pprof/stack_sample.rb
1016
+ - lib/ddtrace/profiling/pprof/string_table.rb
1017
+ - lib/ddtrace/profiling/pprof/template.rb
1018
+ - lib/ddtrace/profiling/preload.rb
1019
+ - lib/ddtrace/profiling/profiler.rb
1020
+ - lib/ddtrace/profiling/recorder.rb
1021
+ - lib/ddtrace/profiling/scheduler.rb
1022
+ - lib/ddtrace/profiling/tasks/setup.rb
1023
+ - lib/ddtrace/profiling/transport/client.rb
1024
+ - lib/ddtrace/profiling/transport/http.rb
1025
+ - lib/ddtrace/profiling/transport/http/api.rb
1026
+ - lib/ddtrace/profiling/transport/http/api/endpoint.rb
1027
+ - lib/ddtrace/profiling/transport/http/api/instance.rb
1028
+ - lib/ddtrace/profiling/transport/http/api/spec.rb
1029
+ - lib/ddtrace/profiling/transport/http/builder.rb
1030
+ - lib/ddtrace/profiling/transport/http/client.rb
1031
+ - lib/ddtrace/profiling/transport/http/response.rb
1032
+ - lib/ddtrace/profiling/transport/io.rb
1033
+ - lib/ddtrace/profiling/transport/io/client.rb
1034
+ - lib/ddtrace/profiling/transport/io/response.rb
1035
+ - lib/ddtrace/profiling/transport/parcel.rb
1036
+ - lib/ddtrace/profiling/transport/request.rb
1037
+ - lib/ddtrace/profiling/transport/response.rb
754
1038
  - lib/ddtrace/propagation/grpc_propagator.rb
755
1039
  - lib/ddtrace/propagation/http_propagator.rb
756
1040
  - lib/ddtrace/quantization/hash.rb
@@ -772,6 +1056,8 @@ files:
772
1056
  - lib/ddtrace/sampling/rule_sampler.rb
773
1057
  - lib/ddtrace/span.rb
774
1058
  - lib/ddtrace/sync_writer.rb
1059
+ - lib/ddtrace/tasks/exec.rb
1060
+ - lib/ddtrace/tasks/help.rb
775
1061
  - lib/ddtrace/tracer.rb
776
1062
  - lib/ddtrace/transport/http.rb
777
1063
  - lib/ddtrace/transport/http/adapters/net.rb
@@ -800,9 +1086,24 @@ files:
800
1086
  - lib/ddtrace/transport/statistics.rb
801
1087
  - lib/ddtrace/transport/traces.rb
802
1088
  - lib/ddtrace/utils.rb
1089
+ - lib/ddtrace/utils/compression.rb
803
1090
  - lib/ddtrace/utils/database.rb
1091
+ - lib/ddtrace/utils/forking.rb
1092
+ - lib/ddtrace/utils/object_set.rb
1093
+ - lib/ddtrace/utils/only_once.rb
1094
+ - lib/ddtrace/utils/sequence.rb
1095
+ - lib/ddtrace/utils/string_table.rb
804
1096
  - lib/ddtrace/utils/time.rb
1097
+ - lib/ddtrace/vendor/active_record/MIT-LICENSE
805
1098
  - lib/ddtrace/vendor/active_record/connection_specification.rb
1099
+ - lib/ddtrace/vendor/multipart-post/LICENSE
1100
+ - lib/ddtrace/vendor/multipart-post/multipart.rb
1101
+ - lib/ddtrace/vendor/multipart-post/multipart/post.rb
1102
+ - lib/ddtrace/vendor/multipart-post/multipart/post/composite_read_io.rb
1103
+ - lib/ddtrace/vendor/multipart-post/multipart/post/multipartable.rb
1104
+ - lib/ddtrace/vendor/multipart-post/multipart/post/parts.rb
1105
+ - lib/ddtrace/vendor/multipart-post/multipart/post/version.rb
1106
+ - lib/ddtrace/vendor/multipart-post/net/http/post/multipart.rb
806
1107
  - lib/ddtrace/version.rb
807
1108
  - lib/ddtrace/worker.rb
808
1109
  - lib/ddtrace/workers.rb
@@ -827,7 +1128,10 @@ required_ruby_version: !ruby/object:Gem::Requirement
827
1128
  requirements:
828
1129
  - - ">="
829
1130
  - !ruby/object:Gem::Version
830
- version: 2.0.0
1131
+ version: 2.1.0
1132
+ - - "<"
1133
+ - !ruby/object:Gem::Version
1134
+ version: '3.2'
831
1135
  required_rubygems_version: !ruby/object:Gem::Requirement
832
1136
  requirements:
833
1137
  - - ">="