ddtrace 0.50.0 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) 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 +63 -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/lograge/configuration/settings.rb +18 -0
  460. data/lib/ddtrace/contrib/lograge/ext.rb +10 -0
  461. data/lib/ddtrace/contrib/lograge/instrumentation.rb +38 -0
  462. data/lib/ddtrace/contrib/lograge/integration.rb +45 -0
  463. data/lib/ddtrace/contrib/lograge/patcher.rb +25 -0
  464. data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
  465. data/lib/ddtrace/contrib/rails/framework.rb +25 -1
  466. data/lib/ddtrace/contrib/rails/log_injection.rb +0 -40
  467. data/lib/ddtrace/contrib/rails/patcher.rb +11 -9
  468. data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +18 -0
  469. data/lib/ddtrace/contrib/semantic_logger/ext.rb +10 -0
  470. data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +42 -0
  471. data/lib/ddtrace/contrib/semantic_logger/integration.rb +47 -0
  472. data/lib/ddtrace/contrib/semantic_logger/patcher.rb +25 -0
  473. data/lib/ddtrace/correlation.rb +1 -1
  474. data/lib/ddtrace/diagnostics/environment_logger.rb +2 -2
  475. data/lib/ddtrace/ext/environment.rb +7 -0
  476. data/lib/ddtrace/ext/git.rb +9 -1
  477. data/lib/ddtrace/ext/runtime.rb +0 -9
  478. data/lib/ddtrace/metrics.rb +54 -28
  479. data/lib/ddtrace/profiling/ext/cpu.rb +16 -1
  480. data/lib/ddtrace/profiling/flush.rb +9 -9
  481. data/lib/ddtrace/profiling/transport/http.rb +7 -7
  482. data/lib/ddtrace/runtime/metrics.rb +18 -10
  483. data/lib/ddtrace/span.rb +17 -6
  484. data/lib/ddtrace/sync_writer.rb +2 -2
  485. data/lib/ddtrace/tracer.rb +4 -12
  486. data/lib/ddtrace/transport/http.rb +7 -7
  487. data/lib/ddtrace/version.rb +1 -1
  488. data/lib/ddtrace/workers/trace_writer.rb +1 -1
  489. data/lib/ddtrace/writer.rb +2 -2
  490. data/tasks/update_appraisal_gemfiles.rake +36 -0
  491. metadata +301 -242
  492. data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile.lock +0 -276
  493. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile +0 -42
  494. data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile.lock +0 -276
  495. data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile.lock +0 -295
  496. data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile.lock +0 -295
  497. data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile.lock +0 -297
  498. data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile.lock +0 -292
  499. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile +0 -42
  500. data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile.lock +0 -292
  501. data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile.lock +0 -190
  502. data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile.lock +0 -190
  503. data/lib/ddtrace/environment.rb +0 -41
  504. data/lib/ddtrace/runtime/cgroup.rb +0 -44
  505. data/lib/ddtrace/runtime/class_count.rb +0 -17
  506. data/lib/ddtrace/runtime/container.rb +0 -87
  507. data/lib/ddtrace/runtime/gc.rb +0 -16
  508. data/lib/ddtrace/runtime/identity.rb +0 -48
  509. data/lib/ddtrace/runtime/object_space.rb +0 -19
  510. data/lib/ddtrace/runtime/socket.rb +0 -14
  511. data/lib/ddtrace/runtime/thread_count.rb +0 -16
@@ -1,4 +1,4 @@
1
- require 'ddtrace/environment'
1
+ require 'datadog/core/environment/variable_helpers'
2
2
  require 'ddtrace/configuration/options'
3
3
 
4
4
  module Datadog
@@ -6,8 +6,8 @@ module Datadog
6
6
  # Basic configuration behavior
7
7
  module Base
8
8
  def self.included(base)
9
- base.extend(Datadog::Environment::Helpers)
10
- base.include(Datadog::Environment::Helpers)
9
+ base.extend(Datadog::Core::Environment::VariableHelpers)
10
+ base.include(Datadog::Core::Environment::VariableHelpers)
11
11
  base.include(Options)
12
12
 
13
13
  base.extend(ClassMethods)
@@ -19,7 +19,7 @@ module Datadog
19
19
  options = { enabled: settings.enabled }
20
20
  options[:statsd] = settings.statsd unless settings.statsd.nil?
21
21
 
22
- Datadog::Diagnostics::Health::Metrics.new(options)
22
+ Datadog::Diagnostics::Health::Metrics.new(**options)
23
23
  end
24
24
 
