ddtrace 0.50.0 → 0.51.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (512) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +32 -33
  3. data/.circleci/images/primary/Dockerfile-2.1.10 +1 -1
  4. data/.circleci/images/primary/Dockerfile-2.2.10 +1 -1
  5. data/.circleci/images/primary/Dockerfile-2.3.8 +4 -2
  6. data/.circleci/images/primary/{Dockerfile-2.6.4 → Dockerfile-2.4.10} +5 -3
  7. data/.circleci/images/primary/{Dockerfile-2.4.6 → Dockerfile-2.5.9} +3 -3
  8. data/.circleci/images/primary/{Dockerfile-2.5.6 → Dockerfile-2.6.7} +3 -3
  9. data/.circleci/images/primary/{Dockerfile-2.7.0 → Dockerfile-2.7.3} +3 -3
  10. data/.circleci/images/primary/{Dockerfile-3.0.0 → Dockerfile-3.0.1} +3 -3
  11. data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +3 -3
  12. data/.circleci/images/primary/Dockerfile-jruby-9.2.0.0 +1 -1
  13. data/.circleci/images/primary/Dockerfile-truffleruby-21.1.0 +1 -1
  14. data/.dd-ci/ci-app-spec.json +31 -0
  15. data/.gitattributes +1 -0
  16. data/.github/workflows/test-head.yaml +34 -0
  17. data/.rubocop_todo.yml +0 -1
  18. data/Appraisals +195 -75
  19. data/CHANGELOG.md +75 -0
  20. data/Gemfile +6 -3
  21. data/Rakefile +45 -2
  22. data/docker-compose.yml +10 -10
  23. data/docs/GettingStarted.md +35 -4
  24. data/gemfiles/jruby_9.2.0.0_contrib.gemfile +4 -1
  25. data/gemfiles/jruby_9.2.0.0_contrib.gemfile.lock +222 -169
  26. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile +3 -2
  27. data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile.lock +19 -17
  28. data/gemfiles/jruby_9.2.0.0_core_old.gemfile +2 -1
  29. data/gemfiles/jruby_9.2.0.0_core_old.gemfile.lock +17 -15
  30. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile +3 -2
  31. data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile.lock +19 -17
  32. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile +3 -2
  33. data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile.lock +20 -18
  34. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile +3 -2
  35. data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile.lock +20 -18
  36. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile +4 -3
  37. data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile.lock +59 -57
  38. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile +4 -3
  39. data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile.lock +59 -57
  40. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile +4 -3
  41. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile.lock +60 -58
  42. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile +4 -3
  43. data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile.lock +60 -58
  44. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile +4 -3
  45. data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile.lock +60 -58
  46. data/gemfiles/jruby_9.2.0.0_rails5_semantic_logger.gemfile +41 -0
  47. data/gemfiles/jruby_9.2.0.0_rails5_semantic_logger.gemfile.lock +272 -0
  48. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile +3 -2
  49. data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile.lock +78 -76
  50. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile +3 -2
  51. data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile.lock +78 -76
  52. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile +3 -2
  53. data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile.lock +79 -77
  54. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile +3 -2
  55. data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile.lock +79 -77
  56. data/gemfiles/jruby_9.2.0.0_rails61_semantic_logger.gemfile +41 -0
  57. data/gemfiles/jruby_9.2.0.0_rails61_semantic_logger.gemfile.lock +291 -0
  58. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile +4 -3
  59. data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile.lock +73 -71
  60. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile +4 -3
  61. data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile.lock +73 -71
  62. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile +4 -3
  63. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile.lock +74 -72
  64. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile +4 -3
  65. data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile.lock +74 -72
  66. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile +4 -3
  67. data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile.lock +74 -72
  68. data/gemfiles/jruby_9.2.0.0_rails6_semantic_logger.gemfile +41 -0
  69. data/gemfiles/jruby_9.2.0.0_rails6_semantic_logger.gemfile.lock +288 -0
  70. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile +3 -2
  71. data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile.lock +19 -17
  72. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile +3 -2
  73. data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile.lock +20 -18
  74. data/gemfiles/{jruby_9.2.11.1_contrib.gemfile → jruby_9.2.18.0_contrib.gemfile} +4 -1
  75. data/gemfiles/{jruby_9.2.11.1_contrib.gemfile.lock → jruby_9.2.18.0_contrib.gemfile.lock} +223 -170
  76. data/gemfiles/{jruby_9.2.11.1_contrib_old.gemfile → jruby_9.2.18.0_contrib_old.gemfile} +3 -2
  77. data/gemfiles/{jruby_9.2.11.1_contrib_old.gemfile.lock → jruby_9.2.18.0_contrib_old.gemfile.lock} +20 -18
  78. data/gemfiles/{jruby_9.2.11.1_core_old.gemfile → jruby_9.2.18.0_core_old.gemfile} +2 -1
  79. data/gemfiles/{jruby_9.2.11.1_core_old.gemfile.lock → jruby_9.2.18.0_core_old.gemfile.lock} +18 -16
  80. data/gemfiles/{jruby_9.2.11.1_cucumber3.gemfile → jruby_9.2.18.0_cucumber3.gemfile} +3 -2
  81. data/gemfiles/{jruby_9.2.11.1_cucumber3.gemfile.lock → jruby_9.2.18.0_cucumber3.gemfile.lock} +20 -18
  82. data/gemfiles/{jruby_9.2.11.1_cucumber4.gemfile → jruby_9.2.18.0_cucumber4.gemfile} +3 -2
  83. data/gemfiles/{jruby_9.2.11.1_cucumber4.gemfile.lock → jruby_9.2.18.0_cucumber4.gemfile.lock} +21 -19
  84. data/gemfiles/{jruby_9.2.11.1_cucumber5.gemfile → jruby_9.2.18.0_cucumber5.gemfile} +3 -2
  85. data/gemfiles/{jruby_9.2.11.1_cucumber5.gemfile.lock → jruby_9.2.18.0_cucumber5.gemfile.lock} +21 -19
  86. data/gemfiles/{jruby_9.2.11.1_rails5_mysql2.gemfile → jruby_9.2.18.0_rails5_mysql2.gemfile} +4 -3
  87. data/gemfiles/{jruby_9.2.11.1_rails5_mysql2.gemfile.lock → jruby_9.2.18.0_rails5_mysql2.gemfile.lock} +60 -58
  88. data/gemfiles/{jruby_9.2.11.1_rails5_postgres.gemfile → jruby_9.2.18.0_rails5_postgres.gemfile} +4 -3
  89. data/gemfiles/{jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile.lock → jruby_9.2.18.0_rails5_postgres.gemfile.lock} +60 -60
  90. data/gemfiles/{jruby_9.2.11.1_rails5_postgres_redis.gemfile → jruby_9.2.18.0_rails5_postgres_redis.gemfile} +4 -3
  91. data/gemfiles/{jruby_9.2.11.1_rails5_postgres_redis.gemfile.lock → jruby_9.2.18.0_rails5_postgres_redis.gemfile.lock} +61 -59
  92. data/gemfiles/{jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile → jruby_9.2.18.0_rails5_postgres_redis_activesupport.gemfile} +4 -3
  93. data/gemfiles/{jruby_9.2.11.1_rails5_postgres.gemfile.lock → jruby_9.2.18.0_rails5_postgres_redis_activesupport.gemfile.lock} +62 -58
  94. data/gemfiles/{jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile → jruby_9.2.18.0_rails5_postgres_sidekiq.gemfile} +4 -3
  95. data/gemfiles/{jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile.lock → jruby_9.2.18.0_rails5_postgres_sidekiq.gemfile.lock} +61 -59
  96. data/gemfiles/jruby_9.2.18.0_rails5_semantic_logger.gemfile +41 -0
  97. data/gemfiles/jruby_9.2.18.0_rails5_semantic_logger.gemfile.lock +272 -0
  98. data/gemfiles/{jruby_9.2.11.1_rails61_mysql2.gemfile → jruby_9.2.18.0_rails61_mysql2.gemfile} +3 -2
  99. data/gemfiles/{jruby_9.2.11.1_rails61_mysql2.gemfile.lock → jruby_9.2.18.0_rails61_mysql2.gemfile.lock} +79 -77
  100. data/gemfiles/{jruby_9.2.11.1_rails61_postgres.gemfile → jruby_9.2.18.0_rails61_postgres.gemfile} +3 -2
  101. data/gemfiles/{jruby_9.2.11.1_rails61_postgres.gemfile.lock → jruby_9.2.18.0_rails61_postgres.gemfile.lock} +79 -77
  102. data/gemfiles/{jruby_9.2.11.1_rails61_postgres_redis.gemfile → jruby_9.2.18.0_rails61_postgres_redis.gemfile} +3 -2
  103. data/gemfiles/{jruby_9.2.11.1_rails61_postgres_redis.gemfile.lock → jruby_9.2.18.0_rails61_postgres_redis.gemfile.lock} +80 -78
  104. data/gemfiles/{jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile → jruby_9.2.18.0_rails61_postgres_sidekiq.gemfile} +3 -2
  105. data/gemfiles/{jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile.lock → jruby_9.2.18.0_rails61_postgres_sidekiq.gemfile.lock} +80 -78
  106. data/gemfiles/jruby_9.2.18.0_rails61_semantic_logger.gemfile +41 -0
  107. data/gemfiles/jruby_9.2.18.0_rails61_semantic_logger.gemfile.lock +291 -0
  108. data/gemfiles/{jruby_9.2.11.1_rails6_mysql2.gemfile → jruby_9.2.18.0_rails6_mysql2.gemfile} +4 -3
  109. data/gemfiles/{jruby_9.2.11.1_rails6_mysql2.gemfile.lock → jruby_9.2.18.0_rails6_mysql2.gemfile.lock} +74 -72
  110. data/gemfiles/{jruby_9.2.11.1_rails6_postgres.gemfile → jruby_9.2.18.0_rails6_postgres.gemfile} +4 -3
  111. data/gemfiles/{jruby_9.2.11.1_rails6_postgres.gemfile.lock → jruby_9.2.18.0_rails6_postgres.gemfile.lock} +74 -72
  112. data/gemfiles/{jruby_9.2.11.1_rails6_postgres_redis.gemfile → jruby_9.2.18.0_rails6_postgres_redis.gemfile} +4 -3
  113. data/gemfiles/{jruby_9.2.11.1_rails6_postgres_redis.gemfile.lock → jruby_9.2.18.0_rails6_postgres_redis.gemfile.lock} +75 -73
  114. data/gemfiles/{jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile → jruby_9.2.18.0_rails6_postgres_redis_activesupport.gemfile} +4 -3
  115. data/gemfiles/{jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile.lock → jruby_9.2.18.0_rails6_postgres_redis_activesupport.gemfile.lock} +75 -73
  116. data/gemfiles/{jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile → jruby_9.2.18.0_rails6_postgres_sidekiq.gemfile} +4 -3
  117. data/gemfiles/{jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile.lock → jruby_9.2.18.0_rails6_postgres_sidekiq.gemfile.lock} +75 -73
  118. data/gemfiles/jruby_9.2.18.0_rails6_semantic_logger.gemfile +41 -0
  119. data/gemfiles/jruby_9.2.18.0_rails6_semantic_logger.gemfile.lock +288 -0
  120. data/gemfiles/{jruby_9.2.11.1_resque2_redis3.gemfile → jruby_9.2.18.0_resque2_redis3.gemfile} +3 -2
  121. data/gemfiles/{jruby_9.2.11.1_resque2_redis3.gemfile.lock → jruby_9.2.18.0_resque2_redis3.gemfile.lock} +20 -18
  122. data/gemfiles/{jruby_9.2.11.1_resque2_redis4.gemfile → jruby_9.2.18.0_resque2_redis4.gemfile} +3 -2
  123. data/gemfiles/{jruby_9.2.11.1_resque2_redis4.gemfile.lock → jruby_9.2.18.0_resque2_redis4.gemfile.lock} +21 -19
  124. data/gemfiles/ruby_2.1.10_contrib_old.gemfile +3 -1
  125. data/gemfiles/ruby_2.1.10_contrib_old.gemfile.lock +14 -9
  126. data/gemfiles/ruby_2.1.10_core_old.gemfile +2 -1
  127. data/gemfiles/ruby_2.1.10_core_old.gemfile.lock +6 -4
  128. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile +3 -3
  129. data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile.lock +9 -12
  130. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile +3 -3
  131. data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile.lock +9 -12
  132. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile +3 -3
  133. data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile.lock +9 -12
  134. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile +3 -3
  135. data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile.lock +9 -12
  136. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile +3 -3
  137. data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile.lock +9 -12
  138. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile +3 -3
  139. data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile.lock +9 -12
  140. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile +4 -3
  141. data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile.lock +10 -8
  142. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile +4 -3
  143. data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile.lock +10 -8
  144. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile +4 -3
  145. data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile.lock +11 -9
  146. data/gemfiles/ruby_2.1.10_rails4_semantic_logger.gemfile +39 -0
  147. data/gemfiles/ruby_2.1.10_rails4_semantic_logger.gemfile.lock +218 -0
  148. data/gemfiles/ruby_2.2.10_contrib.gemfile +4 -1
  149. data/gemfiles/ruby_2.2.10_contrib.gemfile.lock +188 -139
  150. data/gemfiles/ruby_2.2.10_core_old.gemfile +2 -1
  151. data/gemfiles/ruby_2.2.10_core_old.gemfile.lock +7 -5
  152. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile +3 -3
  153. data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile.lock +10 -13
  154. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile +3 -3
  155. data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile.lock +10 -13
  156. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile +3 -3
  157. data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile.lock +10 -13
  158. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile +3 -3
  159. data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile.lock +10 -13
  160. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile +3 -3
  161. data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile.lock +10 -13
  162. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile +3 -3
  163. data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile.lock +10 -13
  164. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile +4 -3
  165. data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile.lock +11 -9
  166. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile +4 -3
  167. data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile.lock +11 -9
  168. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile +4 -3
  169. data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile.lock +12 -10
  170. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile +4 -3
  171. data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile.lock +11 -9
  172. data/gemfiles/ruby_2.2.10_rails4_semantic_logger.gemfile +39 -0
  173. data/gemfiles/ruby_2.2.10_rails4_semantic_logger.gemfile.lock +218 -0
  174. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile +4 -3
  175. data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile.lock +12 -10
  176. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile +4 -3
  177. data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile.lock +12 -10
  178. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile +4 -3
  179. data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile.lock +12 -10
  180. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile +4 -3
  181. data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile.lock +12 -10
  182. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile +4 -3
  183. data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile.lock +12 -10
  184. data/gemfiles/ruby_2.2.10_rails5_semantic_logger.gemfile +39 -0
  185. data/gemfiles/ruby_2.2.10_rails5_semantic_logger.gemfile.lock +234 -0
  186. data/gemfiles/ruby_2.3.8_contrib.gemfile +4 -2
  187. data/gemfiles/ruby_2.3.8_contrib.gemfile.lock +197 -148
  188. data/gemfiles/ruby_2.3.8_contrib_old.gemfile +3 -3
  189. data/gemfiles/ruby_2.3.8_contrib_old.gemfile.lock +10 -14
  190. data/gemfiles/ruby_2.3.8_core_old.gemfile +2 -2
  191. data/gemfiles/ruby_2.3.8_core_old.gemfile.lock +8 -12
  192. data/gemfiles/ruby_2.3.8_cucumber3.gemfile +3 -3
  193. data/gemfiles/ruby_2.3.8_cucumber3.gemfile.lock +10 -14
  194. data/gemfiles/ruby_2.3.8_cucumber4.gemfile +3 -3
  195. data/gemfiles/ruby_2.3.8_cucumber4.gemfile.lock +11 -15
  196. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile +3 -4
  197. data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile.lock +11 -20
  198. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile +3 -4
  199. data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile.lock +11 -20
  200. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile +3 -4
  201. data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile.lock +11 -20
  202. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile +3 -4
  203. data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile.lock +11 -20
  204. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile +3 -4
  205. data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile.lock +11 -20
  206. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile +3 -4
  207. data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile.lock +11 -20
  208. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile +4 -4
  209. data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile.lock +12 -16
  210. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile +4 -4
  211. data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile.lock +12 -16
  212. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile +4 -4
  213. data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile.lock +13 -17
  214. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile +4 -4
  215. data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile.lock +13 -17
  216. data/gemfiles/ruby_2.3.8_rails4_semantic_logger.gemfile +38 -0
  217. data/gemfiles/ruby_2.3.8_rails4_semantic_logger.gemfile.lock +218 -0
  218. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile +4 -4
  219. data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile.lock +49 -53
  220. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile +4 -4
  221. data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile.lock +49 -53
  222. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile +4 -4
  223. data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile.lock +50 -54
  224. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile +4 -4
  225. data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile.lock +50 -54
  226. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile +4 -4
  227. data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile.lock +49 -53
  228. data/gemfiles/ruby_2.3.8_rails5_semantic_logger.gemfile +37 -0
  229. data/gemfiles/ruby_2.3.8_rails5_semantic_logger.gemfile.lock +229 -0
  230. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile +3 -3
  231. data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile.lock +10 -14
  232. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile +3 -3
  233. data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile.lock +11 -15
  234. data/gemfiles/{ruby_2.4.6_contrib.gemfile → ruby_2.4.10_contrib.gemfile} +5 -2
  235. data/gemfiles/{ruby_2.4.6_contrib.gemfile.lock → ruby_2.4.10_contrib.gemfile.lock} +232 -149
  236. data/gemfiles/{ruby_2.4.6_contrib_old.gemfile → ruby_2.4.10_contrib_old.gemfile} +3 -2
  237. data/gemfiles/{ruby_2.4.6_contrib_old.gemfile.lock → ruby_2.4.10_contrib_old.gemfile.lock} +13 -11
  238. data/gemfiles/{ruby_2.4.6_core_old.gemfile → ruby_2.4.10_core_old.gemfile} +2 -1
  239. data/gemfiles/{ruby_2.4.6_core_old.gemfile.lock → ruby_2.4.10_core_old.gemfile.lock} +11 -9
  240. data/gemfiles/{ruby_2.4.6_cucumber3.gemfile → ruby_2.4.10_cucumber3.gemfile} +3 -2
  241. data/gemfiles/{ruby_2.4.6_cucumber3.gemfile.lock → ruby_2.4.10_cucumber3.gemfile.lock} +13 -11
  242. data/gemfiles/{ruby_2.4.6_cucumber4.gemfile → ruby_2.4.10_cucumber4.gemfile} +3 -2
  243. data/gemfiles/{ruby_2.4.6_cucumber4.gemfile.lock → ruby_2.4.10_cucumber4.gemfile.lock} +14 -12
  244. data/gemfiles/{ruby_2.4.6_rails5_mysql2.gemfile → ruby_2.4.10_rails5_mysql2.gemfile} +4 -3
  245. data/gemfiles/{ruby_2.4.6_rails5_mysql2.gemfile.lock → ruby_2.4.10_rails5_mysql2.gemfile.lock} +52 -50
  246. data/gemfiles/{ruby_2.4.6_rails5_postgres.gemfile → ruby_2.4.10_rails5_postgres.gemfile} +4 -3
  247. data/gemfiles/{ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile.lock → ruby_2.4.10_rails5_postgres.gemfile.lock} +52 -52
  248. data/gemfiles/{ruby_2.4.6_rails5_postgres_redis.gemfile → ruby_2.4.10_rails5_postgres_redis.gemfile} +4 -3
  249. data/gemfiles/{ruby_2.4.6_rails5_postgres_redis.gemfile.lock → ruby_2.4.10_rails5_postgres_redis.gemfile.lock} +53 -51
  250. data/gemfiles/{ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile → ruby_2.4.10_rails5_postgres_redis_activesupport.gemfile} +4 -3
  251. data/gemfiles/{ruby_2.4.6_rails5_postgres.gemfile.lock → ruby_2.4.10_rails5_postgres_redis_activesupport.gemfile.lock} +54 -50
  252. data/gemfiles/{ruby_2.4.6_rails5_postgres_sidekiq.gemfile → ruby_2.4.10_rails5_postgres_sidekiq.gemfile} +4 -3
  253. data/gemfiles/{ruby_2.4.6_rails5_postgres_sidekiq.gemfile.lock → ruby_2.4.10_rails5_postgres_sidekiq.gemfile.lock} +52 -50
  254. data/gemfiles/ruby_2.4.10_rails5_semantic_logger.gemfile +42 -0
  255. data/gemfiles/ruby_2.4.10_rails5_semantic_logger.gemfile.lock +263 -0
  256. data/gemfiles/{ruby_2.4.6_resque2_redis3.gemfile → ruby_2.4.10_resque2_redis3.gemfile} +3 -2
  257. data/gemfiles/{ruby_2.4.6_resque2_redis3.gemfile.lock → ruby_2.4.10_resque2_redis3.gemfile.lock} +13 -11
  258. data/gemfiles/{ruby_2.4.6_resque2_redis4.gemfile → ruby_2.4.10_resque2_redis4.gemfile} +3 -2
  259. data/gemfiles/{ruby_2.4.6_resque2_redis4.gemfile.lock → ruby_2.4.10_resque2_redis4.gemfile.lock} +14 -12
  260. data/gemfiles/{ruby_2.5.6_contrib.gemfile → ruby_2.5.9_contrib.gemfile} +4 -1
  261. data/gemfiles/{ruby_2.5.6_contrib.gemfile.lock → ruby_2.5.9_contrib.gemfile.lock} +273 -191
  262. data/gemfiles/{ruby_2.5.6_contrib_old.gemfile → ruby_2.5.9_contrib_old.gemfile} +3 -2
  263. data/gemfiles/{ruby_2.5.6_contrib_old.gemfile.lock → ruby_2.5.9_contrib_old.gemfile.lock} +22 -20
  264. data/gemfiles/{ruby_2.5.6_core_old.gemfile → ruby_2.5.9_core_old.gemfile} +2 -1
  265. data/gemfiles/{ruby_2.5.6_core_old.gemfile.lock → ruby_2.5.9_core_old.gemfile.lock} +20 -18
  266. data/gemfiles/{ruby_2.5.6_cucumber3.gemfile → ruby_2.5.9_cucumber3.gemfile} +3 -2
  267. data/gemfiles/{ruby_2.5.6_cucumber3.gemfile.lock → ruby_2.5.9_cucumber3.gemfile.lock} +22 -20
  268. data/gemfiles/{ruby_2.5.6_cucumber4.gemfile → ruby_2.5.9_cucumber4.gemfile} +3 -2
  269. data/gemfiles/{ruby_2.5.6_cucumber4.gemfile.lock → ruby_2.5.9_cucumber4.gemfile.lock} +23 -21
  270. data/gemfiles/{ruby_2.5.6_cucumber5.gemfile → ruby_2.5.9_cucumber5.gemfile} +3 -2
  271. data/gemfiles/{ruby_2.5.6_cucumber5.gemfile.lock → ruby_2.5.9_cucumber5.gemfile.lock} +23 -21
  272. data/gemfiles/{ruby_2.5.6_rails5_mysql2.gemfile → ruby_2.5.9_rails5_mysql2.gemfile} +4 -3
  273. data/gemfiles/{ruby_2.5.6_rails5_mysql2.gemfile.lock → ruby_2.5.9_rails5_mysql2.gemfile.lock} +62 -62
  274. data/gemfiles/{ruby_2.5.6_rails5_postgres.gemfile → ruby_2.5.9_rails5_postgres.gemfile} +4 -3
  275. data/gemfiles/{ruby_2.5.6_rails5_postgres.gemfile.lock → ruby_2.5.9_rails5_postgres.gemfile.lock} +62 -62
  276. data/gemfiles/{ruby_2.5.6_rails5_postgres_redis.gemfile → ruby_2.5.9_rails5_postgres_redis.gemfile} +4 -3
  277. data/gemfiles/{ruby_2.5.6_rails5_postgres_redis.gemfile.lock → ruby_2.5.9_rails5_postgres_redis.gemfile.lock} +63 -63
  278. data/gemfiles/{ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile → ruby_2.5.9_rails5_postgres_redis_activesupport.gemfile} +4 -3
  279. data/gemfiles/{ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile.lock → ruby_2.5.9_rails5_postgres_redis_activesupport.gemfile.lock} +63 -63
  280. data/gemfiles/{ruby_2.5.6_rails5_postgres_sidekiq.gemfile → ruby_2.5.9_rails5_postgres_sidekiq.gemfile} +4 -3
  281. data/gemfiles/{ruby_2.5.6_rails5_postgres_sidekiq.gemfile.lock → ruby_2.5.9_rails5_postgres_sidekiq.gemfile.lock} +63 -63
  282. data/gemfiles/ruby_2.5.9_rails5_semantic_logger.gemfile +45 -0
  283. data/gemfiles/ruby_2.5.9_rails5_semantic_logger.gemfile.lock +275 -0
  284. data/gemfiles/{ruby_2.5.6_rails61_mysql2.gemfile → ruby_2.5.9_rails61_mysql2.gemfile} +3 -2
  285. data/gemfiles/{ruby_2.5.6_rails61_mysql2.gemfile.lock → ruby_2.5.9_rails61_mysql2.gemfile.lock} +81 -81
  286. data/gemfiles/{ruby_2.5.6_rails61_postgres.gemfile → ruby_2.5.9_rails61_postgres.gemfile} +3 -2
  287. data/gemfiles/{ruby_2.5.6_rails61_postgres.gemfile.lock → ruby_2.5.9_rails61_postgres.gemfile.lock} +81 -81
  288. data/gemfiles/{ruby_2.5.6_rails61_postgres_redis.gemfile → ruby_2.5.9_rails61_postgres_redis.gemfile} +3 -2
  289. data/gemfiles/{ruby_2.5.6_rails61_postgres_redis.gemfile.lock → ruby_2.5.9_rails61_postgres_redis.gemfile.lock} +82 -82
  290. data/gemfiles/{ruby_2.5.6_rails61_postgres_sidekiq.gemfile → ruby_2.5.9_rails61_postgres_sidekiq.gemfile} +3 -2
  291. data/gemfiles/{ruby_2.5.6_rails61_postgres_sidekiq.gemfile.lock → ruby_2.5.9_rails61_postgres_sidekiq.gemfile.lock} +82 -82
  292. data/gemfiles/ruby_2.5.9_rails61_semantic_logger.gemfile +45 -0
  293. data/gemfiles/ruby_2.5.9_rails61_semantic_logger.gemfile.lock +294 -0
  294. data/gemfiles/{ruby_2.5.6_rails6_mysql2.gemfile → ruby_2.5.9_rails6_mysql2.gemfile} +4 -3
  295. data/gemfiles/{ruby_2.5.6_rails6_mysql2.gemfile.lock → ruby_2.5.9_rails6_mysql2.gemfile.lock} +76 -76
  296. data/gemfiles/{ruby_2.5.6_rails6_postgres.gemfile → ruby_2.5.9_rails6_postgres.gemfile} +4 -3
  297. data/gemfiles/{ruby_2.5.6_rails6_postgres.gemfile.lock → ruby_2.5.9_rails6_postgres.gemfile.lock} +76 -76
  298. data/gemfiles/{ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile → ruby_2.5.9_rails6_postgres_redis.gemfile} +4 -3
  299. data/gemfiles/{ruby_2.5.6_rails6_postgres_redis.gemfile.lock → ruby_2.5.9_rails6_postgres_redis.gemfile.lock} +77 -77
  300. data/gemfiles/{ruby_2.5.6_rails6_postgres_redis.gemfile → ruby_2.5.9_rails6_postgres_redis_activesupport.gemfile} +4 -3
  301. data/gemfiles/{ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile.lock → ruby_2.5.9_rails6_postgres_redis_activesupport.gemfile.lock} +77 -77
  302. data/gemfiles/{ruby_2.5.6_rails6_postgres_sidekiq.gemfile → ruby_2.5.9_rails6_postgres_sidekiq.gemfile} +4 -3
  303. data/gemfiles/{ruby_2.5.6_rails6_postgres_sidekiq.gemfile.lock → ruby_2.5.9_rails6_postgres_sidekiq.gemfile.lock} +77 -77
  304. data/gemfiles/ruby_2.5.9_rails6_semantic_logger.gemfile +45 -0
  305. data/gemfiles/ruby_2.5.9_rails6_semantic_logger.gemfile.lock +291 -0
  306. data/gemfiles/{ruby_2.5.6_resque2_redis3.gemfile → ruby_2.5.9_resque2_redis3.gemfile} +3 -2
  307. data/gemfiles/{ruby_2.5.6_resque2_redis3.gemfile.lock → ruby_2.5.9_resque2_redis3.gemfile.lock} +22 -20
  308. data/gemfiles/{ruby_2.5.6_resque2_redis4.gemfile → ruby_2.5.9_resque2_redis4.gemfile} +3 -2
  309. data/gemfiles/{ruby_2.5.6_resque2_redis4.gemfile.lock → ruby_2.5.9_resque2_redis4.gemfile.lock} +23 -21
  310. data/gemfiles/{ruby_2.6.4_contrib.gemfile → ruby_2.6.7_contrib.gemfile} +4 -1
  311. data/gemfiles/{ruby_2.7.0_contrib.gemfile.lock → ruby_2.6.7_contrib.gemfile.lock} +280 -197
  312. data/gemfiles/{ruby_2.6.4_contrib_old.gemfile → ruby_2.6.7_contrib_old.gemfile} +3 -2
  313. data/gemfiles/{ruby_2.7.0_contrib_old.gemfile.lock → ruby_2.6.7_contrib_old.gemfile.lock} +26 -24
  314. data/gemfiles/{ruby_2.7.0_core_old.gemfile → ruby_2.6.7_core_old.gemfile} +2 -1
  315. data/gemfiles/{ruby_2.7.0_core_old.gemfile.lock → ruby_2.6.7_core_old.gemfile.lock} +24 -22
  316. data/gemfiles/{ruby_2.7.0_cucumber3.gemfile → ruby_2.6.7_cucumber3.gemfile} +3 -2
  317. data/gemfiles/{ruby_2.7.0_cucumber3.gemfile.lock → ruby_2.6.7_cucumber3.gemfile.lock} +26 -24
  318. data/gemfiles/{ruby_2.6.4_cucumber4.gemfile → ruby_2.6.7_cucumber4.gemfile} +3 -2
  319. data/gemfiles/{ruby_2.7.0_cucumber4.gemfile.lock → ruby_2.6.7_cucumber4.gemfile.lock} +27 -25
  320. data/gemfiles/{ruby_2.6.4_cucumber5.gemfile → ruby_2.6.7_cucumber5.gemfile} +3 -2
  321. data/gemfiles/{ruby_2.7.0_cucumber5.gemfile.lock → ruby_2.6.7_cucumber5.gemfile.lock} +27 -25
  322. data/gemfiles/{ruby_2.6.4_rails5_mysql2.gemfile → ruby_2.6.7_rails5_mysql2.gemfile} +4 -3
  323. data/gemfiles/ruby_2.6.7_rails5_mysql2.gemfile.lock +276 -0
  324. data/gemfiles/{ruby_2.6.4_rails5_postgres.gemfile → ruby_2.6.7_rails5_postgres.gemfile} +4 -3
  325. data/gemfiles/{ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile.lock → ruby_2.6.7_rails5_postgres.gemfile.lock} +62 -64
  326. data/gemfiles/{ruby_2.6.4_rails5_postgres_redis.gemfile → ruby_2.6.7_rails5_postgres_redis.gemfile} +4 -3
  327. data/gemfiles/{ruby_2.6.4_rails5_postgres_redis.gemfile.lock → ruby_2.6.7_rails5_postgres_redis.gemfile.lock} +63 -63
  328. data/gemfiles/{ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile → ruby_2.6.7_rails5_postgres_redis_activesupport.gemfile} +4 -3
  329. data/gemfiles/ruby_2.6.7_rails5_postgres_redis_activesupport.gemfile.lock +278 -0
  330. data/gemfiles/{ruby_2.6.4_rails5_postgres_sidekiq.gemfile → ruby_2.6.7_rails5_postgres_sidekiq.gemfile} +4 -3
  331. data/gemfiles/{ruby_2.7.0_rails5_postgres_sidekiq.gemfile.lock → ruby_2.6.7_rails5_postgres_sidekiq.gemfile.lock} +67 -67
  332. data/gemfiles/ruby_2.6.7_rails5_semantic_logger.gemfile +43 -0
  333. data/gemfiles/ruby_2.6.7_rails5_semantic_logger.gemfile.lock +275 -0
  334. data/gemfiles/{ruby_2.6.4_rails61_mysql2.gemfile → ruby_2.6.7_rails61_mysql2.gemfile} +3 -2
  335. data/gemfiles/ruby_2.6.7_rails61_mysql2.gemfile.lock +295 -0
  336. data/gemfiles/{ruby_2.6.4_rails61_postgres.gemfile → ruby_2.6.7_rails61_postgres.gemfile} +3 -2
  337. data/gemfiles/ruby_2.6.7_rails61_postgres.gemfile.lock +295 -0
  338. data/gemfiles/{ruby_2.7.0_rails61_postgres_redis.gemfile → ruby_2.6.7_rails61_postgres_redis.gemfile} +3 -2
  339. data/gemfiles/ruby_2.6.7_rails61_postgres_redis.gemfile.lock +297 -0
  340. data/gemfiles/{ruby_2.7.0_rails61_postgres_sidekiq.gemfile → ruby_2.6.7_rails61_postgres_sidekiq.gemfile} +3 -2
  341. data/gemfiles/{ruby_3.0.0_rails61_postgres_sidekiq.gemfile.lock → ruby_2.6.7_rails61_postgres_sidekiq.gemfile.lock} +82 -82
  342. data/gemfiles/{ruby_2.6.4_rails61_postgres_sidekiq.gemfile → ruby_2.6.7_rails61_semantic_logger.gemfile} +4 -4
  343. data/gemfiles/ruby_2.6.7_rails61_semantic_logger.gemfile.lock +294 -0
  344. data/gemfiles/{ruby_2.6.4_rails6_mysql2.gemfile → ruby_2.6.7_rails6_mysql2.gemfile} +4 -3
  345. data/gemfiles/ruby_2.6.7_rails6_mysql2.gemfile.lock +292 -0
  346. data/gemfiles/{ruby_2.6.4_rails6_postgres.gemfile → ruby_2.6.7_rails6_postgres.gemfile} +4 -3
  347. data/gemfiles/ruby_2.6.7_rails6_postgres.gemfile.lock +292 -0
  348. data/gemfiles/{ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile → ruby_2.6.7_rails6_postgres_redis.gemfile} +4 -3
  349. data/gemfiles/{ruby_2.6.4_rails6_postgres_redis.gemfile.lock → ruby_2.6.7_rails6_postgres_redis.gemfile.lock} +77 -77
  350. data/gemfiles/{ruby_2.6.4_rails6_postgres_redis.gemfile → ruby_2.6.7_rails6_postgres_redis_activesupport.gemfile} +4 -3
  351. data/gemfiles/{ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile.lock → ruby_2.6.7_rails6_postgres_redis_activesupport.gemfile.lock} +77 -77
  352. data/gemfiles/{ruby_2.6.4_rails6_postgres_sidekiq.gemfile → ruby_2.6.7_rails6_postgres_sidekiq.gemfile} +4 -3
  353. data/gemfiles/{ruby_2.7.0_rails6_postgres_sidekiq.gemfile.lock → ruby_2.6.7_rails6_postgres_sidekiq.gemfile.lock} +81 -81
  354. data/gemfiles/ruby_2.6.7_rails6_semantic_logger.gemfile +43 -0
  355. data/gemfiles/ruby_2.6.7_rails6_semantic_logger.gemfile.lock +291 -0
  356. data/gemfiles/{ruby_2.7.0_resque2_redis3.gemfile → ruby_2.6.7_resque2_redis3.gemfile} +3 -2
  357. data/gemfiles/ruby_2.6.7_resque2_redis3.gemfile.lock +192 -0
  358. data/gemfiles/{ruby_2.7.0_resque2_redis4.gemfile → ruby_2.6.7_resque2_redis4.gemfile} +3 -2
  359. data/gemfiles/ruby_2.6.7_resque2_redis4.gemfile.lock +192 -0
  360. data/gemfiles/{ruby_2.7.0_contrib.gemfile → ruby_2.7.3_contrib.gemfile} +4 -1
  361. data/gemfiles/{ruby_2.6.4_contrib.gemfile.lock → ruby_2.7.3_contrib.gemfile.lock} +230 -174
  362. data/gemfiles/{ruby_2.7.0_contrib_old.gemfile → ruby_2.7.3_contrib_old.gemfile} +3 -2
  363. data/gemfiles/{ruby_2.6.4_contrib_old.gemfile.lock → ruby_2.7.3_contrib_old.gemfile.lock} +21 -19
  364. data/gemfiles/{ruby_2.6.4_core_old.gemfile → ruby_2.7.3_core_old.gemfile} +2 -1
  365. data/gemfiles/{ruby_2.6.4_core_old.gemfile.lock → ruby_2.7.3_core_old.gemfile.lock} +19 -17
  366. data/gemfiles/{ruby_2.6.4_cucumber3.gemfile → ruby_2.7.3_cucumber3.gemfile} +3 -2
  367. data/gemfiles/{ruby_2.6.4_cucumber3.gemfile.lock → ruby_2.7.3_cucumber3.gemfile.lock} +21 -19
  368. data/gemfiles/{ruby_2.7.0_cucumber4.gemfile → ruby_2.7.3_cucumber4.gemfile} +3 -2
  369. data/gemfiles/{ruby_2.6.4_cucumber4.gemfile.lock → ruby_2.7.3_cucumber4.gemfile.lock} +22 -20
  370. data/gemfiles/{ruby_2.7.0_cucumber5.gemfile → ruby_2.7.3_cucumber5.gemfile} +3 -2
  371. data/gemfiles/{ruby_2.6.4_cucumber5.gemfile.lock → ruby_2.7.3_cucumber5.gemfile.lock} +22 -20
  372. data/gemfiles/{ruby_2.7.0_rails5_mysql2.gemfile → ruby_2.7.3_rails5_mysql2.gemfile} +4 -3
  373. data/gemfiles/{ruby_2.6.4_rails5_mysql2.gemfile.lock → ruby_2.7.3_rails5_mysql2.gemfile.lock} +62 -60
  374. data/gemfiles/ruby_2.7.3_rails5_postgres.gemfile +43 -0
  375. data/gemfiles/{ruby_2.6.4_rails5_postgres.gemfile.lock → ruby_2.7.3_rails5_postgres.gemfile.lock} +62 -60
  376. data/gemfiles/{ruby_2.7.0_rails5_postgres_redis.gemfile → ruby_2.7.3_rails5_postgres_redis.gemfile} +4 -3
  377. data/gemfiles/{ruby_2.7.0_rails5_postgres_redis.gemfile.lock → ruby_2.7.3_rails5_postgres_redis.gemfile.lock} +68 -66
  378. data/gemfiles/{ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile → ruby_2.7.3_rails5_postgres_redis_activesupport.gemfile} +4 -3
  379. data/gemfiles/{ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile.lock → ruby_2.7.3_rails5_postgres_redis_activesupport.gemfile.lock} +68 -66
  380. data/gemfiles/{ruby_2.7.0_rails5_postgres_sidekiq.gemfile → ruby_2.7.3_rails5_postgres_sidekiq.gemfile} +4 -3
  381. data/gemfiles/{ruby_2.6.4_rails5_postgres_sidekiq.gemfile.lock → ruby_2.7.3_rails5_postgres_sidekiq.gemfile.lock} +63 -61
  382. data/gemfiles/ruby_2.7.3_rails5_semantic_logger.gemfile +43 -0
  383. data/gemfiles/ruby_2.7.3_rails5_semantic_logger.gemfile.lock +277 -0
  384. data/gemfiles/{ruby_2.7.0_rails61_mysql2.gemfile → ruby_2.7.3_rails61_mysql2.gemfile} +3 -2
  385. data/gemfiles/{ruby_2.6.4_rails61_mysql2.gemfile.lock → ruby_2.7.3_rails61_mysql2.gemfile.lock} +81 -79
  386. data/gemfiles/{ruby_2.7.0_rails61_postgres.gemfile → ruby_2.7.3_rails61_postgres.gemfile} +3 -2
  387. data/gemfiles/{ruby_2.6.4_rails61_postgres.gemfile.lock → ruby_2.7.3_rails61_postgres.gemfile.lock} +81 -79
  388. data/gemfiles/{ruby_2.6.4_rails61_postgres_redis.gemfile → ruby_2.7.3_rails61_postgres_redis.gemfile} +3 -2
  389. data/gemfiles/{ruby_2.6.4_rails61_postgres_redis.gemfile.lock → ruby_2.7.3_rails61_postgres_redis.gemfile.lock} +82 -80
  390. data/gemfiles/{ruby_3.0.0_rails61_postgres_sidekiq.gemfile → ruby_2.7.3_rails61_postgres_sidekiq.gemfile} +3 -3
  391. data/gemfiles/{ruby_2.6.4_rails61_postgres_sidekiq.gemfile.lock → ruby_2.7.3_rails61_postgres_sidekiq.gemfile.lock} +82 -80
  392. data/gemfiles/ruby_2.7.3_rails61_semantic_logger.gemfile +43 -0
  393. data/gemfiles/ruby_2.7.3_rails61_semantic_logger.gemfile.lock +296 -0
  394. data/gemfiles/{ruby_2.7.0_rails6_mysql2.gemfile → ruby_2.7.3_rails6_mysql2.gemfile} +4 -3
  395. data/gemfiles/{ruby_2.6.4_rails6_mysql2.gemfile.lock → ruby_2.7.3_rails6_mysql2.gemfile.lock} +76 -74
  396. data/gemfiles/ruby_2.7.3_rails6_postgres.gemfile +43 -0
  397. data/gemfiles/{ruby_2.6.4_rails6_postgres.gemfile.lock → ruby_2.7.3_rails6_postgres.gemfile.lock} +76 -74
  398. data/gemfiles/{ruby_2.7.0_rails6_postgres_redis.gemfile → ruby_2.7.3_rails6_postgres_redis.gemfile} +4 -3
  399. data/gemfiles/{ruby_2.7.0_rails6_postgres_redis.gemfile.lock → ruby_2.7.3_rails6_postgres_redis.gemfile.lock} +82 -80
  400. data/gemfiles/{ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile → ruby_2.7.3_rails6_postgres_redis_activesupport.gemfile} +4 -3
  401. data/gemfiles/{ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile.lock → ruby_2.7.3_rails6_postgres_redis_activesupport.gemfile.lock} +82 -80
  402. data/gemfiles/{ruby_2.7.0_rails6_postgres_sidekiq.gemfile → ruby_2.7.3_rails6_postgres_sidekiq.gemfile} +4 -3
  403. data/gemfiles/{ruby_2.6.4_rails6_postgres_sidekiq.gemfile.lock → ruby_2.7.3_rails6_postgres_sidekiq.gemfile.lock} +77 -75
  404. data/gemfiles/ruby_2.7.3_rails6_semantic_logger.gemfile +43 -0
  405. data/gemfiles/ruby_2.7.3_rails6_semantic_logger.gemfile.lock +293 -0
  406. data/gemfiles/{ruby_2.6.4_resque2_redis3.gemfile → ruby_2.7.3_resque2_redis3.gemfile} +3 -2
  407. data/gemfiles/{ruby_2.6.4_resque2_redis3.gemfile.lock → ruby_2.7.3_resque2_redis3.gemfile.lock} +21 -19
  408. data/gemfiles/{ruby_2.6.4_resque2_redis4.gemfile → ruby_2.7.3_resque2_redis4.gemfile} +3 -2
  409. data/gemfiles/{ruby_2.6.4_resque2_redis4.gemfile.lock → ruby_2.7.3_resque2_redis4.gemfile.lock} +22 -20
  410. data/gemfiles/{ruby_3.0.0_contrib.gemfile → ruby_3.0.1_contrib.gemfile} +3 -1
  411. data/gemfiles/{ruby_3.0.0_contrib.gemfile.lock → ruby_3.0.1_contrib.gemfile.lock} +215 -172
  412. data/gemfiles/{ruby_3.0.0_core_old.gemfile → ruby_3.0.1_core_old.gemfile} +2 -1
  413. data/gemfiles/{ruby_3.0.0_core_old.gemfile.lock → ruby_3.0.1_core_old.gemfile.lock} +20 -18
  414. data/gemfiles/{ruby_3.0.0_cucumber3.gemfile → ruby_3.0.1_cucumber3.gemfile} +3 -2
  415. data/gemfiles/{ruby_3.0.0_cucumber3.gemfile.lock → ruby_3.0.1_cucumber3.gemfile.lock} +22 -20
  416. data/gemfiles/{ruby_3.0.0_cucumber4.gemfile → ruby_3.0.1_cucumber4.gemfile} +3 -2
  417. data/gemfiles/{ruby_3.0.0_cucumber4.gemfile.lock → ruby_3.0.1_cucumber4.gemfile.lock} +23 -21
  418. data/gemfiles/{ruby_3.0.0_cucumber5.gemfile → ruby_3.0.1_cucumber5.gemfile} +3 -2
  419. data/gemfiles/{ruby_3.0.0_cucumber5.gemfile.lock → ruby_3.0.1_cucumber5.gemfile.lock} +23 -21
  420. data/gemfiles/{ruby_3.0.0_rails61_mysql2.gemfile → ruby_3.0.1_rails61_mysql2.gemfile} +3 -2
  421. data/gemfiles/{ruby_3.0.0_rails61_mysql2.gemfile.lock → ruby_3.0.1_rails61_mysql2.gemfile.lock} +81 -79
  422. data/gemfiles/{ruby_3.0.0_rails61_postgres.gemfile → ruby_3.0.1_rails61_postgres.gemfile} +3 -2
  423. data/gemfiles/{ruby_3.0.0_rails61_postgres.gemfile.lock → ruby_3.0.1_rails61_postgres.gemfile.lock} +81 -79
  424. data/gemfiles/{ruby_3.0.0_rails61_postgres_redis.gemfile → ruby_3.0.1_rails61_postgres_redis.gemfile} +3 -2
  425. data/gemfiles/{ruby_3.0.0_rails61_postgres_redis.gemfile.lock → ruby_3.0.1_rails61_postgres_redis.gemfile.lock} +82 -80
  426. data/gemfiles/ruby_3.0.1_rails61_postgres_sidekiq.gemfile +46 -0
  427. data/gemfiles/{ruby_2.7.0_rails61_postgres_sidekiq.gemfile.lock → ruby_3.0.1_rails61_postgres_sidekiq.gemfile.lock} +95 -86
  428. data/gemfiles/ruby_3.0.1_rails61_semantic_logger.gemfile +44 -0
  429. data/gemfiles/ruby_3.0.1_rails61_semantic_logger.gemfile.lock +296 -0
  430. data/gemfiles/{ruby_3.0.0_resque2_redis3.gemfile → ruby_3.0.1_resque2_redis3.gemfile} +3 -2
  431. data/gemfiles/{ruby_3.0.0_resque2_redis3.gemfile.lock → ruby_3.0.1_resque2_redis3.gemfile.lock} +22 -20
  432. data/gemfiles/{ruby_3.0.0_resque2_redis4.gemfile → ruby_3.0.1_resque2_redis4.gemfile} +3 -2
  433. data/gemfiles/{ruby_3.0.0_resque2_redis4.gemfile.lock → ruby_3.0.1_resque2_redis4.gemfile.lock} +23 -21
  434. data/integration/apps/rspec/bin/setup +6 -0
  435. data/integration/apps/rspec/docker-compose.yml +1 -0
  436. data/integration/images/include/datadog/demo_env.rb +15 -14
  437. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +1 -1
  438. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +1 -1
  439. data/lib/datadog/ci/ext/environment.rb +224 -89
  440. data/lib/datadog/ci/ext/test.rb +7 -1
  441. data/lib/datadog/ci/test.rb +13 -0
  442. data/lib/datadog/core/environment/cgroup.rb +49 -0
  443. data/lib/datadog/core/environment/class_count.rb +19 -0
  444. data/lib/datadog/core/environment/container.rb +88 -0
  445. data/lib/datadog/core/environment/ext.rb +26 -0
  446. data/lib/datadog/core/environment/gc.rb +18 -0
  447. data/lib/datadog/core/environment/identity.rb +50 -0
  448. data/lib/datadog/core/environment/object_space.rb +22 -0
  449. data/lib/datadog/core/environment/socket.rb +16 -0
  450. data/lib/datadog/core/environment/thread_count.rb +18 -0
  451. data/lib/datadog/core/environment/variable_helpers.rb +39 -0
  452. data/lib/ddtrace.rb +2 -0
  453. data/lib/ddtrace/auto_instrument.rb +1 -0
  454. data/lib/ddtrace/buffer.rb +2 -2
  455. data/lib/ddtrace/configuration/base.rb +3 -3
  456. data/lib/ddtrace/configuration/components.rb +33 -4
  457. data/lib/ddtrace/configuration/settings.rb +11 -3
  458. data/lib/ddtrace/contrib/active_record/utils.rb +2 -2
  459. data/lib/ddtrace/contrib/aws/patcher.rb +1 -1
  460. data/lib/ddtrace/contrib/lograge/configuration/settings.rb +18 -0
  461. data/lib/ddtrace/contrib/lograge/ext.rb +10 -0
  462. data/lib/ddtrace/contrib/lograge/instrumentation.rb +38 -0
  463. data/lib/ddtrace/contrib/lograge/integration.rb +45 -0
  464. data/lib/ddtrace/contrib/lograge/patcher.rb +25 -0
  465. data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
  466. data/lib/ddtrace/contrib/rails/framework.rb +25 -1
  467. data/lib/ddtrace/contrib/rails/log_injection.rb +0 -40
  468. data/lib/ddtrace/contrib/rails/patcher.rb +11 -9
  469. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +18 -0
  470. data/lib/ddtrace/contrib/semantic_logger/ext.rb +10 -0
  471. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +42 -0
  472. data/lib/ddtrace/contrib/semantic_logger/integration.rb +47 -0
  473. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +25 -0
  474. data/lib/ddtrace/correlation.rb +1 -1
  475. data/lib/ddtrace/diagnostics/environment_logger.rb +2 -2
  476. data/lib/ddtrace/ext/environment.rb +7 -0
  477. data/lib/ddtrace/ext/git.rb +9 -1
  478. data/lib/ddtrace/ext/runtime.rb +0 -9
  479. data/lib/ddtrace/metrics.rb +54 -28
  480. data/lib/ddtrace/profiling/ext/cpu.rb +16 -1
  481. data/lib/ddtrace/profiling/flush.rb +9 -9
  482. data/lib/ddtrace/profiling/transport/http.rb +7 -7
  483. data/lib/ddtrace/runtime/metrics.rb +18 -10
  484. data/lib/ddtrace/span.rb +17 -6
  485. data/lib/ddtrace/sync_writer.rb +2 -2
  486. data/lib/ddtrace/tracer.rb +4 -12
  487. data/lib/ddtrace/transport/http.rb +7 -7
  488. data/lib/ddtrace/version.rb +2 -2
  489. data/lib/ddtrace/workers/trace_writer.rb +1 -1
  490. data/lib/ddtrace/writer.rb +2 -2
  491. data/tasks/update_appraisal_gemfiles.rake +36 -0
  492. metadata +301 -242
  493. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile.lock +0 -276
  494. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile +0 -42
  495. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile.lock +0 -276
  496. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile.lock +0 -295
  497. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile.lock +0 -295
  498. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile.lock +0 -297
  499. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile.lock +0 -292
  500. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile +0 -42
  501. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile.lock +0 -292
  502. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile.lock +0 -190
  503. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile.lock +0 -190
  504. data/lib/ddtrace/environment.rb +0 -41
  505. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  506. data/lib/ddtrace/runtime/class_count.rb +0 -17
  507. data/lib/ddtrace/runtime/container.rb +0 -87
  508. data/lib/ddtrace/runtime/gc.rb +0 -16
  509. data/lib/ddtrace/runtime/identity.rb +0 -48
  510. data/lib/ddtrace/runtime/object_space.rb +0 -19
  511. data/lib/ddtrace/runtime/socket.rb +0 -14
  512. data/lib/ddtrace/runtime/thread_count.rb +0 -16