25
25
  def build_logger(settings)
@@ -34,7 +34,7 @@ module Datadog
34
34
  options[:statsd] = settings.runtime_metrics.statsd unless settings.runtime_metrics.statsd.nil?
35
35
  options[:services] = [settings.service] unless settings.service.nil?
36
36
 
37
- Datadog::Runtime::Metrics.new(options)
37
+ Datadog::Runtime::Metrics.new(**options)
38
38
  end
39
39
 
40
40
  def build_runtime_metrics_worker(settings)
@@ -73,6 +73,35 @@ module Datadog
73
73
  def build_profiler(settings, agent_settings)
74
74
  return unless Datadog::Profiling.supported? && settings.profiling.enabled
75
75
 
76
+ unless defined?(Datadog::Profiling::Tasks::Setup)
77
+ # In #1545 a user reported a NameError due to this constant being uninitialized
78
+ # I've documented my suspicion on why that happened in
79
+ # https://github.com/DataDog/dd-trace-rb/issues/1545#issuecomment-856049025
80
+ #
81
+ # > Thanks for the info! It seems to feed into my theory: there's two moments in the code where we check if
82
+ # > profiler is "supported": 1) when loading ddtrace (inside preload) and 2) when starting the profile
83
+ # > after Datadog.configure gets run.
84
+ # > The problem is that the code assumes that both checks 1) and 2) will always reach the same conclusion:
85
+ # > either profiler is supported, or profiler is not supported.
86
+ # > In the problematic case, it looks like in your case check 1 decides that profiler is not
87
+ # > supported => doesn't load it, and then check 2 decides that it is => assumes it is loaded and tries to
88
+ # > start it.
89
+ #
90
+ # I was never able to validate if this was the issue or why exactly .supported? would change its mind BUT
91
+ # just in case it happens again, I've left this check which avoids breaking the user's application AND
92
+ # would instead direct them to report it to us instead, so that we can investigate what's wrong.
93
+ #
94
+ # TODO: As of June 2021, most checks in .supported? are related to the google-protobuf gem; so it's
95
+ # very likely that it was the origin of the issue we saw. Thus, if, as planned we end up moving away from
96
+ # protobuf OR enough time has passed and no users saw the issue again, we can remove this check altogether.
97
+ Datadog.logger.error(
98
+ 'Profiling was marked as supported and enabled, but setup task was not loaded properly. ' \
99
+ 'Please report this at https://github.com/DataDog/dd-trace-rb/blob/master/CONTRIBUTING.md#found-a-bug'
100
+ )
101
+
102
+ return
103
+ end
104
+
76
105
  # Load extensions needed to support some of the Profiling features
77
106
  Datadog::Profiling::Tasks::Setup.new.run
78
107
 
@@ -90,8 +119,8 @@ module Datadog
90
119
 
91
120
  def build_tracer_tags(settings)
92
121
  settings.tags.dup.tap do |tags|
93
- tags['env'] = settings.env unless settings.env.nil?
94
- tags['version'] = settings.version unless settings.version.nil?
122
+ tags[Ext::Environment::TAG_ENV] = settings.env unless settings.env.nil?
123
+ tags[Ext::Environment::TAG_VERSION] = settings.version unless settings.version.nil?
95
124
  end
96
125
  end
97
126
 
@@ -3,8 +3,8 @@ require 'ddtrace/configuration/base'
3
3
 
4
4
  require 'ddtrace/ext/analytics'
5
5
  require 'ddtrace/ext/distributed'
6
+ require 'ddtrace/ext/environment'
6
7
  require 'ddtrace/ext/profiling'
7
- require 'ddtrace/ext/runtime'
8
8
  require 'ddtrace/ext/sampling'
9
9
  require 'ddtrace/ext/test'
10
10
 
@@ -226,8 +226,16 @@ module Datadog
226
226
 
227
227
  option :service do |o|
228
228
  # NOTE: service also gets set as a side effect of tags. See the WORKAROUND note in #initialize for details.
229
- o.default { ENV.fetch(Ext::Environment::ENV_SERVICE, nil) }
229
+ o.default { ENV.fetch(Ext::Environment::ENV_SERVICE, Ext::Environment::FALLBACK_SERVICE_NAME) }
230
230
  o.lazy
231
+
232
+ # There's a few cases where we don't want to use the fallback service name, so this helper allows us to get a
233
+ # nil instead so that one can do
234
+ # nice_service_name = Datadog.configure.service_without_fallback || nice_service_name_default
235
+ o.helper(:service_without_fallback) do
236
+ service_name = service
237
+ service_name unless service_name.equal?(Ext::Environment::FALLBACK_SERVICE_NAME)
238
+ end
231
239
  end
232
240
 
233
241
  option :site do |o|
@@ -264,7 +272,7 @@ module Datadog
264
272
  self.version = string_tags[Ext::Environment::TAG_VERSION]
265
273
  end
266
274
 
267
- if service.nil? && string_tags.key?(Ext::Environment::TAG_SERVICE)
275
+ if service_without_fallback.nil? && string_tags.key?(Ext::Environment::TAG_SERVICE)
268
276
  self.service = string_tags[Ext::Environment::TAG_SERVICE]
269
277
  end
270
278
 
@@ -1,4 +1,4 @@
1
- require 'ddtrace/ext/runtime'
1
+ require 'datadog/core/environment/ext'
2
2
 
3
3
  module Datadog
4
4
  module Contrib
@@ -54,7 +54,7 @@ module Datadog
54
54
 
55
55
  # DEV: JRuby responds to {ObjectSpace._id2ref}, despite raising an error
56
56
  # DEV: when invoked. Thus, we have to explicitly check for Ruby runtime.
57
- if Datadog::Ext::Runtime::RUBY_ENGINE != 'jruby'
57
+ if Datadog::Core::Environment::Ext::RUBY_ENGINE != 'jruby'
58
58
  # CRuby has access to {ObjectSpace._id2ref}, which allows for
59
59
  # direct look up of the connection object.
60
60
  def self.connection_from_id(connection_id)
@@ -0,0 +1,18 @@
1
+ require 'ddtrace/contrib/configuration/settings'
2
+ require 'ddtrace/contrib/lograge/ext'
3
+
4
+ module Datadog
5
+ module Contrib
6
+ module Lograge
7
+ module Configuration
8
+ # Custom settings for the Lograge integration
9
+ class Settings < Contrib::Configuration::Settings
10
+ option :enabled do |o|
11
+ o.default { env_to_bool(Ext::ENV_ENABLED, true) }
12
+ o.lazy
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,10 @@
1
+ module Datadog
2
+ module Contrib
3
+ module Lograge
4
+ # Lograge integration constants
5
+ module Ext
6
+ ENV_ENABLED = 'DD_TRACE_LOGRAGE_ENABLED'.freeze
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,38 @@
1
+ module Datadog
2
+ module Contrib
3
+ module Lograge
4
+ # Instrumentation for Lograge
5
+ module Instrumentation
6
+ def self.included(base)
7
+ base.prepend(InstanceMethods)
8
+ end
9
+
10
+ # Instance methods for configuration
11
+ module InstanceMethods
12
+ def custom_options(event)
13
+ original_custom_options = super(event)
14
+
15
+ # Retrieves trace information for current thread
16
+ correlation = Datadog.tracer.active_correlation
17
+ # merge original lambda with datadog context
18
+
19
+ datadog_trace_log_hash = {
20
+ # Adds IDs as tags to log output
21
+ dd: {
22
+ # To preserve precision during JSON serialization, use strings for large numbers
23
+ trace_id: correlation.trace_id.to_s,
24
+ span_id: correlation.span_id.to_s,
25
+ env: correlation.env.to_s,
26
+ service: correlation.service.to_s,
27
+ version: correlation.version.to_s
28
+ },
29
+ ddsource: ['ruby']
30
+ }
31
+
32
+ datadog_trace_log_hash.merge(original_custom_options)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,45 @@
1
+ require 'ddtrace/contrib/integration'
2
+ require 'ddtrace/contrib/lograge/configuration/settings'
3
+ require 'ddtrace/contrib/lograge/patcher'
4
+
5
+ module Datadog
6
+ module Contrib
7
+ module Lograge
8
+ # Description of Lograge integration
9
+ class Integration
10
+ include Contrib::Integration
11
+
12
+ MINIMUM_VERSION = Gem::Version.new('0.11.0')
13
+
14
+ register_as :lograge
15
+
16
+ def self.version
17
+ Gem.loaded_specs['lograge'] && Gem.loaded_specs['lograge'].version
18
+ end
19
+
20
+ def self.loaded?
21
+ !defined?(::Lograge::LogSubscribers::Base).nil?
22
+ end
23
+
24
+ def self.compatible?
25
+ super && version >= MINIMUM_VERSION
26
+ end
27
+
28
+ # enabled by rails integration and has a hard dependancy on rails
29
+ # so can safely say this shouldn't ever be part of auto instrumentation
30
+ # https://github.com/roidrage/lograge/blob/1729eab7956bb95c5992e4adab251e4f93ff9280/lograge.gemspec#L18-L20
31
+ def auto_instrument?
32
+ false
33
+ end
34
+
35
+ def default_configuration
36
+ Configuration::Settings.new
37
+ end
38
+
39
+ def patcher
40
+ Patcher
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,25 @@
1
+ require 'ddtrace/contrib/patcher'
2
+ require 'ddtrace/contrib/lograge/instrumentation'
3
+
4
+ module Datadog
5
+ module Contrib
6
+ # Datadog Lograge integration.
7
+ module Lograge
8
+ # Patcher enables patching of 'lograge' module.
9
+ module Patcher
10
+ include Contrib::Patcher
11
+
12
+ module_function
13
+
14
+ def target_version
15
+ Integration.version
16
+ end
17
+
18
+ # patch applies our patch
19
+ def patch
20
+ ::Lograge::LogSubscribers::Base.include(Instrumentation)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -4,7 +4,7 @@ require 'ddtrace/propagation/http_propagator'
4
4
  require 'ddtrace/contrib/analytics'