data/CHANGELOG.md CHANGED
@@ -2,6 +2,66 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.51.1] - 2021-07-13
6
+
7
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.51.1
8
+
9
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.51.0...v0.51.1
10
+
11
+ ### Fixed
12
+
13
+ - AWS-SDK instrumentation without `aws-sdk-s3` ([#1592][])
14
+
15
+ ## [0.51.0] - 2021-07-12
16
+
17
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.51.0
18
+
19
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.50.0...v0.51.0
20
+
21
+ ### Added
22
+
23
+ - Semantic Logger trace correlation injection ([#1566][])
24
+ - New and improved Lograge trace correlation injection ([#1555][])
25
+ - Profiler: Start profiler on `ddtrace/auto_instrument`
26
+ - CI-App: Add runtime and OS information ([#1587][])
27
+ - CI-App: Read metadata from local git repository ([#1561][])
28
+
29
+ ### Changed
30
+
31
+ - Rename `Datadog::Runtime` to `Datadog::Core::Environment` ([#1570][])
32
+
33
+ As we prepare the `Datadog` Ruby namespace to better accommodate new products, we are moving a few internal modules to a different location to avoid conflicts.
34
+
35
+ None of the affected files are exposed publicly in our documentation, and they are only expected to be used internally and may change at any time, even between patch releases.
36
+
37
+ * The following modules have been moved:
38
+ ```ruby
39
+ Datadog::Runtime::Cgroup -> Datadog::Core::Environment::Cgroup
40
+ Datadog::Runtime::ClassCount -> Datadog::Core::Environment::ClassCount
41
+ Datadog::Runtime::Container -> Datadog::Core::Environment::Container
42
+ Datadog::Runtime::GC -> Datadog::Core::Environment::GC
43
+ Datadog::Runtime::Identity -> Datadog::Core::Environment::Identity
44
+ Datadog::Runtime::ObjectSpace -> Datadog::Core::Environment::ObjectSpace
45
+ Datadog::Runtime::Socket -> Datadog::Core::Environment::Socket
46
+ Datadog::Runtime::ThreadCount -> Datadog::Core::Environment::ThreadCount
47
+ ```
48
+ * Most constants from `Datadog::Ext::Runtime` have been moved to a new module: `Datadog::Core::Environment::Ext`.
49
+ - Skip CPU time instrumentation if logging gem is detected ([#1557][])
50
+
51
+ ### Fixed
52
+
53
+ - Initialize `dogstatsd-ruby` in single threaded mode ([#1576][])
54
+
55
+ This should alleviate any existing issues with `dogstatsd-ruby` resource leaks.
56
+
57
+ - Do not use configured `dogstatsd-ruby` instance when it's an incompatible version ([#1560][])
58
+ - Ensure tags with special Datadog processing are consistently serialized ([#1556][])
59
+ - Profiler: NameError during initialization ([#1552][])
60
+
61
+ ### Refactored
62
+ - Improvements to test suite & CI ([#1586][])
63
+ - Improvements to documentation ([#1397][])
64
+
5
65
  ## [0.50.0] - 2021-06-07
6
66
 
7
67
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.50.0
@@ -1713,6 +1773,8 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
1713
1773
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
1714
1774
 
1715
1775
  [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.48.0...master
1776
+ [0.51.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.51.0...v0.51.1
1777
+ [0.51.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.50.0...v0.51.0
1716
1778
  [0.48.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.47.0...v0.48.0
1717
1779
  [0.47.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.46.0...v0.47.0
1718
1780
  [0.46.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.45.0...v0.46.0
@@ -2359,6 +2421,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2359
2421
  [#1393]: https://github.com/DataDog/dd-trace-rb/issues/1393
2360
2422
  [#1394]: https://github.com/DataDog/dd-trace-rb/issues/1394
2361
2423
  [#1396]: https://github.com/DataDog/dd-trace-rb/issues/1396
2424
+ [#1397]: https://github.com/DataDog/dd-trace-rb/issues/1397
2362
2425
  [#1398]: https://github.com/DataDog/dd-trace-rb/issues/1398
2363
2426
  [#1399]: https://github.com/DataDog/dd-trace-rb/issues/1399
2364
2427
  [#1400]: https://github.com/DataDog/dd-trace-rb/issues/1400
@@ -2419,6 +2482,18 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2419
2482
  [#1537]: https://github.com/DataDog/dd-trace-rb/issues/1537
2420
2483
  [#1543]: https://github.com/DataDog/dd-trace-rb/issues/1543
2421
2484
  [#1544]: https://github.com/DataDog/dd-trace-rb/issues/1544
2485
+ [#1552]: https://github.com/DataDog/dd-trace-rb/issues/1552
2486
+ [#1555]: https://github.com/DataDog/dd-trace-rb/issues/1555
2487
+ [#1556]: https://github.com/DataDog/dd-trace-rb/issues/1556
2488
+ [#1557]: https://github.com/DataDog/dd-trace-rb/issues/1557
2489
+ [#1560]: https://github.com/DataDog/dd-trace-rb/issues/1560
2490
+ [#1561]: https://github.com/DataDog/dd-trace-rb/issues/1561
2491
+ [#1566]: https://github.com/DataDog/dd-trace-rb/issues/1566
2492
+ [#1570]: https://github.com/DataDog/dd-trace-rb/issues/1570
2493
+ [#1576]: https://github.com/DataDog/dd-trace-rb/issues/1576
2494
+ [#1586]: https://github.com/DataDog/dd-trace-rb/issues/1586
2495
+ [#1587]: https://github.com/DataDog/dd-trace-rb/issues/1587
2496
+ [#1592]: https://github.com/DataDog/dd-trace-rb/issues/1592
2422
2497
  [@AdrianLC]: https://github.com/AdrianLC
2423
2498
  [@Azure7111]: https://github.com/Azure7111
2424
2499
  [@BabyGroot]: https://github.com/BabyGroot
data/Gemfile CHANGED
@@ -15,6 +15,7 @@ gem 'memory_profiler', '~> 0.9'
15
15
  gem 'minitest', '= 5.10.1'
16
16
  gem 'minitest-around', '0.5.0'
17
17
  gem 'minitest-stub_any_instance', '1.0.2'
18
+ gem 'os', '~> 1.1'
18
19
  gem 'pimpmychangelog', '>= 0.1.2'
19
20
  gem 'pry'
20
21
  if RUBY_PLATFORM != 'java'
@@ -25,12 +26,12 @@ if RUBY_PLATFORM != 'java'
25
26
  else
26
27
  gem 'pry-debugger-jruby'
27
28
  end
28
- gem 'rake', '>= 10.5'
29
+ gem 'rake', '>= 10.5', '< 13.0.4' # Locking rake until https://github.com/thoughtbot/appraisal/pull/184 is released
29
30
  gem 'redcarpet', '~> 3.4' if RUBY_PLATFORM != 'java'
30
31
  gem 'rspec', '~> 3.10'
31
32
  gem 'rspec-collection_matchers', '~> 1.1'
32
33
  gem 'rspec_junit_formatter', '>= 0.4.1'
33
- gem 'rspec_n', '~> 1.3' if RUBY_VERSION >= '2.3.0'
34
+ gem 'rspec_n', '~> 1.3' if RUBY_VERSION >= '2.4.0'
34
35
  gem 'ruby-prof', '~> 1.4' if RUBY_PLATFORM != 'java' && RUBY_VERSION >= '2.4.0'
35
36
  if RUBY_VERSION >= '2.5.0'
36
37
  # Merging branch coverage results does not work for old, unsupported rubies.
@@ -58,7 +59,9 @@ end
58
59
 
59
60
  # Optional extensions
60
61
  # TODO: Move this to Appraisals?
61
- gem 'dogstatsd-ruby', '>= 3.3.0'
62
+ # dogstatsd v5, but lower than 5.2, has possible memory leak with ddtrace.
63
+ # @see https://github.com/DataDog/dogstatsd-ruby/issues/182
64
+ gem 'dogstatsd-ruby', '>= 3.3.0', '!= 5.0.0', '!= 5.0.1', '!= 5.1.0'
62
65
  gem 'opentracing', '>= 0.4.1'
63
66
 
64
67
  # Profiler optional dependencies
data/Rakefile CHANGED
@@ -39,7 +39,8 @@ namespace :spec do
39
39
 
40
40
  RSpec::Core::RakeTask.new(:rails) do |t, args|
41
41
  t.pattern = 'spec/ddtrace/contrib/rails/**/*_spec.rb'
42
- t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache,auto_instrument}*_spec.rb'
42
+ t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache,auto_instrument,'\
43
+ 'semantic_logger}*_spec.rb'
43
44
  t.rspec_opts = args.to_a.join(' ')
44
45
  end
45
46
 
@@ -68,6 +69,14 @@ namespace :spec do
68
69
  t.rspec_opts = args.to_a.join(' ')
69
70
  end
70
71
 
72
+ # rails_semantic_logger is the dog at the dog park that doesnt play nicely with other
73
+ # logging gems, aka it tries to bite/monkeypatch them, so we have to put it in its own appraisal and rake task
74
+ # in order to isolate its effects for rails logs auto injection
75
+ RSpec::Core::RakeTask.new(:railssemanticlogger) do |t, args|
76
+ t.pattern = 'spec/ddtrace/contrib/rails/**/*rails_semantic_logger*_spec.rb'
77
+ t.rspec_opts = args.to_a.join(' ')
78
+ end
79
+
71
80
  RSpec::Core::RakeTask.new(:contrib) do |t, args|
72
81
  contrib_paths = [
73
82
  'analytics',
@@ -111,6 +120,7 @@ namespace :spec do
111
120
  :httpclient,
112
121
  :httprb,
113
122
  :kafka,
123
+ :lograge,
114
124
  :mongodb,
115
125
  :mysql2,
116
126
  :presto,
@@ -123,6 +133,7 @@ namespace :spec do
123
133
  :resque,
124
134
  :rest_client,
125
135
  :rspec,
136
+ :semantic_logger,
126
137
  :sequel,
127
138
  :shoryuken,
128
139
  :sidekiq,
@@ -259,6 +270,7 @@ task :ci do
259
270
  declare 'bundle exec appraisal contrib-old rake spec:resque'
260
271
  declare 'bundle exec appraisal contrib-old rake spec:rest_client'
261
272
  declare 'bundle exec appraisal contrib-old rake spec:rspec'
273
+ declare 'bundle exec appraisal contrib-old rake spec:semantic_logger'
262
274
  declare 'bundle exec appraisal contrib-old rake spec:sequel'
263
275
  declare 'bundle exec appraisal contrib-old rake spec:sidekiq'
264
276
  declare 'bundle exec appraisal contrib-old rake spec:sinatra'
@@ -278,6 +290,7 @@ task :ci do
278
290
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
279
291
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
280
292
  declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
293
+ declare 'bundle exec appraisal rails4-semantic-logger rake spec:railssemanticlogger'
281
294
  # Rails specs
282
295
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
283
296
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -320,6 +333,7 @@ task :ci do
320
333
  declare 'bundle exec appraisal contrib rake spec:http'
321
334
  declare 'bundle exec appraisal contrib rake spec:httpclient'
322
335
  declare 'bundle exec appraisal contrib rake spec:httprb'
336
+ declare 'bundle exec appraisal contrib rake spec:lograge'
323
337
  declare 'bundle exec appraisal contrib rake spec:kafka'
324
338
  declare 'bundle exec appraisal contrib rake spec:mongodb'
325
339
  declare 'bundle exec appraisal contrib rake spec:mysql2'
@@ -333,6 +347,7 @@ task :ci do
333
347
  declare 'bundle exec appraisal contrib rake spec:resque'
334
348
  declare 'bundle exec appraisal contrib rake spec:rest_client'
335
349
  declare 'bundle exec appraisal contrib rake spec:rspec'
350
+ declare 'bundle exec appraisal contrib rake spec:semantic_logger'
336
351
  declare 'bundle exec appraisal contrib rake spec:sequel'
337
352
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
338
353
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -362,6 +377,8 @@ task :ci do
362
377
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
363
378
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
364
379
  declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
380
+ declare 'bundle exec appraisal rails4-semantic-logger rake spec:railssemanticlogger'
381
+ declare 'bundle exec appraisal rails5-semantic-logger rake spec:railssemanticlogger'
365
382
  # Rails specs
366
383
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
367
384
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -401,6 +418,7 @@ task :ci do
401
418
  declare 'bundle exec appraisal contrib rake spec:http'
402
419
  declare 'bundle exec appraisal contrib rake spec:httpclient'
403
420
  declare 'bundle exec appraisal contrib rake spec:httprb'
421
+ declare 'bundle exec appraisal contrib rake spec:lograge'
404
422
  declare 'bundle exec appraisal contrib rake spec:kafka'
405
423
  declare 'bundle exec appraisal contrib rake spec:mongodb'
406
424
  declare 'bundle exec appraisal contrib rake spec:mysql2'
@@ -413,6 +431,7 @@ task :ci do
413
431
  declare 'bundle exec appraisal contrib rake spec:resque'
414
432
  declare 'bundle exec appraisal contrib rake spec:rest_client'
415
433
  declare 'bundle exec appraisal contrib rake spec:rspec'
434
+ declare 'bundle exec appraisal contrib rake spec:semantic_logger'
416
435
  declare 'bundle exec appraisal contrib rake spec:sequel'
417
436
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
418
437
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -444,6 +463,8 @@ task :ci do
444
463
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
445
464
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
446
465
  declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
466
+ declare 'bundle exec appraisal rails4-semantic-logger rake spec:railssemanticlogger'
467
+ declare 'bundle exec appraisal rails5-semantic-logger rake spec:railssemanticlogger'
447
468
  # Rails specs
448
469
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
449
470
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -488,6 +509,7 @@ task :ci do
488
509
  declare 'bundle exec appraisal contrib rake spec:http'
489
510
  declare 'bundle exec appraisal contrib rake spec:httpclient'
490
511
  declare 'bundle exec appraisal contrib rake spec:httprb'
512
+ declare 'bundle exec appraisal contrib rake spec:lograge'
491
513
  declare 'bundle exec appraisal contrib rake spec:kafka'
492
514
  declare 'bundle exec appraisal contrib rake spec:mongodb'
493
515
  declare 'bundle exec appraisal contrib rake spec:mysql2'
@@ -500,6 +522,7 @@ task :ci do
500
522
  declare 'bundle exec appraisal contrib rake spec:resque'
501
523
  declare 'bundle exec appraisal contrib rake spec:rest_client'
502
524
  declare 'bundle exec appraisal contrib rake spec:rspec'
525
+ declare 'bundle exec appraisal contrib rake spec:semantic_logger'
503
526
  declare 'bundle exec appraisal contrib rake spec:sequel'
504
527
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
505
528
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -518,6 +541,7 @@ task :ci do
518
541
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
519
542
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
520
543
  declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
544
+ declare 'bundle exec appraisal rails5-semantic-logger rake spec:railssemanticlogger'
521
545
  # Rails specs
522
546
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
523
547
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
@@ -561,6 +585,7 @@ task :ci do
561
585
  declare 'bundle exec appraisal contrib rake spec:http'
562
586
  declare 'bundle exec appraisal contrib rake spec:httpclient'
563
587
  declare 'bundle exec appraisal contrib rake spec:httprb'
588
+ declare 'bundle exec appraisal contrib rake spec:lograge'
564
589
  declare 'bundle exec appraisal contrib rake spec:kafka'
565
590
  declare 'bundle exec appraisal contrib rake spec:mongodb'
566
591
  declare 'bundle exec appraisal contrib rake spec:mysql2' if RUBY_PLATFORM != 'java' # built-in jdbc is used instead
@@ -574,6 +599,7 @@ task :ci do
574
599
  declare 'bundle exec appraisal contrib rake spec:resque'
575
600
  declare 'bundle exec appraisal contrib rake spec:rest_client'
576
601
  declare 'bundle exec appraisal contrib rake spec:rspec'
602
+ declare 'bundle exec appraisal contrib rake spec:semantic_logger'
577
603
  declare 'bundle exec appraisal contrib rake spec:sequel'
578
604
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
579
605
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -599,6 +625,9 @@ task :ci do
599
625
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
600
626
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
601
627
  declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
628
+ declare 'bundle exec appraisal rails5-semantic-logger rake spec:railssemanticlogger'
629
+ declare 'bundle exec appraisal rails6-semantic-logger rake spec:railssemanticlogger'
630
+ declare 'bundle exec appraisal rails61-semantic-logger rake spec:railssemanticlogger'
602
631
  # Rails specs
603
632
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
604
633
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
@@ -657,6 +686,7 @@ task :ci do
657
686
  declare 'bundle exec appraisal contrib rake spec:http'
658
687
  declare 'bundle exec appraisal contrib rake spec:httpclient'
659
688
  declare 'bundle exec appraisal contrib rake spec:httprb'
689
+ declare 'bundle exec appraisal contrib rake spec:lograge'
660
690
  declare 'bundle exec appraisal contrib rake spec:kafka'
661
691
  declare 'bundle exec appraisal contrib rake spec:mongodb'
662
692
  declare 'bundle exec appraisal contrib rake spec:mysql2'
@@ -670,6 +700,7 @@ task :ci do
670
700
  declare 'bundle exec appraisal contrib rake spec:resque'
671
701
  declare 'bundle exec appraisal contrib rake spec:rest_client'
672
702
  declare 'bundle exec appraisal contrib rake spec:rspec'
703
+ declare 'bundle exec appraisal contrib rake spec:semantic_logger'
673
704
  declare 'bundle exec appraisal contrib rake spec:sequel'
674
705
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
675
706
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -696,6 +727,9 @@ task :ci do
696
727
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
697
728
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
698
729
  declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
730
+ declare 'bundle exec appraisal rails5-semantic-logger rake spec:railssemanticlogger'
731
+ declare 'bundle exec appraisal rails6-semantic-logger rake spec:railssemanticlogger'
732
+ declare 'bundle exec appraisal rails61-semantic-logger rake spec:railssemanticlogger'
699
733
  # Rails specs
700
734
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
701
735
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
@@ -755,6 +789,7 @@ task :ci do
755
789
  declare 'bundle exec appraisal contrib rake spec:http'
756
790
  declare 'bundle exec appraisal contrib rake spec:httpclient'
757
791
  declare 'bundle exec appraisal contrib rake spec:httprb'
792
+ declare 'bundle exec appraisal contrib rake spec:lograge'
758
793
  declare 'bundle exec appraisal contrib rake spec:kafka'
759
794
  declare 'bundle exec appraisal contrib rake spec:mongodb'
760
795
  declare 'bundle exec appraisal contrib rake spec:mysql2'
@@ -768,6 +803,7 @@ task :ci do
768
803
  declare 'bundle exec appraisal contrib rake spec:resque'
769
804
  declare 'bundle exec appraisal contrib rake spec:rest_client'
770
805
  declare 'bundle exec appraisal contrib rake spec:rspec'
806
+ declare 'bundle exec appraisal contrib rake spec:semantic_logger'
771
807
  declare 'bundle exec appraisal contrib rake spec:sequel'
772
808
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
773
809
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -794,6 +830,9 @@ task :ci do
794
830
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
795
831
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
796
832
  declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
833
+ declare 'bundle exec appraisal rails5-semantic-logger rake spec:railssemanticlogger'
834
+ declare 'bundle exec appraisal rails6-semantic-logger rake spec:railssemanticlogger'
835
+ declare 'bundle exec appraisal rails61-semantic-logger rake spec:railssemanticlogger'
797
836
  # Rails specs
798
837
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
799
838
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
@@ -850,6 +889,8 @@ task :ci do
850
889
  declare 'bundle exec appraisal contrib rake spec:http'
851
890
  declare 'bundle exec appraisal contrib rake spec:httpclient'
852
891
  declare 'bundle exec appraisal contrib rake spec:httprb'
892
+ # lograge nested dependancy thor ~> 1.0 conflicts w/qless dependancy thor ~> 0.19.1
893
+ # declare 'bundle exec appraisal contrib rake spec:lograge'
853
894
  declare 'bundle exec appraisal contrib rake spec:kafka'
854
895
  declare 'bundle exec appraisal contrib rake spec:mongodb'
855
896
  declare 'bundle exec appraisal contrib rake spec:mysql2'
@@ -863,6 +904,7 @@ task :ci do
863
904
  declare 'bundle exec appraisal contrib rake spec:resque'
864
905
  declare 'bundle exec appraisal contrib rake spec:rest_client'
865
906
  declare 'bundle exec appraisal contrib rake spec:rspec'
907
+ declare 'bundle exec appraisal contrib rake spec:semantic_logger'
866
908
  declare 'bundle exec appraisal contrib rake spec:sequel'
867
909
  declare 'bundle exec appraisal contrib rake spec:shoryuken'
868
910
  declare 'bundle exec appraisal contrib rake spec:sidekiq'
@@ -880,6 +922,7 @@ task :ci do
880
922
  declare 'bundle exec appraisal rails61-postgres rake test:rails'
881
923
  declare 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
882
924
  declare 'bundle exec appraisal rails61-postgres-sidekiq rake spec:railsactivejob'
925
+ declare 'bundle exec appraisal rails61-semantic-logger rake spec:railssemanticlogger'
883
926
 
884
927
  # explicitly test resque-2x compatability
885
928
  declare 'bundle exec appraisal resque2-redis3 rake spec:resque'
@@ -936,4 +979,4 @@ namespace :changelog do
936
979
  end
937
980
  end
938
981
 
939
- task default: :test
982
+ task default: 'spec:main'
data/docker-compose.yml CHANGED
@@ -2,7 +2,7 @@ version: '3.2'
2
2
  services:
3
3
  # MRI
4
4
  tracer-2.1:
5
- image: palazzem/docker-library:ddtrace_rb_2_1_10
5
+ image: ivoanjo/docker-library:ddtrace_rb_2_1_10
6
6
  command: /bin/bash
7
7
  depends_on:
8
8
  - ddagent
@@ -32,7 +32,7 @@ services:
32
32
  - .:/app
33
33
  - bundle-2.1:/usr/local/bundle
34
34
  tracer-2.2:
35
- image: palazzem/docker-library:ddtrace_rb_2_2_10
35
+ image: ivoanjo/docker-library:ddtrace_rb_2_2_10
36
36
  command: /bin/bash
37
37
  depends_on:
38
38
  - ddagent
@@ -62,7 +62,7 @@ services:
62
62
  - .:/app
63
63
  - bundle-2.2:/usr/local/bundle
64
64
  tracer-2.3:
65
- image: palazzem/docker-library:ddtrace_rb_2_3_8
65
+ image: ivoanjo/docker-library:ddtrace_rb_2_3_8
66
66
  command: /bin/bash
67
67
  depends_on:
68
68
  - ddagent
@@ -92,7 +92,7 @@ services:
92
92
  - .:/app
93
93
  - bundle-2.3:/usr/local/bundle
94
94
  tracer-2.4:
95
- image: palazzem/docker-library:ddtrace_rb_2_4_6
95
+ image: ivoanjo/docker-library:ddtrace_rb_2_4_10
96
96
  command: /bin/bash
97
97
  depends_on:
98
98
  - ddagent
@@ -122,7 +122,7 @@ services:
122
122
  - .:/app
123
123
  - bundle-2.4:/usr/local/bundle
124
124
  tracer-2.5:
125
- image: marcotc/docker-library:ddtrace_rb_2_5_6
125
+ image: ivoanjo/docker-library:ddtrace_rb_2_5_9
126
126
  command: /bin/bash
127
127
  depends_on:
128
128
  - ddagent
@@ -152,7 +152,7 @@ services:
152
152
  - .:/app
153
153
  - bundle-2.5:/usr/local/bundle
154
154
  tracer-2.6:
155
- image: marcotc/docker-library:ddtrace_rb_2_6_4
155
+ image: ivoanjo/docker-library:ddtrace_rb_2_6_7
156
156
  command: /bin/bash
157
157
  depends_on:
158
158
  - ddagent
@@ -182,7 +182,7 @@ services:
182
182
  - .:/app
183
183
  - bundle-2.6:/usr/local/bundle
184
184
  tracer-2.7:
185
- image: marcotc/docker-library:ddtrace_rb_2_7_0
185
+ image: ivoanjo/docker-library:ddtrace_rb_2_7_3
186
186
  command: /bin/bash
187
187
  depends_on:
188
188
  - ddagent
@@ -212,7 +212,7 @@ services:
212
212
  - .:/app
213
213
  - bundle-2.7:/usr/local/bundle
214
214
  tracer-3.0:
215
- image: marcotc/docker-library:ddtrace_rb_3.0.0
215
+ image: ivoanjo/docker-library:ddtrace_rb_3_0_1
216
216
  command: /bin/bash
217
217
  depends_on:
218
218
  - ddagent
@@ -240,7 +240,7 @@ services:
240
240
  - bundle-3.0:/usr/local/bundle
241
241
  # JRuby
242
242
  tracer-jruby-9.2.0.0:
243
- image: marcotc/docker-library:ddtrace_rb_jruby_9_2_0_0
243
+ image: ivoanjo/docker-library:ddtrace_rb_jruby_9_2_0_0
244
244
  command: /bin/bash
245
245
  depends_on:
246
246
  - ddagent
@@ -270,7 +270,7 @@ services:
270
270
  - .:/app
271
271
  - bundle-jruby-9.2.0.0:/usr/local/bundle
272
272
  tracer-jruby-9.2-latest:
273
- image: marcotc/docker-library:ddtrace_rb_jruby_9_2_11_1
273
+ image: ivoanjo/docker-library:ddtrace_rb_jruby_9_2_18_0
274
274
  command: /bin/bash
275
275
  depends_on:
276
276
  - ddagent
@@ -86,6 +86,9 @@ To contribute, check out the [contribution guidelines][contribution docs] and [d
86
86
  - [For application runtime](#for-application-runtime)
87
87
  - [OpenTracing](#opentracing)
88
88
  - [Profiling](#profiling)
89
+ - [Known issues and suggested configurations](#known-issues-and-suggested-configurations)
90
+ - [Payload too large](#payload-too-large)
91
+ - [Stack level too deep](#stack-level-too-deep)
89
92
 
90
93
  ## Compatibility
91
94
 
@@ -2237,7 +2240,7 @@ In many cases, such as logging, it may be useful to correlate trace IDs to other
2237
2240
 
2238
2241
  ##### Automatic
2239
2242
 
2240
- For Rails applications using the default logger (`ActiveSupport::TaggedLogging`) or `lograge`, you can automatically enable trace correlation injection by setting the `rails` instrumentation configuration option `log_injection` to `true` or by setting environment variable `DD_LOGS_INJECTION=true`:
2243
+ For Rails applications using the default logger (`ActiveSupport::TaggedLogging`), `semantic_logger`, or `lograge`, you can automatically enable trace correlation injection by setting the `rails` instrumentation configuration option `log_injection` to `true` or by setting environment variable `DD_LOGS_INJECTION=true`:
2241
2244
 
2242
2245
  ```ruby
2243
2246
  # config/initializers/datadog.rb
@@ -2248,8 +2251,6 @@ Datadog.configure do |c|
2248
2251
  end
2249
2252
  ```
2250
2253
 
2251
- _Note:_ For `lograge` users who have also defined `lograge.custom_options` in an `initializers/lograge.rb` configuration file, due to the order that Rails loads initializers (alphabetical), automatic trace correlation may not take effect, since `initializers/datadog.rb` would be overwritten by the `initializers/lograge.rb` initializer. To support automatic trace correlation with _existing_ `lograge.custom_options`, use the [Manual (Lograge)](#manual-lograge) configuration below.
2252
-
2253
2254
  ##### Manual (Lograge)
2254
2255
 
2255
2256
  After [setting up Lograge in a Rails application](https://docs.datadoghq.com/logs/log_collection/ruby/), manually modify the `custom_options` block in your environment configuration file (e.g. `config/environments/production.rb`) to add the trace IDs.
@@ -2409,7 +2410,7 @@ The tracer and its integrations can produce some additional metrics that can pro
2409
2410
  To configure your application for metrics collection:
2410
2411
 
2411
2412
  1. [Configure your Datadog agent for StatsD](https://docs.datadoghq.com/developers/dogstatsd/#setup)
2412
- 2. Add `gem 'dogstatsd-ruby', '~> 4.0'` to your Gemfile (note that it is advised to pin v4.x [until this issue is solved](https://github.com/DataDog/dogstatsd-ruby/issues/182))
2413
+ 2. Add `gem 'dogstatsd-ruby', '~> 5.2'` to your Gemfile
2413
2414
 
2414
2415
  #### For application runtime
2415
2416
 
@@ -2495,3 +2496,33 @@ To get started with profiling, follow the [Profiler Getting Started Guide](https
2495
2496
  When profiling [Resque](https://github.com/resque/resque) jobs, you should set the `RUN_AT_EXIT_HOOKS=1` option described in the [Resque](https://github.com/resque/resque/blob/v2.0.0/docs/HOOKS.md#worker-hooks) documentation.
2496
2497
 
2497
2498
  Without this flag, profiles for short-lived Resque jobs will not be available as Resque kills worker processes before they have a chance to submit this information.
2499
+
2500
+ ## Known issues and suggested configurations
2501
+
2502
+ ### Payload too large
2503
+
2504
+ By default, Datadog limits the size of trace payloads to prevent memory overhead within instrumented applications. As a result, traces containing thousands of operations may not be sent to Datadog.
2505
+
2506
+ If traces are missing, enable [debug mode](#tracer-settings) to check if messages containing `"Dropping trace. Payload too large"` are logged.
2507
+
2508
+ Since debug mode is verbose, Datadog does not recommend leaving this enabled or enabling this in production. Disable it after confirming. You can inspect the [Datadog Agent logs](https://docs.datadoghq.com/agent/guide/agent-log-files/) for similar messages.
2509
+
2510
+ If you have confirmed that traces are dropped due to large payloads, then enable the [partial_flush](#tracer-settings) setting to break down large traces into smaller chunks.
2511
+
2512
+ ### Stack level too deep
2513
+
2514
+ Datadog tracing collects trace data by adding instrumentation into other common libraries (e.g. Rails, Rack, etc.) Some libraries provide APIs to add this instrumentation, but some do not. In order to add instrumentation into libraries lacking an instrumentation API, Datadog uses a technique called "monkey-patching" to modify the code of that library.
2515
+
2516
+ In Ruby version 1.9.3 and earlier, "monkey-patching" often involved the use of [`alias_method`](https://ruby-doc.org/core-3.0.0/Module.html#method-i-alias_method), also known as *method rewriting*, to destructively replace existing Ruby methods. However, this practice would often create conflicts & errors if two libraries attempted to "rewrite" the same method. (e.g. two different APM packages trying to instrument the same method.)
2517
+
2518
+ In Ruby 2.0, the [`Module#prepend`](https://ruby-doc.org/core-3.0.0/Module.html#method-i-prepend) feature was introduced. This feature avoids destructive method rewriting and allows multiple "monkey patches" on the same method. Consequently, it has become the safest, preferred means to "monkey patch" code.
2519
+
2520
+ Datadog instrumentation almost exclusively uses the `Module#prepend` feature to add instrumentation non-destructively. However, some libraries (typically those supporting Ruby < 2.0) still use `alias_method` which can create conflicts with Datadog instrumentation, often resulting in `SystemStackError` or `stack level too deep` errors.
2521
+
2522
+ As the implementation of `alias_method` exists within those libraries, Datadog generally cannot fix them. However, some libraries have known workarounds:
2523
+
2524
+ * `rack-mini-profiler`: [Net::HTTP stack level too deep errors](https://github.com/MiniProfiler/rack-mini-profiler#nethttp-stack-level-too-deep-errors).
2525
+
2526
+ For libraries without a known workaround, consider removing the library using `alias` or `Module#alias_method` or separating libraries into different environments for testing.
2527
+
2528
+ For any further questions or to report an occurence of this issue, please [reach out to Datadog support](https://docs.datadoghq.com/help)