5
5
  require 'ddtrace/contrib/rack/ext'
6
6
  require 'ddtrace/contrib/rack/request_queue'
7
- require 'ddtrace/environment'
7
+ require 'datadog/core/environment/variable_helpers'
8
8
  require 'date'
9
9
 
10
10
  module Datadog
@@ -7,6 +7,8 @@ require 'ddtrace/contrib/action_cable/integration'
7
7
  require 'ddtrace/contrib/action_pack/integration'
8
8
  require 'ddtrace/contrib/action_view/integration'
9
9
  require 'ddtrace/contrib/grape/endpoint'
10
+ require 'ddtrace/contrib/lograge/integration'
11
+ require 'ddtrace/contrib/semantic_logger/integration'
10
12
 
11
13
  require 'ddtrace/contrib/rails/ext'
12
14
  require 'ddtrace/contrib/rails/utils'
@@ -46,6 +48,8 @@ module Datadog
46
48
  activate_action_pack!(datadog_config, rails_config)
47
49
  activate_action_view!(datadog_config, rails_config)
48
50
  activate_active_record!(datadog_config, rails_config)
51
+ activate_lograge!(datadog_config, rails_config)
52
+ activate_semantic_logger!(datadog_config, rails_config)
49
53
  end
50
54
  end
51
55
 
@@ -53,7 +57,7 @@ module Datadog
53
57
  # We set defaults here instead of in the patcher because we need to wait
54
58
  # for the Rails application to be fully initialized.
55
59
  datadog_config[:rails].tap do |config|
56
- config[:service_name] ||= (Datadog.configuration.service || Utils.app_name)
60
+ config[:service_name] ||= (Datadog.configure.service_without_fallback || Utils.app_name)
57
61
  config[:database_service] ||= "#{config[:service_name]}-#{Contrib::ActiveRecord::Utils.adapter_name}"
58
62
  config[:controller_service] ||= config[:service_name]
59
63
  config[:cache_service] ||= "#{config[:service_name]}-cache"
@@ -118,6 +122,26 @@ module Datadog
118
122
  service_name: rails_config[:database_service]
119
123
  )
120
124
  end
125
+
126
+ def self.activate_lograge!(datadog_config, rails_config)
127
+ return unless defined?(::Lograge)
128
+
129
+ if rails_config[:log_injection]
130
+ datadog_config.use(
131
+ :lograge
132
+ )
133
+ end
134
+ end
135
+
136
+ def self.activate_semantic_logger!(datadog_config, rails_config)
137
+ return unless defined?(::SemanticLogger)
138
+
139
+ if rails_config[:log_injection]
140
+ datadog_config.use(
141
+ :semantic_logger
142
+ )
143
+ end
144
+ end
121
145
  end
122
146
  end
123
147
  end
@@ -6,46 +6,6 @@ module Datadog
6
6
  module LogInjection
7
7
  module_function
8
8
 
9
- def add_lograge_logger(app)
10
- # custom_options defaults to nil and can be either a hash or a lambda which returns a hash
11
- # https://github.com/roidrage/lograge/blob/1729eab7956bb95c5992e4adab251e4f93ff9280/lib/lograge.rb#L28
12
- if (custom_options = app.config.lograge.custom_options).nil?
13
- # if it's not set, we set to a lambda that returns DD tracing context
14
- app.config.lograge.custom_options = lambda do |_event|
15
- # Retrieves trace information for current thread
16
- correlation = Datadog.tracer.active_correlation
17
-
18
- datadog_trace_log_hash(correlation)
19
- end
20
- # check if lambda, if so then define a new lambda which invokes the original lambda and
21
- # merges the returned hash with the the DD tracing context hash.
22
- elsif custom_options.respond_to?(:call)
23
- app.config.lograge.custom_options = lambda do |event|
24
- # invoke original lambda
25
- result = custom_options.call(event)
26
- # Retrieves trace information for current thread
27
- correlation = Datadog.tracer.active_correlation
28
- # merge original lambda with datadog context
29
- result.merge(datadog_trace_log_hash(correlation))
30
- end
31
- # otherwise if it's just a static hash, we have to wrap that hash in a lambda to retrieve
32
- # the DD tracing context, then merge the tracing context with the original static hash.
33
- # don't modify if custom_options is not an accepted format.
34
- elsif custom_options.is_a?(Hash)
35
- app.config.lograge.custom_options = lambda do |_event|
36
- # Retrieves trace information for current thread
37
- correlation = Datadog.tracer.active_correlation
38
-
39
- # merge original lambda with datadog context
40
- custom_options.merge(datadog_trace_log_hash(correlation))
41
- end
42
- end
43
- rescue StandardError => e
44
- # TODO: can we use Datadog.logger at this point?
45
- Datadog.logger.warn("Unable to add Datadog Trace context to Lograge: #{e.message}")
46
- false
47
- end
48
-
49
9
  def add_as_tagged_logging_logger(app)
50
10
  # we want to check if the current logger is a tagger logger instance
51
11
  # log_tags defaults to nil so we have to set as an array if nothing exists yet
@@ -3,6 +3,7 @@ require 'ddtrace/contrib/rails/framework'
3
3
  require 'ddtrace/contrib/rails/middlewares'
4
4
  require 'ddtrace/contrib/rails/log_injection'
5
5
  require 'ddtrace/contrib/rack/middlewares'
6
+ require 'ddtrace/contrib/semantic_logger/patcher'
6
7
  require 'ddtrace/utils/only_once'
7
8
 
8
9
  module Datadog
@@ -60,15 +61,16 @@ module Datadog
60
61
  should_warn = true
61
62
  # check if lograge key exists
62
63
  # Note: Rails executes initializers sequentially based on alphabetical order,
63
- # and lograge config could occur after dd config.
64
- # Checking for `app.config.lograge.enabled` may yield a false negative.
65
- # Instead we should naively add custom options if `config.lograge` exists from the lograge Railtie,
66
- # since the custom options get ignored without lograge explicitly being enabled.
67
- # See: https://github.com/roidrage/lograge/blob/1729eab7956bb95c5992e4adab251e4f93ff9280/lib/lograge/railtie.rb#L7-L12
68
- if app.config.respond_to?(:lograge)
69
- Datadog::Contrib::Rails::LogInjection.add_lograge_logger(app)
70
- should_warn = false
71
- end
64
+ # and lograge config could occur after datadog config.
65
+ # So checking for `app.config.lograge.enabled` may yield a false negative,
66
+ # and adding custom options naively if `config.lograge` exists from the lograge Railtie,
67
+ # is inconsistent since a lograge initializer would override it.
68
+ # Instead, we patch Lograge `custom_options` internals directly
69
+ # as part of Rails framework patching
70
+ # and just flag off the warning log here.
71
+ # SemanticLogger we similarly patch in the after_initiaize block, and should flag
72
+ # off the warning log here if we know we'll patch this gem later.
73
+ should_warn = false if app.config.respond_to?(:lograge) || defined?(::SemanticLogger)
72
74
 
73
75
  # if lograge isn't set, check if tagged logged is enabled.
74
76
  # if so, add proc that injects trace identifiers for tagged logging.
@@ -0,0 +1,18 @@
1
+ require 'ddtrace/contrib/configuration/settings'
2
+ require 'ddtrace/contrib/semantic_logger/ext'
3
+
4
+ module Datadog
5
+ module Contrib
6
+ module SemanticLogger
7
+ module Configuration
8
+ # Custom settings for the SemanticLogger integration
9
+ class Settings < Contrib::Configuration::Settings
10
+ option :enabled do |o|
11
+ o.default { env_to_bool(Ext::ENV_ENABLED, true) }
12
+ o.lazy
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,10 @@
1
+ module Datadog
2
+ module Contrib
3
+ module SemanticLogger
4
+ # SemanticLogger integration constants
5
+ module Ext
6
+ ENV_ENABLED = 'DD_TRACE_SEMANTIC_LOGGER_ENABLED'.freeze
7
+ end
8
+ end
9
+ end
10
+ end