ddtrace 0.50.0 → 0.51.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +32 -33
- data/.circleci/images/primary/Dockerfile-2.1.10 +1 -1
- data/.circleci/images/primary/Dockerfile-2.2.10 +1 -1
- data/.circleci/images/primary/Dockerfile-2.3.8 +4 -2
- data/.circleci/images/primary/{Dockerfile-2.6.4 → Dockerfile-2.4.10} +5 -3
- data/.circleci/images/primary/{Dockerfile-2.4.6 → Dockerfile-2.5.9} +3 -3
- data/.circleci/images/primary/{Dockerfile-2.5.6 → Dockerfile-2.6.7} +3 -3
- data/.circleci/images/primary/{Dockerfile-2.7.0 → Dockerfile-2.7.3} +3 -3
- data/.circleci/images/primary/{Dockerfile-3.0.0 → Dockerfile-3.0.1} +3 -3
- data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +3 -3
- data/.circleci/images/primary/Dockerfile-jruby-9.2.0.0 +1 -1
- data/.circleci/images/primary/Dockerfile-truffleruby-21.1.0 +1 -1
- data/.dd-ci/ci-app-spec.json +31 -0
- data/.gitattributes +1 -0
- data/.github/workflows/test-head.yaml +34 -0
- data/.rubocop_todo.yml +0 -1
- data/Appraisals +195 -75
- data/CHANGELOG.md +63 -0
- data/Gemfile +6 -3
- data/Rakefile +45 -2
- data/docker-compose.yml +10 -10
- data/docs/GettingStarted.md +35 -4
- data/gemfiles/jruby_9.2.0.0_contrib.gemfile +4 -1
- data/gemfiles/jruby_9.2.0.0_contrib.gemfile.lock +222 -169
- data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_contrib_old.gemfile.lock +19 -17
- data/gemfiles/jruby_9.2.0.0_core_old.gemfile +2 -1
- data/gemfiles/jruby_9.2.0.0_core_old.gemfile.lock +17 -15
- data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_cucumber3.gemfile.lock +19 -17
- data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_cucumber4.gemfile.lock +20 -18
- data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_cucumber5.gemfile.lock +20 -18
- data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails5_mysql2.gemfile.lock +59 -57
- data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails5_postgres.gemfile.lock +59 -57
- data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis.gemfile.lock +60 -58
- data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails5_postgres_redis_activesupport.gemfile.lock +60 -58
- data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails5_postgres_sidekiq.gemfile.lock +60 -58
- data/gemfiles/jruby_9.2.0.0_rails5_semantic_logger.gemfile +41 -0
- data/gemfiles/jruby_9.2.0.0_rails5_semantic_logger.gemfile.lock +272 -0
- data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_rails61_mysql2.gemfile.lock +78 -76
- data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_rails61_postgres.gemfile.lock +78 -76
- data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_rails61_postgres_redis.gemfile.lock +79 -77
- data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_rails61_postgres_sidekiq.gemfile.lock +79 -77
- data/gemfiles/jruby_9.2.0.0_rails61_semantic_logger.gemfile +41 -0
- data/gemfiles/jruby_9.2.0.0_rails61_semantic_logger.gemfile.lock +291 -0
- data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails6_mysql2.gemfile.lock +73 -71
- data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails6_postgres.gemfile.lock +73 -71
- data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis.gemfile.lock +74 -72
- data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails6_postgres_redis_activesupport.gemfile.lock +74 -72
- data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile +4 -3
- data/gemfiles/jruby_9.2.0.0_rails6_postgres_sidekiq.gemfile.lock +74 -72
- data/gemfiles/jruby_9.2.0.0_rails6_semantic_logger.gemfile +41 -0
- data/gemfiles/jruby_9.2.0.0_rails6_semantic_logger.gemfile.lock +288 -0
- data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_resque2_redis3.gemfile.lock +19 -17
- data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile +3 -2
- data/gemfiles/jruby_9.2.0.0_resque2_redis4.gemfile.lock +20 -18
- data/gemfiles/{jruby_9.2.11.1_contrib.gemfile → jruby_9.2.18.0_contrib.gemfile} +4 -1
- data/gemfiles/{jruby_9.2.11.1_contrib.gemfile.lock → jruby_9.2.18.0_contrib.gemfile.lock} +223 -170
- data/gemfiles/{jruby_9.2.11.1_contrib_old.gemfile → jruby_9.2.18.0_contrib_old.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_contrib_old.gemfile.lock → jruby_9.2.18.0_contrib_old.gemfile.lock} +20 -18
- data/gemfiles/{jruby_9.2.11.1_core_old.gemfile → jruby_9.2.18.0_core_old.gemfile} +2 -1
- data/gemfiles/{jruby_9.2.11.1_core_old.gemfile.lock → jruby_9.2.18.0_core_old.gemfile.lock} +18 -16
- data/gemfiles/{jruby_9.2.11.1_cucumber3.gemfile → jruby_9.2.18.0_cucumber3.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_cucumber3.gemfile.lock → jruby_9.2.18.0_cucumber3.gemfile.lock} +20 -18
- data/gemfiles/{jruby_9.2.11.1_cucumber4.gemfile → jruby_9.2.18.0_cucumber4.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_cucumber4.gemfile.lock → jruby_9.2.18.0_cucumber4.gemfile.lock} +21 -19
- data/gemfiles/{jruby_9.2.11.1_cucumber5.gemfile → jruby_9.2.18.0_cucumber5.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_cucumber5.gemfile.lock → jruby_9.2.18.0_cucumber5.gemfile.lock} +21 -19
- data/gemfiles/{jruby_9.2.11.1_rails5_mysql2.gemfile → jruby_9.2.18.0_rails5_mysql2.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails5_mysql2.gemfile.lock → jruby_9.2.18.0_rails5_mysql2.gemfile.lock} +60 -58
- data/gemfiles/{jruby_9.2.11.1_rails5_postgres.gemfile → jruby_9.2.18.0_rails5_postgres.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile.lock → jruby_9.2.18.0_rails5_postgres.gemfile.lock} +60 -60
- data/gemfiles/{jruby_9.2.11.1_rails5_postgres_redis.gemfile → jruby_9.2.18.0_rails5_postgres_redis.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails5_postgres_redis.gemfile.lock → jruby_9.2.18.0_rails5_postgres_redis.gemfile.lock} +61 -59
- data/gemfiles/{jruby_9.2.11.1_rails5_postgres_redis_activesupport.gemfile → jruby_9.2.18.0_rails5_postgres_redis_activesupport.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails5_postgres.gemfile.lock → jruby_9.2.18.0_rails5_postgres_redis_activesupport.gemfile.lock} +62 -58
- data/gemfiles/{jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile → jruby_9.2.18.0_rails5_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails5_postgres_sidekiq.gemfile.lock → jruby_9.2.18.0_rails5_postgres_sidekiq.gemfile.lock} +61 -59
- data/gemfiles/jruby_9.2.18.0_rails5_semantic_logger.gemfile +41 -0
- data/gemfiles/jruby_9.2.18.0_rails5_semantic_logger.gemfile.lock +272 -0
- data/gemfiles/{jruby_9.2.11.1_rails61_mysql2.gemfile → jruby_9.2.18.0_rails61_mysql2.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_rails61_mysql2.gemfile.lock → jruby_9.2.18.0_rails61_mysql2.gemfile.lock} +79 -77
- data/gemfiles/{jruby_9.2.11.1_rails61_postgres.gemfile → jruby_9.2.18.0_rails61_postgres.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_rails61_postgres.gemfile.lock → jruby_9.2.18.0_rails61_postgres.gemfile.lock} +79 -77
- data/gemfiles/{jruby_9.2.11.1_rails61_postgres_redis.gemfile → jruby_9.2.18.0_rails61_postgres_redis.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_rails61_postgres_redis.gemfile.lock → jruby_9.2.18.0_rails61_postgres_redis.gemfile.lock} +80 -78
- data/gemfiles/{jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile → jruby_9.2.18.0_rails61_postgres_sidekiq.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_rails61_postgres_sidekiq.gemfile.lock → jruby_9.2.18.0_rails61_postgres_sidekiq.gemfile.lock} +80 -78
- data/gemfiles/jruby_9.2.18.0_rails61_semantic_logger.gemfile +41 -0
- data/gemfiles/jruby_9.2.18.0_rails61_semantic_logger.gemfile.lock +291 -0
- data/gemfiles/{jruby_9.2.11.1_rails6_mysql2.gemfile → jruby_9.2.18.0_rails6_mysql2.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails6_mysql2.gemfile.lock → jruby_9.2.18.0_rails6_mysql2.gemfile.lock} +74 -72
- data/gemfiles/{jruby_9.2.11.1_rails6_postgres.gemfile → jruby_9.2.18.0_rails6_postgres.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails6_postgres.gemfile.lock → jruby_9.2.18.0_rails6_postgres.gemfile.lock} +74 -72
- data/gemfiles/{jruby_9.2.11.1_rails6_postgres_redis.gemfile → jruby_9.2.18.0_rails6_postgres_redis.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails6_postgres_redis.gemfile.lock → jruby_9.2.18.0_rails6_postgres_redis.gemfile.lock} +75 -73
- data/gemfiles/{jruby_9.2.11.1_rails6_postgres_redis_activesupport.gemfile → jruby_9.2.18.0_rails6_postgres_redis_activesupport.gemfile} +4 -3
- 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
- data/gemfiles/{jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile → jruby_9.2.18.0_rails6_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{jruby_9.2.11.1_rails6_postgres_sidekiq.gemfile.lock → jruby_9.2.18.0_rails6_postgres_sidekiq.gemfile.lock} +75 -73
- data/gemfiles/jruby_9.2.18.0_rails6_semantic_logger.gemfile +41 -0
- data/gemfiles/jruby_9.2.18.0_rails6_semantic_logger.gemfile.lock +288 -0
- data/gemfiles/{jruby_9.2.11.1_resque2_redis3.gemfile → jruby_9.2.18.0_resque2_redis3.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_resque2_redis3.gemfile.lock → jruby_9.2.18.0_resque2_redis3.gemfile.lock} +20 -18
- data/gemfiles/{jruby_9.2.11.1_resque2_redis4.gemfile → jruby_9.2.18.0_resque2_redis4.gemfile} +3 -2
- data/gemfiles/{jruby_9.2.11.1_resque2_redis4.gemfile.lock → jruby_9.2.18.0_resque2_redis4.gemfile.lock} +21 -19
- data/gemfiles/ruby_2.1.10_contrib_old.gemfile +3 -1
- data/gemfiles/ruby_2.1.10_contrib_old.gemfile.lock +14 -9
- data/gemfiles/ruby_2.1.10_core_old.gemfile +2 -1
- data/gemfiles/ruby_2.1.10_core_old.gemfile.lock +6 -4
- data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile +3 -3
- data/gemfiles/ruby_2.1.10_rails30_postgres.gemfile.lock +9 -12
- data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile +3 -3
- data/gemfiles/ruby_2.1.10_rails30_postgres_sidekiq.gemfile.lock +9 -12
- data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile +3 -3
- data/gemfiles/ruby_2.1.10_rails32_mysql2.gemfile.lock +9 -12
- data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile +3 -3
- data/gemfiles/ruby_2.1.10_rails32_postgres.gemfile.lock +9 -12
- data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile +3 -3
- data/gemfiles/ruby_2.1.10_rails32_postgres_redis.gemfile.lock +9 -12
- data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile +3 -3
- data/gemfiles/ruby_2.1.10_rails32_postgres_sidekiq.gemfile.lock +9 -12
- data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile +4 -3
- data/gemfiles/ruby_2.1.10_rails4_mysql2.gemfile.lock +10 -8
- data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile +4 -3
- data/gemfiles/ruby_2.1.10_rails4_postgres.gemfile.lock +10 -8
- data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile +4 -3
- data/gemfiles/ruby_2.1.10_rails4_postgres_redis.gemfile.lock +11 -9
- data/gemfiles/ruby_2.1.10_rails4_semantic_logger.gemfile +39 -0
- data/gemfiles/ruby_2.1.10_rails4_semantic_logger.gemfile.lock +218 -0
- data/gemfiles/ruby_2.2.10_contrib.gemfile +4 -1
- data/gemfiles/ruby_2.2.10_contrib.gemfile.lock +188 -139
- data/gemfiles/ruby_2.2.10_core_old.gemfile +2 -1
- data/gemfiles/ruby_2.2.10_core_old.gemfile.lock +7 -5
- data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile +3 -3
- data/gemfiles/ruby_2.2.10_rails30_postgres.gemfile.lock +10 -13
- data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile +3 -3
- data/gemfiles/ruby_2.2.10_rails30_postgres_sidekiq.gemfile.lock +10 -13
- data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile +3 -3
- data/gemfiles/ruby_2.2.10_rails32_mysql2.gemfile.lock +10 -13
- data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile +3 -3
- data/gemfiles/ruby_2.2.10_rails32_postgres.gemfile.lock +10 -13
- data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile +3 -3
- data/gemfiles/ruby_2.2.10_rails32_postgres_redis.gemfile.lock +10 -13
- data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile +3 -3
- data/gemfiles/ruby_2.2.10_rails32_postgres_sidekiq.gemfile.lock +10 -13
- data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails4_mysql2.gemfile.lock +11 -9
- data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails4_postgres.gemfile.lock +11 -9
- data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails4_postgres_redis.gemfile.lock +12 -10
- data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails4_postgres_sidekiq.gemfile.lock +11 -9
- data/gemfiles/ruby_2.2.10_rails4_semantic_logger.gemfile +39 -0
- data/gemfiles/ruby_2.2.10_rails4_semantic_logger.gemfile.lock +218 -0
- data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails5_mysql2.gemfile.lock +12 -10
- data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails5_postgres.gemfile.lock +12 -10
- data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails5_postgres_redis.gemfile.lock +12 -10
- data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails5_postgres_redis_activesupport.gemfile.lock +12 -10
- data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile +4 -3
- data/gemfiles/ruby_2.2.10_rails5_postgres_sidekiq.gemfile.lock +12 -10
- data/gemfiles/ruby_2.2.10_rails5_semantic_logger.gemfile +39 -0
- data/gemfiles/ruby_2.2.10_rails5_semantic_logger.gemfile.lock +234 -0
- data/gemfiles/ruby_2.3.8_contrib.gemfile +4 -2
- data/gemfiles/ruby_2.3.8_contrib.gemfile.lock +197 -148
- data/gemfiles/ruby_2.3.8_contrib_old.gemfile +3 -3
- data/gemfiles/ruby_2.3.8_contrib_old.gemfile.lock +10 -14
- data/gemfiles/ruby_2.3.8_core_old.gemfile +2 -2
- data/gemfiles/ruby_2.3.8_core_old.gemfile.lock +8 -12
- data/gemfiles/ruby_2.3.8_cucumber3.gemfile +3 -3
- data/gemfiles/ruby_2.3.8_cucumber3.gemfile.lock +10 -14
- data/gemfiles/ruby_2.3.8_cucumber4.gemfile +3 -3
- data/gemfiles/ruby_2.3.8_cucumber4.gemfile.lock +11 -15
- data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile +3 -4
- data/gemfiles/ruby_2.3.8_rails30_postgres.gemfile.lock +11 -20
- data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile +3 -4
- data/gemfiles/ruby_2.3.8_rails30_postgres_sidekiq.gemfile.lock +11 -20
- data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile +3 -4
- data/gemfiles/ruby_2.3.8_rails32_mysql2.gemfile.lock +11 -20
- data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile +3 -4
- data/gemfiles/ruby_2.3.8_rails32_postgres.gemfile.lock +11 -20
- data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile +3 -4
- data/gemfiles/ruby_2.3.8_rails32_postgres_redis.gemfile.lock +11 -20
- data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile +3 -4
- data/gemfiles/ruby_2.3.8_rails32_postgres_sidekiq.gemfile.lock +11 -20
- data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails4_mysql2.gemfile.lock +12 -16
- data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails4_postgres.gemfile.lock +12 -16
- data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails4_postgres_redis.gemfile.lock +13 -17
- data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails4_postgres_sidekiq.gemfile.lock +13 -17
- data/gemfiles/ruby_2.3.8_rails4_semantic_logger.gemfile +38 -0
- data/gemfiles/ruby_2.3.8_rails4_semantic_logger.gemfile.lock +218 -0
- data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails5_mysql2.gemfile.lock +49 -53
- data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails5_postgres.gemfile.lock +49 -53
- data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails5_postgres_redis.gemfile.lock +50 -54
- data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails5_postgres_redis_activesupport.gemfile.lock +50 -54
- data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile +4 -4
- data/gemfiles/ruby_2.3.8_rails5_postgres_sidekiq.gemfile.lock +49 -53
- data/gemfiles/ruby_2.3.8_rails5_semantic_logger.gemfile +37 -0
- data/gemfiles/ruby_2.3.8_rails5_semantic_logger.gemfile.lock +229 -0
- data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile +3 -3
- data/gemfiles/ruby_2.3.8_resque2_redis3.gemfile.lock +10 -14
- data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile +3 -3
- data/gemfiles/ruby_2.3.8_resque2_redis4.gemfile.lock +11 -15
- data/gemfiles/{ruby_2.4.6_contrib.gemfile → ruby_2.4.10_contrib.gemfile} +5 -2
- data/gemfiles/{ruby_2.4.6_contrib.gemfile.lock → ruby_2.4.10_contrib.gemfile.lock} +232 -149
- data/gemfiles/{ruby_2.4.6_contrib_old.gemfile → ruby_2.4.10_contrib_old.gemfile} +3 -2
- data/gemfiles/{ruby_2.4.6_contrib_old.gemfile.lock → ruby_2.4.10_contrib_old.gemfile.lock} +13 -11
- data/gemfiles/{ruby_2.4.6_core_old.gemfile → ruby_2.4.10_core_old.gemfile} +2 -1
- data/gemfiles/{ruby_2.4.6_core_old.gemfile.lock → ruby_2.4.10_core_old.gemfile.lock} +11 -9
- data/gemfiles/{ruby_2.4.6_cucumber3.gemfile → ruby_2.4.10_cucumber3.gemfile} +3 -2
- data/gemfiles/{ruby_2.4.6_cucumber3.gemfile.lock → ruby_2.4.10_cucumber3.gemfile.lock} +13 -11
- data/gemfiles/{ruby_2.4.6_cucumber4.gemfile → ruby_2.4.10_cucumber4.gemfile} +3 -2
- data/gemfiles/{ruby_2.4.6_cucumber4.gemfile.lock → ruby_2.4.10_cucumber4.gemfile.lock} +14 -12
- data/gemfiles/{ruby_2.4.6_rails5_mysql2.gemfile → ruby_2.4.10_rails5_mysql2.gemfile} +4 -3
- data/gemfiles/{ruby_2.4.6_rails5_mysql2.gemfile.lock → ruby_2.4.10_rails5_mysql2.gemfile.lock} +52 -50
- data/gemfiles/{ruby_2.4.6_rails5_postgres.gemfile → ruby_2.4.10_rails5_postgres.gemfile} +4 -3
- data/gemfiles/{ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile.lock → ruby_2.4.10_rails5_postgres.gemfile.lock} +52 -52
- data/gemfiles/{ruby_2.4.6_rails5_postgres_redis.gemfile → ruby_2.4.10_rails5_postgres_redis.gemfile} +4 -3
- data/gemfiles/{ruby_2.4.6_rails5_postgres_redis.gemfile.lock → ruby_2.4.10_rails5_postgres_redis.gemfile.lock} +53 -51
- data/gemfiles/{ruby_2.4.6_rails5_postgres_redis_activesupport.gemfile → ruby_2.4.10_rails5_postgres_redis_activesupport.gemfile} +4 -3
- data/gemfiles/{ruby_2.4.6_rails5_postgres.gemfile.lock → ruby_2.4.10_rails5_postgres_redis_activesupport.gemfile.lock} +54 -50
- data/gemfiles/{ruby_2.4.6_rails5_postgres_sidekiq.gemfile → ruby_2.4.10_rails5_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{ruby_2.4.6_rails5_postgres_sidekiq.gemfile.lock → ruby_2.4.10_rails5_postgres_sidekiq.gemfile.lock} +52 -50
- data/gemfiles/ruby_2.4.10_rails5_semantic_logger.gemfile +42 -0
- data/gemfiles/ruby_2.4.10_rails5_semantic_logger.gemfile.lock +263 -0
- data/gemfiles/{ruby_2.4.6_resque2_redis3.gemfile → ruby_2.4.10_resque2_redis3.gemfile} +3 -2
- data/gemfiles/{ruby_2.4.6_resque2_redis3.gemfile.lock → ruby_2.4.10_resque2_redis3.gemfile.lock} +13 -11
- data/gemfiles/{ruby_2.4.6_resque2_redis4.gemfile → ruby_2.4.10_resque2_redis4.gemfile} +3 -2
- data/gemfiles/{ruby_2.4.6_resque2_redis4.gemfile.lock → ruby_2.4.10_resque2_redis4.gemfile.lock} +14 -12
- data/gemfiles/{ruby_2.5.6_contrib.gemfile → ruby_2.5.9_contrib.gemfile} +4 -1
- data/gemfiles/{ruby_2.5.6_contrib.gemfile.lock → ruby_2.5.9_contrib.gemfile.lock} +273 -191
- data/gemfiles/{ruby_2.5.6_contrib_old.gemfile → ruby_2.5.9_contrib_old.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_contrib_old.gemfile.lock → ruby_2.5.9_contrib_old.gemfile.lock} +22 -20
- data/gemfiles/{ruby_2.5.6_core_old.gemfile → ruby_2.5.9_core_old.gemfile} +2 -1
- data/gemfiles/{ruby_2.5.6_core_old.gemfile.lock → ruby_2.5.9_core_old.gemfile.lock} +20 -18
- data/gemfiles/{ruby_2.5.6_cucumber3.gemfile → ruby_2.5.9_cucumber3.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_cucumber3.gemfile.lock → ruby_2.5.9_cucumber3.gemfile.lock} +22 -20
- data/gemfiles/{ruby_2.5.6_cucumber4.gemfile → ruby_2.5.9_cucumber4.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_cucumber4.gemfile.lock → ruby_2.5.9_cucumber4.gemfile.lock} +23 -21
- data/gemfiles/{ruby_2.5.6_cucumber5.gemfile → ruby_2.5.9_cucumber5.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_cucumber5.gemfile.lock → ruby_2.5.9_cucumber5.gemfile.lock} +23 -21
- data/gemfiles/{ruby_2.5.6_rails5_mysql2.gemfile → ruby_2.5.9_rails5_mysql2.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails5_mysql2.gemfile.lock → ruby_2.5.9_rails5_mysql2.gemfile.lock} +62 -62
- data/gemfiles/{ruby_2.5.6_rails5_postgres.gemfile → ruby_2.5.9_rails5_postgres.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails5_postgres.gemfile.lock → ruby_2.5.9_rails5_postgres.gemfile.lock} +62 -62
- data/gemfiles/{ruby_2.5.6_rails5_postgres_redis.gemfile → ruby_2.5.9_rails5_postgres_redis.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails5_postgres_redis.gemfile.lock → ruby_2.5.9_rails5_postgres_redis.gemfile.lock} +63 -63
- data/gemfiles/{ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile → ruby_2.5.9_rails5_postgres_redis_activesupport.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails5_postgres_redis_activesupport.gemfile.lock → ruby_2.5.9_rails5_postgres_redis_activesupport.gemfile.lock} +63 -63
- data/gemfiles/{ruby_2.5.6_rails5_postgres_sidekiq.gemfile → ruby_2.5.9_rails5_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails5_postgres_sidekiq.gemfile.lock → ruby_2.5.9_rails5_postgres_sidekiq.gemfile.lock} +63 -63
- data/gemfiles/ruby_2.5.9_rails5_semantic_logger.gemfile +45 -0
- data/gemfiles/ruby_2.5.9_rails5_semantic_logger.gemfile.lock +275 -0
- data/gemfiles/{ruby_2.5.6_rails61_mysql2.gemfile → ruby_2.5.9_rails61_mysql2.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_rails61_mysql2.gemfile.lock → ruby_2.5.9_rails61_mysql2.gemfile.lock} +81 -81
- data/gemfiles/{ruby_2.5.6_rails61_postgres.gemfile → ruby_2.5.9_rails61_postgres.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_rails61_postgres.gemfile.lock → ruby_2.5.9_rails61_postgres.gemfile.lock} +81 -81
- data/gemfiles/{ruby_2.5.6_rails61_postgres_redis.gemfile → ruby_2.5.9_rails61_postgres_redis.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_rails61_postgres_redis.gemfile.lock → ruby_2.5.9_rails61_postgres_redis.gemfile.lock} +82 -82
- data/gemfiles/{ruby_2.5.6_rails61_postgres_sidekiq.gemfile → ruby_2.5.9_rails61_postgres_sidekiq.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_rails61_postgres_sidekiq.gemfile.lock → ruby_2.5.9_rails61_postgres_sidekiq.gemfile.lock} +82 -82
- data/gemfiles/ruby_2.5.9_rails61_semantic_logger.gemfile +45 -0
- data/gemfiles/ruby_2.5.9_rails61_semantic_logger.gemfile.lock +294 -0
- data/gemfiles/{ruby_2.5.6_rails6_mysql2.gemfile → ruby_2.5.9_rails6_mysql2.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails6_mysql2.gemfile.lock → ruby_2.5.9_rails6_mysql2.gemfile.lock} +76 -76
- data/gemfiles/{ruby_2.5.6_rails6_postgres.gemfile → ruby_2.5.9_rails6_postgres.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails6_postgres.gemfile.lock → ruby_2.5.9_rails6_postgres.gemfile.lock} +76 -76
- data/gemfiles/{ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile → ruby_2.5.9_rails6_postgres_redis.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails6_postgres_redis.gemfile.lock → ruby_2.5.9_rails6_postgres_redis.gemfile.lock} +77 -77
- data/gemfiles/{ruby_2.5.6_rails6_postgres_redis.gemfile → ruby_2.5.9_rails6_postgres_redis_activesupport.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails6_postgres_redis_activesupport.gemfile.lock → ruby_2.5.9_rails6_postgres_redis_activesupport.gemfile.lock} +77 -77
- data/gemfiles/{ruby_2.5.6_rails6_postgres_sidekiq.gemfile → ruby_2.5.9_rails6_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{ruby_2.5.6_rails6_postgres_sidekiq.gemfile.lock → ruby_2.5.9_rails6_postgres_sidekiq.gemfile.lock} +77 -77
- data/gemfiles/ruby_2.5.9_rails6_semantic_logger.gemfile +45 -0
- data/gemfiles/ruby_2.5.9_rails6_semantic_logger.gemfile.lock +291 -0
- data/gemfiles/{ruby_2.5.6_resque2_redis3.gemfile → ruby_2.5.9_resque2_redis3.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_resque2_redis3.gemfile.lock → ruby_2.5.9_resque2_redis3.gemfile.lock} +22 -20
- data/gemfiles/{ruby_2.5.6_resque2_redis4.gemfile → ruby_2.5.9_resque2_redis4.gemfile} +3 -2
- data/gemfiles/{ruby_2.5.6_resque2_redis4.gemfile.lock → ruby_2.5.9_resque2_redis4.gemfile.lock} +23 -21
- data/gemfiles/{ruby_2.6.4_contrib.gemfile → ruby_2.6.7_contrib.gemfile} +4 -1
- data/gemfiles/{ruby_2.7.0_contrib.gemfile.lock → ruby_2.6.7_contrib.gemfile.lock} +280 -197
- data/gemfiles/{ruby_2.6.4_contrib_old.gemfile → ruby_2.6.7_contrib_old.gemfile} +3 -2
- data/gemfiles/{ruby_2.7.0_contrib_old.gemfile.lock → ruby_2.6.7_contrib_old.gemfile.lock} +26 -24
- data/gemfiles/{ruby_2.7.0_core_old.gemfile → ruby_2.6.7_core_old.gemfile} +2 -1
- data/gemfiles/{ruby_2.7.0_core_old.gemfile.lock → ruby_2.6.7_core_old.gemfile.lock} +24 -22
- data/gemfiles/{ruby_2.7.0_cucumber3.gemfile → ruby_2.6.7_cucumber3.gemfile} +3 -2
- data/gemfiles/{ruby_2.7.0_cucumber3.gemfile.lock → ruby_2.6.7_cucumber3.gemfile.lock} +26 -24
- data/gemfiles/{ruby_2.6.4_cucumber4.gemfile → ruby_2.6.7_cucumber4.gemfile} +3 -2
- data/gemfiles/{ruby_2.7.0_cucumber4.gemfile.lock → ruby_2.6.7_cucumber4.gemfile.lock} +27 -25
- data/gemfiles/{ruby_2.6.4_cucumber5.gemfile → ruby_2.6.7_cucumber5.gemfile} +3 -2
- data/gemfiles/{ruby_2.7.0_cucumber5.gemfile.lock → ruby_2.6.7_cucumber5.gemfile.lock} +27 -25
- data/gemfiles/{ruby_2.6.4_rails5_mysql2.gemfile → ruby_2.6.7_rails5_mysql2.gemfile} +4 -3
- data/gemfiles/ruby_2.6.7_rails5_mysql2.gemfile.lock +276 -0
- data/gemfiles/{ruby_2.6.4_rails5_postgres.gemfile → ruby_2.6.7_rails5_postgres.gemfile} +4 -3
- data/gemfiles/{ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile.lock → ruby_2.6.7_rails5_postgres.gemfile.lock} +62 -64
- data/gemfiles/{ruby_2.6.4_rails5_postgres_redis.gemfile → ruby_2.6.7_rails5_postgres_redis.gemfile} +4 -3
- data/gemfiles/{ruby_2.6.4_rails5_postgres_redis.gemfile.lock → ruby_2.6.7_rails5_postgres_redis.gemfile.lock} +63 -63
- data/gemfiles/{ruby_2.6.4_rails5_postgres_redis_activesupport.gemfile → ruby_2.6.7_rails5_postgres_redis_activesupport.gemfile} +4 -3
- data/gemfiles/ruby_2.6.7_rails5_postgres_redis_activesupport.gemfile.lock +278 -0
- data/gemfiles/{ruby_2.6.4_rails5_postgres_sidekiq.gemfile → ruby_2.6.7_rails5_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{ruby_2.7.0_rails5_postgres_sidekiq.gemfile.lock → ruby_2.6.7_rails5_postgres_sidekiq.gemfile.lock} +67 -67
- data/gemfiles/ruby_2.6.7_rails5_semantic_logger.gemfile +43 -0
- data/gemfiles/ruby_2.6.7_rails5_semantic_logger.gemfile.lock +275 -0
- data/gemfiles/{ruby_2.6.4_rails61_mysql2.gemfile → ruby_2.6.7_rails61_mysql2.gemfile} +3 -2
- data/gemfiles/ruby_2.6.7_rails61_mysql2.gemfile.lock +295 -0
- data/gemfiles/{ruby_2.6.4_rails61_postgres.gemfile → ruby_2.6.7_rails61_postgres.gemfile} +3 -2
- data/gemfiles/ruby_2.6.7_rails61_postgres.gemfile.lock +295 -0
- data/gemfiles/{ruby_2.7.0_rails61_postgres_redis.gemfile → ruby_2.6.7_rails61_postgres_redis.gemfile} +3 -2
- data/gemfiles/ruby_2.6.7_rails61_postgres_redis.gemfile.lock +297 -0
- data/gemfiles/{ruby_2.7.0_rails61_postgres_sidekiq.gemfile → ruby_2.6.7_rails61_postgres_sidekiq.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_rails61_postgres_sidekiq.gemfile.lock → ruby_2.6.7_rails61_postgres_sidekiq.gemfile.lock} +82 -82
- data/gemfiles/{ruby_2.6.4_rails61_postgres_sidekiq.gemfile → ruby_2.6.7_rails61_semantic_logger.gemfile} +4 -4
- data/gemfiles/ruby_2.6.7_rails61_semantic_logger.gemfile.lock +294 -0
- data/gemfiles/{ruby_2.6.4_rails6_mysql2.gemfile → ruby_2.6.7_rails6_mysql2.gemfile} +4 -3
- data/gemfiles/ruby_2.6.7_rails6_mysql2.gemfile.lock +292 -0
- data/gemfiles/{ruby_2.6.4_rails6_postgres.gemfile → ruby_2.6.7_rails6_postgres.gemfile} +4 -3
- data/gemfiles/ruby_2.6.7_rails6_postgres.gemfile.lock +292 -0
- data/gemfiles/{ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile → ruby_2.6.7_rails6_postgres_redis.gemfile} +4 -3
- data/gemfiles/{ruby_2.6.4_rails6_postgres_redis.gemfile.lock → ruby_2.6.7_rails6_postgres_redis.gemfile.lock} +77 -77
- data/gemfiles/{ruby_2.6.4_rails6_postgres_redis.gemfile → ruby_2.6.7_rails6_postgres_redis_activesupport.gemfile} +4 -3
- data/gemfiles/{ruby_2.6.4_rails6_postgres_redis_activesupport.gemfile.lock → ruby_2.6.7_rails6_postgres_redis_activesupport.gemfile.lock} +77 -77
- data/gemfiles/{ruby_2.6.4_rails6_postgres_sidekiq.gemfile → ruby_2.6.7_rails6_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{ruby_2.7.0_rails6_postgres_sidekiq.gemfile.lock → ruby_2.6.7_rails6_postgres_sidekiq.gemfile.lock} +81 -81
- data/gemfiles/ruby_2.6.7_rails6_semantic_logger.gemfile +43 -0
- data/gemfiles/ruby_2.6.7_rails6_semantic_logger.gemfile.lock +291 -0
- data/gemfiles/{ruby_2.7.0_resque2_redis3.gemfile → ruby_2.6.7_resque2_redis3.gemfile} +3 -2
- data/gemfiles/ruby_2.6.7_resque2_redis3.gemfile.lock +192 -0
- data/gemfiles/{ruby_2.7.0_resque2_redis4.gemfile → ruby_2.6.7_resque2_redis4.gemfile} +3 -2
- data/gemfiles/ruby_2.6.7_resque2_redis4.gemfile.lock +192 -0
- data/gemfiles/{ruby_2.7.0_contrib.gemfile → ruby_2.7.3_contrib.gemfile} +4 -1
- data/gemfiles/{ruby_2.6.4_contrib.gemfile.lock → ruby_2.7.3_contrib.gemfile.lock} +230 -174
- data/gemfiles/{ruby_2.7.0_contrib_old.gemfile → ruby_2.7.3_contrib_old.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_contrib_old.gemfile.lock → ruby_2.7.3_contrib_old.gemfile.lock} +21 -19
- data/gemfiles/{ruby_2.6.4_core_old.gemfile → ruby_2.7.3_core_old.gemfile} +2 -1
- data/gemfiles/{ruby_2.6.4_core_old.gemfile.lock → ruby_2.7.3_core_old.gemfile.lock} +19 -17
- data/gemfiles/{ruby_2.6.4_cucumber3.gemfile → ruby_2.7.3_cucumber3.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_cucumber3.gemfile.lock → ruby_2.7.3_cucumber3.gemfile.lock} +21 -19
- data/gemfiles/{ruby_2.7.0_cucumber4.gemfile → ruby_2.7.3_cucumber4.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_cucumber4.gemfile.lock → ruby_2.7.3_cucumber4.gemfile.lock} +22 -20
- data/gemfiles/{ruby_2.7.0_cucumber5.gemfile → ruby_2.7.3_cucumber5.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_cucumber5.gemfile.lock → ruby_2.7.3_cucumber5.gemfile.lock} +22 -20
- data/gemfiles/{ruby_2.7.0_rails5_mysql2.gemfile → ruby_2.7.3_rails5_mysql2.gemfile} +4 -3
- data/gemfiles/{ruby_2.6.4_rails5_mysql2.gemfile.lock → ruby_2.7.3_rails5_mysql2.gemfile.lock} +62 -60
- data/gemfiles/ruby_2.7.3_rails5_postgres.gemfile +43 -0
- data/gemfiles/{ruby_2.6.4_rails5_postgres.gemfile.lock → ruby_2.7.3_rails5_postgres.gemfile.lock} +62 -60
- data/gemfiles/{ruby_2.7.0_rails5_postgres_redis.gemfile → ruby_2.7.3_rails5_postgres_redis.gemfile} +4 -3
- data/gemfiles/{ruby_2.7.0_rails5_postgres_redis.gemfile.lock → ruby_2.7.3_rails5_postgres_redis.gemfile.lock} +68 -66
- data/gemfiles/{ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile → ruby_2.7.3_rails5_postgres_redis_activesupport.gemfile} +4 -3
- data/gemfiles/{ruby_2.7.0_rails5_postgres_redis_activesupport.gemfile.lock → ruby_2.7.3_rails5_postgres_redis_activesupport.gemfile.lock} +68 -66
- data/gemfiles/{ruby_2.7.0_rails5_postgres_sidekiq.gemfile → ruby_2.7.3_rails5_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{ruby_2.6.4_rails5_postgres_sidekiq.gemfile.lock → ruby_2.7.3_rails5_postgres_sidekiq.gemfile.lock} +63 -61
- data/gemfiles/ruby_2.7.3_rails5_semantic_logger.gemfile +43 -0
- data/gemfiles/ruby_2.7.3_rails5_semantic_logger.gemfile.lock +277 -0
- data/gemfiles/{ruby_2.7.0_rails61_mysql2.gemfile → ruby_2.7.3_rails61_mysql2.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_rails61_mysql2.gemfile.lock → ruby_2.7.3_rails61_mysql2.gemfile.lock} +81 -79
- data/gemfiles/{ruby_2.7.0_rails61_postgres.gemfile → ruby_2.7.3_rails61_postgres.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_rails61_postgres.gemfile.lock → ruby_2.7.3_rails61_postgres.gemfile.lock} +81 -79
- data/gemfiles/{ruby_2.6.4_rails61_postgres_redis.gemfile → ruby_2.7.3_rails61_postgres_redis.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_rails61_postgres_redis.gemfile.lock → ruby_2.7.3_rails61_postgres_redis.gemfile.lock} +82 -80
- data/gemfiles/{ruby_3.0.0_rails61_postgres_sidekiq.gemfile → ruby_2.7.3_rails61_postgres_sidekiq.gemfile} +3 -3
- data/gemfiles/{ruby_2.6.4_rails61_postgres_sidekiq.gemfile.lock → ruby_2.7.3_rails61_postgres_sidekiq.gemfile.lock} +82 -80
- data/gemfiles/ruby_2.7.3_rails61_semantic_logger.gemfile +43 -0
- data/gemfiles/ruby_2.7.3_rails61_semantic_logger.gemfile.lock +296 -0
- data/gemfiles/{ruby_2.7.0_rails6_mysql2.gemfile → ruby_2.7.3_rails6_mysql2.gemfile} +4 -3
- data/gemfiles/{ruby_2.6.4_rails6_mysql2.gemfile.lock → ruby_2.7.3_rails6_mysql2.gemfile.lock} +76 -74
- data/gemfiles/ruby_2.7.3_rails6_postgres.gemfile +43 -0
- data/gemfiles/{ruby_2.6.4_rails6_postgres.gemfile.lock → ruby_2.7.3_rails6_postgres.gemfile.lock} +76 -74
- data/gemfiles/{ruby_2.7.0_rails6_postgres_redis.gemfile → ruby_2.7.3_rails6_postgres_redis.gemfile} +4 -3
- data/gemfiles/{ruby_2.7.0_rails6_postgres_redis.gemfile.lock → ruby_2.7.3_rails6_postgres_redis.gemfile.lock} +82 -80
- data/gemfiles/{ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile → ruby_2.7.3_rails6_postgres_redis_activesupport.gemfile} +4 -3
- data/gemfiles/{ruby_2.7.0_rails6_postgres_redis_activesupport.gemfile.lock → ruby_2.7.3_rails6_postgres_redis_activesupport.gemfile.lock} +82 -80
- data/gemfiles/{ruby_2.7.0_rails6_postgres_sidekiq.gemfile → ruby_2.7.3_rails6_postgres_sidekiq.gemfile} +4 -3
- data/gemfiles/{ruby_2.6.4_rails6_postgres_sidekiq.gemfile.lock → ruby_2.7.3_rails6_postgres_sidekiq.gemfile.lock} +77 -75
- data/gemfiles/ruby_2.7.3_rails6_semantic_logger.gemfile +43 -0
- data/gemfiles/ruby_2.7.3_rails6_semantic_logger.gemfile.lock +293 -0
- data/gemfiles/{ruby_2.6.4_resque2_redis3.gemfile → ruby_2.7.3_resque2_redis3.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_resque2_redis3.gemfile.lock → ruby_2.7.3_resque2_redis3.gemfile.lock} +21 -19
- data/gemfiles/{ruby_2.6.4_resque2_redis4.gemfile → ruby_2.7.3_resque2_redis4.gemfile} +3 -2
- data/gemfiles/{ruby_2.6.4_resque2_redis4.gemfile.lock → ruby_2.7.3_resque2_redis4.gemfile.lock} +22 -20
- data/gemfiles/{ruby_3.0.0_contrib.gemfile → ruby_3.0.1_contrib.gemfile} +3 -1
- data/gemfiles/{ruby_3.0.0_contrib.gemfile.lock → ruby_3.0.1_contrib.gemfile.lock} +215 -172
- data/gemfiles/{ruby_3.0.0_core_old.gemfile → ruby_3.0.1_core_old.gemfile} +2 -1
- data/gemfiles/{ruby_3.0.0_core_old.gemfile.lock → ruby_3.0.1_core_old.gemfile.lock} +20 -18
- data/gemfiles/{ruby_3.0.0_cucumber3.gemfile → ruby_3.0.1_cucumber3.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_cucumber3.gemfile.lock → ruby_3.0.1_cucumber3.gemfile.lock} +22 -20
- data/gemfiles/{ruby_3.0.0_cucumber4.gemfile → ruby_3.0.1_cucumber4.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_cucumber4.gemfile.lock → ruby_3.0.1_cucumber4.gemfile.lock} +23 -21
- data/gemfiles/{ruby_3.0.0_cucumber5.gemfile → ruby_3.0.1_cucumber5.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_cucumber5.gemfile.lock → ruby_3.0.1_cucumber5.gemfile.lock} +23 -21
- data/gemfiles/{ruby_3.0.0_rails61_mysql2.gemfile → ruby_3.0.1_rails61_mysql2.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_rails61_mysql2.gemfile.lock → ruby_3.0.1_rails61_mysql2.gemfile.lock} +81 -79
- data/gemfiles/{ruby_3.0.0_rails61_postgres.gemfile → ruby_3.0.1_rails61_postgres.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_rails61_postgres.gemfile.lock → ruby_3.0.1_rails61_postgres.gemfile.lock} +81 -79
- data/gemfiles/{ruby_3.0.0_rails61_postgres_redis.gemfile → ruby_3.0.1_rails61_postgres_redis.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_rails61_postgres_redis.gemfile.lock → ruby_3.0.1_rails61_postgres_redis.gemfile.lock} +82 -80
- data/gemfiles/ruby_3.0.1_rails61_postgres_sidekiq.gemfile +46 -0
- data/gemfiles/{ruby_2.7.0_rails61_postgres_sidekiq.gemfile.lock → ruby_3.0.1_rails61_postgres_sidekiq.gemfile.lock} +95 -86
- data/gemfiles/ruby_3.0.1_rails61_semantic_logger.gemfile +44 -0
- data/gemfiles/ruby_3.0.1_rails61_semantic_logger.gemfile.lock +296 -0
- data/gemfiles/{ruby_3.0.0_resque2_redis3.gemfile → ruby_3.0.1_resque2_redis3.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_resque2_redis3.gemfile.lock → ruby_3.0.1_resque2_redis3.gemfile.lock} +22 -20
- data/gemfiles/{ruby_3.0.0_resque2_redis4.gemfile → ruby_3.0.1_resque2_redis4.gemfile} +3 -2
- data/gemfiles/{ruby_3.0.0_resque2_redis4.gemfile.lock → ruby_3.0.1_resque2_redis4.gemfile.lock} +23 -21
- data/integration/apps/rspec/bin/setup +6 -0
- data/integration/apps/rspec/docker-compose.yml +1 -0
- data/integration/images/include/datadog/demo_env.rb +15 -14
- data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +1 -1
- data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +1 -1
- data/lib/datadog/ci/ext/environment.rb +224 -89
- data/lib/datadog/ci/ext/test.rb +7 -1
- data/lib/datadog/ci/test.rb +13 -0
- data/lib/datadog/core/environment/cgroup.rb +49 -0
- data/lib/datadog/core/environment/class_count.rb +19 -0
- data/lib/datadog/core/environment/container.rb +88 -0
- data/lib/datadog/core/environment/ext.rb +26 -0
- data/lib/datadog/core/environment/gc.rb +18 -0
- data/lib/datadog/core/environment/identity.rb +50 -0
- data/lib/datadog/core/environment/object_space.rb +22 -0
- data/lib/datadog/core/environment/socket.rb +16 -0
- data/lib/datadog/core/environment/thread_count.rb +18 -0
- data/lib/datadog/core/environment/variable_helpers.rb +39 -0
- data/lib/ddtrace.rb +2 -0
- data/lib/ddtrace/auto_instrument.rb +1 -0
- data/lib/ddtrace/buffer.rb +2 -2
- data/lib/ddtrace/configuration/base.rb +3 -3
- data/lib/ddtrace/configuration/components.rb +33 -4
- data/lib/ddtrace/configuration/settings.rb +11 -3
- data/lib/ddtrace/contrib/active_record/utils.rb +2 -2
- data/lib/ddtrace/contrib/lograge/configuration/settings.rb +18 -0
- data/lib/ddtrace/contrib/lograge/ext.rb +10 -0
- data/lib/ddtrace/contrib/lograge/instrumentation.rb +38 -0
- data/lib/ddtrace/contrib/lograge/integration.rb +45 -0
- data/lib/ddtrace/contrib/lograge/patcher.rb +25 -0
- data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
- data/lib/ddtrace/contrib/rails/framework.rb +25 -1
- data/lib/ddtrace/contrib/rails/log_injection.rb +0 -40
- data/lib/ddtrace/contrib/rails/patcher.rb +11 -9
- data/lib/ddtrace/contrib/semantic_logger/configuration/settings.rb +18 -0
- data/lib/ddtrace/contrib/semantic_logger/ext.rb +10 -0
- data/lib/ddtrace/contrib/semantic_logger/instrumentation.rb +42 -0
- data/lib/ddtrace/contrib/semantic_logger/integration.rb +47 -0
- data/lib/ddtrace/contrib/semantic_logger/patcher.rb +25 -0
- data/lib/ddtrace/correlation.rb +1 -1
- data/lib/ddtrace/diagnostics/environment_logger.rb +2 -2
- data/lib/ddtrace/ext/environment.rb +7 -0
- data/lib/ddtrace/ext/git.rb +9 -1
- data/lib/ddtrace/ext/runtime.rb +0 -9
- data/lib/ddtrace/metrics.rb +54 -28
- data/lib/ddtrace/profiling/ext/cpu.rb +16 -1
- data/lib/ddtrace/profiling/flush.rb +9 -9
- data/lib/ddtrace/profiling/transport/http.rb +7 -7
- data/lib/ddtrace/runtime/metrics.rb +18 -10
- data/lib/ddtrace/span.rb +17 -6
- data/lib/ddtrace/sync_writer.rb +2 -2
- data/lib/ddtrace/tracer.rb +4 -12
- data/lib/ddtrace/transport/http.rb +7 -7
- data/lib/ddtrace/version.rb +1 -1
- data/lib/ddtrace/workers/trace_writer.rb +1 -1
- data/lib/ddtrace/writer.rb +2 -2
- data/tasks/update_appraisal_gemfiles.rake +36 -0
- metadata +301 -242
- data/gemfiles/ruby_2.7.0_rails5_mysql2.gemfile.lock +0 -276
- data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile +0 -42
- data/gemfiles/ruby_2.7.0_rails5_postgres.gemfile.lock +0 -276
- data/gemfiles/ruby_2.7.0_rails61_mysql2.gemfile.lock +0 -295
- data/gemfiles/ruby_2.7.0_rails61_postgres.gemfile.lock +0 -295
- data/gemfiles/ruby_2.7.0_rails61_postgres_redis.gemfile.lock +0 -297
- data/gemfiles/ruby_2.7.0_rails6_mysql2.gemfile.lock +0 -292
- data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile +0 -42
- data/gemfiles/ruby_2.7.0_rails6_postgres.gemfile.lock +0 -292
- data/gemfiles/ruby_2.7.0_resque2_redis3.gemfile.lock +0 -190
- data/gemfiles/ruby_2.7.0_resque2_redis4.gemfile.lock +0 -190
- data/lib/ddtrace/environment.rb +0 -41
- data/lib/ddtrace/runtime/cgroup.rb +0 -44
- data/lib/ddtrace/runtime/class_count.rb +0 -17
- data/lib/ddtrace/runtime/container.rb +0 -87
- data/lib/ddtrace/runtime/gc.rb +0 -16
- data/lib/ddtrace/runtime/identity.rb +0 -48
- data/lib/ddtrace/runtime/object_space.rb +0 -19
- data/lib/ddtrace/runtime/socket.rb +0 -14
- data/lib/ddtrace/runtime/thread_count.rb +0 -16
@@ -13,11 +13,12 @@ gem "memory_profiler", "~> 0.9"
|
|
13
13
|
gem "minitest", "= 5.10.1"
|
14
14
|
gem "minitest-around", "0.5.0"
|
15
15
|
gem "minitest-stub_any_instance", "1.0.2"
|
16
|
+
gem "os", "~> 1.1"
|
16
17
|
gem "pimpmychangelog", ">= 0.1.2"
|
17
18
|
gem "pry"
|
18
19
|
gem "pry-byebug"
|
19
20
|
gem "pry-stack_explorer"
|
20
|
-
gem "rake", ">= 10.5"
|
21
|
+
gem "rake", ">= 10.5", "< 13.0.4"
|
21
22
|
gem "redcarpet", "~> 3.4"
|
22
23
|
gem "rspec", "~> 3.10"
|
23
24
|
gem "rspec-collection_matchers", "~> 1.1"
|
@@ -32,7 +33,7 @@ gem "yard", "~> 0.9"
|
|
32
33
|
gem "rubocop", "~> 1.10", require: false
|
33
34
|
gem "rubocop-performance", "~> 1.9", require: false
|
34
35
|
gem "rubocop-rspec", "~> 2.2", require: false
|
35
|
-
gem "dogstatsd-ruby", ">= 3.3.0"
|
36
|
+
gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0"
|
36
37
|
gem "opentracing", ">= 0.4.1"
|
37
38
|
gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1"]
|
38
39
|
gem "redis", ">= 4.0"
|
data/gemfiles/{ruby_3.0.0_resque2_redis4.gemfile.lock → ruby_3.0.1_resque2_redis4.gemfile.lock}
RENAMED
@@ -24,7 +24,7 @@ GEM
|
|
24
24
|
rake
|
25
25
|
thor (>= 0.14.0)
|
26
26
|
ast (2.4.2)
|
27
|
-
benchmark-ips (2.
|
27
|
+
benchmark-ips (2.9.1)
|
28
28
|
benchmark-memory (0.1.2)
|
29
29
|
memory_profiler (~> 0.9)
|
30
30
|
binding_of_caller (1.0.0)
|
@@ -34,16 +34,16 @@ GEM
|
|
34
34
|
climate_control (0.2.0)
|
35
35
|
coderay (1.1.3)
|
36
36
|
colorize (0.8.1)
|
37
|
-
concurrent-ruby (1.1.
|
37
|
+
concurrent-ruby (1.1.9)
|
38
38
|
crack (0.4.5)
|
39
39
|
rexml
|
40
40
|
cri (2.15.11)
|
41
41
|
debug_inspector (1.1.0)
|
42
42
|
diff-lcs (1.4.4)
|
43
|
-
docile (1.
|
44
|
-
dogstatsd-ruby (
|
45
|
-
ffi (1.15.
|
46
|
-
google-protobuf (3.
|
43
|
+
docile (1.4.0)
|
44
|
+
dogstatsd-ruby (4.8.3)
|
45
|
+
ffi (1.15.3)
|
46
|
+
google-protobuf (3.17.3-x86_64-linux)
|
47
47
|
hashdiff (1.0.1)
|
48
48
|
memory_profiler (0.9.14)
|
49
49
|
method_source (1.0.0)
|
@@ -57,8 +57,9 @@ GEM
|
|
57
57
|
mustermann (1.1.1)
|
58
58
|
ruby2_keywords (~> 0.0.1)
|
59
59
|
opentracing (0.5.0)
|
60
|
+
os (1.1.1)
|
60
61
|
parallel (1.20.1)
|
61
|
-
parser (3.0.1.
|
62
|
+
parser (3.0.1.1)
|
62
63
|
ast (~> 2.4.1)
|
63
64
|
pimpmychangelog (0.1.3)
|
64
65
|
pry (0.14.1)
|
@@ -76,7 +77,7 @@ GEM
|
|
76
77
|
rainbow (3.0.0)
|
77
78
|
rake (13.0.3)
|
78
79
|
redcarpet (3.5.1)
|
79
|
-
redis (4.
|
80
|
+
redis (4.3.1)
|
80
81
|
redis-namespace (1.8.1)
|
81
82
|
redis (>= 3.0.4)
|
82
83
|
regexp_parser (2.1.1)
|
@@ -104,31 +105,31 @@ GEM
|
|
104
105
|
rspec-support (3.10.2)
|
105
106
|
rspec_junit_formatter (0.4.1)
|
106
107
|
rspec-core (>= 2, < 4, != 2.12.0)
|
107
|
-
rspec_n (1.
|
108
|
+
rspec_n (1.4.0)
|
108
109
|
colorize (~> 0.8.0)
|
109
110
|
cri (~> 2.15.3)
|
110
|
-
rubocop (1.
|
111
|
+
rubocop (1.18.3)
|
111
112
|
parallel (~> 1.10)
|
112
113
|
parser (>= 3.0.0.0)
|
113
114
|
rainbow (>= 2.2.2, < 4.0)
|
114
115
|
regexp_parser (>= 1.8, < 3.0)
|
115
116
|
rexml
|
116
|
-
rubocop-ast (>= 1.
|
117
|
+
rubocop-ast (>= 1.7.0, < 2.0)
|
117
118
|
ruby-progressbar (~> 1.7)
|
118
119
|
unicode-display_width (>= 1.4.0, < 3.0)
|
119
|
-
rubocop-ast (1.
|
120
|
-
parser (>=
|
121
|
-
rubocop-performance (1.
|
122
|
-
rubocop (>=
|
120
|
+
rubocop-ast (1.7.0)
|
121
|
+
parser (>= 3.0.1.1)
|
122
|
+
rubocop-performance (1.11.3)
|
123
|
+
rubocop (>= 1.7.0, < 2.0)
|
123
124
|
rubocop-ast (>= 0.4.0)
|
124
|
-
rubocop-rspec (2.
|
125
|
+
rubocop-rspec (2.4.0)
|
125
126
|
rubocop (~> 1.0)
|
126
127
|
rubocop-ast (>= 1.1.0)
|
127
128
|
ruby-prof (1.4.3)
|
128
129
|
ruby-progressbar (1.11.0)
|
129
130
|
ruby2_keywords (0.0.4)
|
130
131
|
simplecov-html (0.12.3)
|
131
|
-
simplecov_json_formatter (0.1.
|
132
|
+
simplecov_json_formatter (0.1.3)
|
132
133
|
sinatra (2.1.0)
|
133
134
|
mustermann (~> 1.0)
|
134
135
|
rack (~> 2.2)
|
@@ -140,7 +141,7 @@ GEM
|
|
140
141
|
vegas (0.1.11)
|
141
142
|
rack (>= 1.0.0)
|
142
143
|
warning (1.2.0)
|
143
|
-
webmock (3.
|
144
|
+
webmock (3.13.0)
|
144
145
|
addressable (>= 2.3.6)
|
145
146
|
crack (>= 0.3.2)
|
146
147
|
hashdiff (>= 0.4.0, < 2.0.0)
|
@@ -159,18 +160,19 @@ DEPENDENCIES
|
|
159
160
|
climate_control (~> 0.2.0)
|
160
161
|
concurrent-ruby
|
161
162
|
ddtrace!
|
162
|
-
dogstatsd-ruby (>= 3.3.0)
|
163
|
+
dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0)
|
163
164
|
google-protobuf (~> 3.0, != 3.7.1, != 3.7.0)
|
164
165
|
memory_profiler (~> 0.9)
|
165
166
|
minitest (= 5.10.1)
|
166
167
|
minitest-around (= 0.5.0)
|
167
168
|
minitest-stub_any_instance (= 1.0.2)
|
168
169
|
opentracing (>= 0.4.1)
|
170
|
+
os (~> 1.1)
|
169
171
|
pimpmychangelog (>= 0.1.2)
|
170
172
|
pry
|
171
173
|
pry-byebug
|
172
174
|
pry-stack_explorer
|
173
|
-
rake (>= 10.5)
|
175
|
+
rake (>= 10.5, < 13.0.4)
|
174
176
|
redcarpet (~> 3.4)
|
175
177
|
redis (>= 4.0)
|
176
178
|
resque (>= 2.0)
|
@@ -189,4 +191,4 @@ DEPENDENCIES
|
|
189
191
|
yard (~> 0.9)
|
190
192
|
|
191
193
|
BUNDLED WITH
|
192
|
-
2.2.
|
194
|
+
2.2.19
|
@@ -14,4 +14,10 @@ chdir APP_ROOT do
|
|
14
14
|
puts "\n== Installing dependencies =="
|
15
15
|
system! 'gem install bundler --conservative'
|
16
16
|
system('bundle check') || system!('bundle install')
|
17
|
+
|
18
|
+
# Create an non-trivial git repository, to augment test payload information.
|
19
|
+
system! 'git init'
|
20
|
+
system! 'GIT_AUTHOR_NAME="Test Author" GIT_AUTHOR_EMAIL=author@local.test ' \
|
21
|
+
'GIT_COMMITTER_NAME="Test Committer" GIT_COMMITTER_EMAIL=committer@local.test ' \
|
22
|
+
'git commit --allow-empty -m "Test message"'
|
17
23
|
end
|
@@ -1,15 +1,16 @@
|
|
1
1
|
module Datadog
|
2
|
+
# Helpers to read the application environment
|
2
3
|
module DemoEnv
|
3
4
|
module_function
|
4
5
|
|
5
6
|
def gem_spec(gem_name, defaults = {})
|
6
|
-
args =
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
args = if local_gem(gem_name)
|
8
|
+
[local_gem(gem_name)]
|
9
|
+
elsif git_gem(gem_name)
|
10
|
+
[git_gem(gem_name)]
|
11
|
+
else
|
12
|
+
[]
|
13
|
+
end
|
13
14
|
|
14
15
|
yield(args) if block_given?
|
15
16
|
|
@@ -17,7 +18,7 @@ module Datadog
|
|
17
18
|
end
|
18
19
|
|
19
20
|
def gem_env_name(gem_name)
|
20
|
-
gem_name.upcase.
|
21
|
+
gem_name.upcase.tr('-', '_')
|
21
22
|
end
|
22
23
|
|
23
24
|
def local_gem(gem_name)
|
@@ -55,11 +56,11 @@ module Datadog
|
|
55
56
|
puts "Features: #{features}"
|
56
57
|
puts "Rails env: #{ENV['RAILS_ENV']}" if ENV['RAILS_ENV']
|
57
58
|
puts "PID: #{Process.pid}"
|
58
|
-
if ddtrace = Gem.loaded_specs['ddtrace']
|
59
|
-
puts "Runtime ID: #{Datadog::
|
59
|
+
if (ddtrace = Gem.loaded_specs['ddtrace'])
|
60
|
+
puts "Runtime ID: #{Datadog::Core::Environment::Identity.id}" if defined?(Datadog::Core::Environment::Identity)
|
60
61
|
puts "ddtrace version: #{ddtrace.version}"
|
61
62
|
puts "ddtrace path: #{ddtrace.full_gem_path}"
|
62
|
-
if git_spec = git_gem('ddtrace')
|
63
|
+
if (git_spec = git_gem('ddtrace'))
|
63
64
|
puts "ddtrace git: #{git_spec[:git]}"
|
64
65
|
puts "ddtrace ref: #{git_spec[:ref]}"
|
65
66
|
end
|
@@ -69,10 +70,10 @@ module Datadog
|
|
69
70
|
|
70
71
|
def profiler_file_transport(dump_path = "/data/profile-pid-#{Process.pid}.pprof")
|
71
72
|
Datadog::Profiling::Transport::IO.default(
|
72
|
-
write:
|
73
|
+
write: lambda do |_out, data|
|
73
74
|
result = nil
|
74
75
|
puts "Writing pprof #{dump_path}..."
|
75
|
-
File.open(dump_path,
|
76
|
+
File.open(dump_path, 'w') { |f| result = f.write(data) }
|
76
77
|
puts "Pprof #{dump_path} written!"
|
77
78
|
result
|
78
79
|
end
|
@@ -86,7 +87,7 @@ module Datadog
|
|
86
87
|
|
87
88
|
def finish_mem_dump!(dump_path = "/data/mem-pid-#{Process.pid}.dump")
|
88
89
|
File.delete(dump_path) if File.exist?(dump_path)
|
89
|
-
File.open(dump_path,
|
90
|
+
File.open(dump_path, 'w') do |io|
|
90
91
|
ObjectSpace.dump_all(output: io)
|
91
92
|
end
|
92
93
|
end
|
@@ -1,53 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ddtrace/ext/git'
|
2
4
|
|
5
|
+
require 'open3'
|
6
|
+
|
3
7
|
module Datadog
|
4
8
|
module CI
|
5
9
|
module Ext
|
6
10
|
# Defines constants for CI tags
|
7
11
|
# rubocop:disable Metrics/ModuleLength:
|
8
12
|
module Environment
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
TAG_WORKSPACE_PATH = 'ci.workspace_path'
|
13
|
+
TAG_JOB_NAME = 'ci.job.name'
|
14
|
+
TAG_JOB_URL = 'ci.job.url'
|
15
|
+
TAG_PIPELINE_ID = 'ci.pipeline.id'
|
16
|
+
TAG_PIPELINE_NAME = 'ci.pipeline.name'
|
17
|
+
TAG_PIPELINE_NUMBER = 'ci.pipeline.number'
|
18
|
+
TAG_PIPELINE_URL = 'ci.pipeline.url'
|
19
|
+
TAG_PROVIDER_NAME = 'ci.provider.name'
|
20
|
+
TAG_STAGE_NAME = 'ci.stage.name'
|
21
|
+
TAG_WORKSPACE_PATH = 'ci.workspace_path'
|
18
22
|
|
19
23
|
PROVIDERS = [
|
20
|
-
['APPVEYOR'
|
21
|
-
['TF_BUILD'
|
22
|
-
['BITBUCKET_COMMIT'
|
23
|
-
['BUILDKITE'
|
24
|
-
['CIRCLECI'
|
25
|
-
['GITHUB_SHA'
|
26
|
-
['GITLAB_CI'
|
27
|
-
['JENKINS_URL'
|
28
|
-
['TEAMCITY_VERSION'
|
29
|
-
['TRAVIS'
|
30
|
-
['BITRISE_BUILD_SLUG'
|
24
|
+
['APPVEYOR', :extract_appveyor],
|
25
|
+
['TF_BUILD', :extract_azure_pipelines],
|
26
|
+
['BITBUCKET_COMMIT', :extract_bitbucket],
|
27
|
+
['BUILDKITE', :extract_buildkite],
|
28
|
+
['CIRCLECI', :extract_circle_ci],
|
29
|
+
['GITHUB_SHA', :extract_github_actions],
|
30
|
+
['GITLAB_CI', :extract_gitlab],
|
31
|
+
['JENKINS_URL', :extract_jenkins],
|
32
|
+
['TEAMCITY_VERSION', :extract_teamcity],
|
33
|
+
['TRAVIS', :extract_travis],
|
34
|
+
['BITRISE_BUILD_SLUG', :extract_bitrise]
|
31
35
|
].freeze
|
32
36
|
|
33
37
|
module_function
|
34
38
|
|
35
39
|
def tags(env)
|
36
|
-
|
37
|
-
|
40
|
+
_, extractor = PROVIDERS.find { |provider_env_var, _| env.key?(provider_env_var) }
|
41
|
+
if extractor
|
42
|
+
tags = public_send(extractor, env)
|
38
43
|
|
39
|
-
|
44
|
+
tags[Datadog::Ext::Git::TAG_TAG] = normalize_ref(tags[Datadog::Ext::Git::TAG_TAG])
|
45
|
+
tags.delete(Datadog::Ext::Git::TAG_BRANCH) unless tags[Datadog::Ext::Git::TAG_TAG].nil?
|
46
|
+
tags[Datadog::Ext::Git::TAG_BRANCH] = normalize_ref(tags[Datadog::Ext::Git::TAG_BRANCH])
|
47
|
+
tags[Datadog::Ext::Git::TAG_REPOSITORY_URL] = filter_sensitive_info(tags[Datadog::Ext::Git::TAG_REPOSITORY_URL])
|
40
48
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
49
|
+
# Expand ~
|
50
|
+
workspace_path = tags[TAG_WORKSPACE_PATH]
|
51
|
+
if !workspace_path.nil? && (workspace_path == '~' || workspace_path.start_with?('~/'))
|
52
|
+
tags[TAG_WORKSPACE_PATH] = File.expand_path(workspace_path)
|
53
|
+
end
|
54
|
+
else
|
55
|
+
tags = {}
|
56
|
+
end
|
45
57
|
|
46
|
-
#
|
47
|
-
|
48
|
-
|
49
|
-
tags[TAG_WORKSPACE_PATH] = File.expand_path(workspace_path)
|
58
|
+
# Fill out tags from local git as fallback
|
59
|
+
extract_local_git.each do |key, value|
|
60
|
+
tags[key] ||= value
|
50
61
|
end
|
62
|
+
|
51
63
|
tags.reject { |_, v| v.nil? }
|
52
64
|
end
|
53
65
|
|
@@ -85,44 +97,45 @@ module Datadog
|
|
85
97
|
TAG_PIPELINE_URL => url,
|
86
98
|
TAG_JOB_URL => url,
|
87
99
|
Datadog::Ext::Git::TAG_BRANCH => branch,
|
88
|
-
Datadog::Ext::Git::TAG_TAG => tag
|
100
|
+
Datadog::Ext::Git::TAG_TAG => tag,
|
101
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => env['APPVEYOR_REPO_COMMIT_AUTHOR'],
|
102
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => env['APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL'],
|
103
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED']
|
89
104
|
}
|
90
105
|
end
|
91
106
|
|
92
107
|
def extract_azure_pipelines(env)
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
pipeline_url =
|
100
|
-
|
101
|
-
|
102
|
-
env['SYSTEM_PULLREQUEST_SOURCEBRANCH'] || env['BUILD_SOURCEBRANCH'] || env['BUILD_SOURCEBRANCHNAME']
|
103
|
-
)
|
104
|
-
if branch_or_tag.include? 'tags/'
|
105
|
-
branch = nil
|
106
|
-
tag = branch_or_tag
|
107
|
-
else
|
108
|
-
branch = branch_or_tag
|
109
|
-
tag = nil
|
108
|
+
build_id = env['BUILD_BUILDID']
|
109
|
+
|
110
|
+
if build_id &&
|
111
|
+
(team_foundation_server_uri = env['SYSTEM_TEAMFOUNDATIONSERVERURI']) &&
|
112
|
+
(team_project_id = env['SYSTEM_TEAMPROJECTID'])
|
113
|
+
|
114
|
+
pipeline_url = "#{team_foundation_server_uri}#{team_project_id}/_build/results?buildId=#{build_id}"
|
115
|
+
|
116
|
+
job_url = "#{pipeline_url}&view=logs&j=#{env['SYSTEM_JOBID']}&t=#{env['SYSTEM_TASKINSTANCEID']}"
|
110
117
|
end
|
118
|
+
|
119
|
+
branch, tag = branch_or_tag(env['SYSTEM_PULLREQUEST_SOURCEBRANCH'] ||
|
120
|
+
env['BUILD_SOURCEBRANCH'] ||
|
121
|
+
env['BUILD_SOURCEBRANCHNAME'])
|
122
|
+
|
111
123
|
{
|
112
124
|
TAG_PROVIDER_NAME => 'azurepipelines',
|
113
125
|
TAG_WORKSPACE_PATH => env['BUILD_SOURCESDIRECTORY'],
|
114
|
-
TAG_PIPELINE_ID =>
|
126
|
+
TAG_PIPELINE_ID => build_id,
|
115
127
|
TAG_PIPELINE_NAME => env['BUILD_DEFINITIONNAME'],
|
116
|
-
TAG_PIPELINE_NUMBER =>
|
128
|
+
TAG_PIPELINE_NUMBER => build_id,
|
117
129
|
TAG_PIPELINE_URL => pipeline_url,
|
118
130
|
TAG_JOB_URL => job_url,
|
119
|
-
Datadog::Ext::Git::TAG_REPOSITORY_URL =>
|
120
|
-
env['SYSTEM_PULLREQUEST_SOURCEREPOSITORYURI']
|
121
|
-
|
122
|
-
),
|
123
|
-
Datadog::Ext::Git::TAG_COMMIT_SHA => (env['SYSTEM_PULLREQUEST_SOURCECOMMITID'] || env['BUILD_SOURCEVERSION']),
|
131
|
+
Datadog::Ext::Git::TAG_REPOSITORY_URL =>
|
132
|
+
env['SYSTEM_PULLREQUEST_SOURCEREPOSITORYURI'] || env['BUILD_REPOSITORY_URI'],
|
133
|
+
Datadog::Ext::Git::TAG_COMMIT_SHA => env['SYSTEM_PULLREQUEST_SOURCECOMMITID'] || env['BUILD_SOURCEVERSION'],
|
124
134
|
Datadog::Ext::Git::TAG_BRANCH => branch,
|
125
|
-
Datadog::Ext::Git::TAG_TAG => tag
|
135
|
+
Datadog::Ext::Git::TAG_TAG => tag,
|
136
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => env['BUILD_REQUESTEDFORID'],
|
137
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => env['BUILD_REQUESTEDFOREMAIL'],
|
138
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['BUILD_SOURCEVERSIONMESSAGE']
|
126
139
|
}
|
127
140
|
end
|
128
141
|
|
@@ -135,12 +148,15 @@ module Datadog
|
|
135
148
|
Datadog::Ext::Git::TAG_REPOSITORY_URL => env['BITBUCKET_GIT_SSH_ORIGIN'],
|
136
149
|
Datadog::Ext::Git::TAG_TAG => env['BITBUCKET_TAG'],
|
137
150
|
TAG_JOB_URL => url,
|
138
|
-
TAG_PIPELINE_ID => env['BITBUCKET_PIPELINE_UUID'] ? env['BITBUCKET_PIPELINE_UUID'].tr('{}', '') :
|
151
|
+
TAG_PIPELINE_ID => env['BITBUCKET_PIPELINE_UUID'] ? env['BITBUCKET_PIPELINE_UUID'].tr('{}', '') : nil,
|
139
152
|
TAG_PIPELINE_NAME => env['BITBUCKET_REPO_FULL_NAME'],
|
140
153
|
TAG_PIPELINE_NUMBER => env['BITBUCKET_BUILD_NUMBER'],
|
141
154
|
TAG_PIPELINE_URL => url,
|
142
155
|
TAG_PROVIDER_NAME => 'bitbucket',
|
143
|
-
TAG_WORKSPACE_PATH => env['BITBUCKET_CLONE_DIR']
|
156
|
+
TAG_WORKSPACE_PATH => env['BITBUCKET_CLONE_DIR'],
|
157
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => env['BUILD_REQUESTEDFORID'],
|
158
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => env['BUILD_REQUESTEDFOREMAIL'],
|
159
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['BUILD_SOURCEVERSIONMESSAGE']
|
144
160
|
}
|
145
161
|
end
|
146
162
|
|
@@ -156,7 +172,10 @@ module Datadog
|
|
156
172
|
TAG_PIPELINE_URL => env['BUILDKITE_BUILD_URL'],
|
157
173
|
TAG_JOB_URL => "#{env['BUILDKITE_BUILD_URL']}##{env['BUILDKITE_JOB_ID']}",
|
158
174
|
TAG_PROVIDER_NAME => 'buildkite',
|
159
|
-
TAG_WORKSPACE_PATH => env['BUILDKITE_BUILD_CHECKOUT_PATH']
|
175
|
+
TAG_WORKSPACE_PATH => env['BUILDKITE_BUILD_CHECKOUT_PATH'],
|
176
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => env['BUILDKITE_BUILD_AUTHOR'],
|
177
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => env['BUILDKITE_BUILD_AUTHOR_EMAIL'],
|
178
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['BUILDKITE_MESSAGE']
|
160
179
|
}
|
161
180
|
end
|
162
181
|
|
@@ -168,23 +187,20 @@ module Datadog
|
|
168
187
|
Datadog::Ext::Git::TAG_TAG => env['CIRCLE_TAG'],
|
169
188
|
TAG_PIPELINE_ID => env['CIRCLE_WORKFLOW_ID'],
|
170
189
|
TAG_PIPELINE_NAME => env['CIRCLE_PROJECT_REPONAME'],
|
171
|
-
|
172
|
-
|
190
|
+
TAG_PIPELINE_URL => "https://app.circleci.com/pipelines/workflows/#{env['CIRCLE_WORKFLOW_ID']}",
|
191
|
+
TAG_JOB_NAME => env['CIRCLE_JOB'],
|
173
192
|
TAG_JOB_URL => env['CIRCLE_BUILD_URL'],
|
174
193
|
TAG_PROVIDER_NAME => 'circleci',
|
175
|
-
TAG_WORKSPACE_PATH => env['CIRCLE_WORKING_DIRECTORY']
|
194
|
+
TAG_WORKSPACE_PATH => env['CIRCLE_WORKING_DIRECTORY'],
|
195
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => env['BUILD_REQUESTEDFORID'],
|
196
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => env['BUILD_REQUESTEDFOREMAIL'],
|
197
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['BUILD_SOURCEVERSIONMESSAGE']
|
176
198
|
}
|
177
199
|
end
|
178
200
|
|
179
201
|
def extract_github_actions(env)
|
180
|
-
|
181
|
-
|
182
|
-
branch = nil
|
183
|
-
tag = branch_or_tag
|
184
|
-
else
|
185
|
-
branch = branch_or_tag
|
186
|
-
tag = nil
|
187
|
-
end
|
202
|
+
branch, tag = branch_or_tag(env['GITHUB_HEAD_REF'] || env['GITHUB_REF'])
|
203
|
+
|
188
204
|
{
|
189
205
|
Datadog::Ext::Git::TAG_BRANCH => branch,
|
190
206
|
Datadog::Ext::Git::TAG_COMMIT_SHA => env['GITHUB_SHA'],
|
@@ -196,13 +212,15 @@ module Datadog
|
|
196
212
|
TAG_PIPELINE_NUMBER => env['GITHUB_RUN_NUMBER'],
|
197
213
|
TAG_PIPELINE_URL => "https://github.com/#{env['GITHUB_REPOSITORY']}/commit/#{env['GITHUB_SHA']}/checks",
|
198
214
|
TAG_PROVIDER_NAME => 'github',
|
199
|
-
TAG_WORKSPACE_PATH => env['GITHUB_WORKSPACE']
|
215
|
+
TAG_WORKSPACE_PATH => env['GITHUB_WORKSPACE'],
|
216
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => env['BUILD_REQUESTEDFORID'],
|
217
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => env['BUILD_REQUESTEDFOREMAIL'],
|
218
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['BUILD_SOURCEVERSIONMESSAGE']
|
200
219
|
}
|
201
220
|
end
|
202
221
|
|
203
222
|
def extract_gitlab(env)
|
204
223
|
url = env['CI_PIPELINE_URL']
|
205
|
-
url = url.gsub(%r{/-/pipelines/}, '/pipelines/') unless url.nil?
|
206
224
|
{
|
207
225
|
Datadog::Ext::Git::TAG_BRANCH => env['CI_COMMIT_BRANCH'],
|
208
226
|
Datadog::Ext::Git::TAG_COMMIT_SHA => env['CI_COMMIT_SHA'],
|
@@ -214,24 +232,20 @@ module Datadog
|
|
214
232
|
TAG_PIPELINE_ID => env['CI_PIPELINE_ID'],
|
215
233
|
TAG_PIPELINE_NAME => env['CI_PROJECT_PATH'],
|
216
234
|
TAG_PIPELINE_NUMBER => env['CI_PIPELINE_IID'],
|
217
|
-
TAG_PIPELINE_URL => url,
|
235
|
+
TAG_PIPELINE_URL => (url.gsub(%r{/-/pipelines/}, '/pipelines/') if url),
|
218
236
|
TAG_PROVIDER_NAME => 'gitlab',
|
219
|
-
TAG_WORKSPACE_PATH => env['CI_PROJECT_DIR']
|
237
|
+
TAG_WORKSPACE_PATH => env['CI_PROJECT_DIR'],
|
238
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['CI_COMMIT_MESSAGE']
|
220
239
|
}
|
221
240
|
end
|
222
241
|
|
223
242
|
def extract_jenkins(env)
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
branch = branch_or_tag
|
230
|
-
tag = nil
|
243
|
+
branch, tag = branch_or_tag(env['GIT_BRANCH'])
|
244
|
+
|
245
|
+
if (name = env['JOB_NAME'])
|
246
|
+
name = name.gsub("/#{normalize_ref(branch)}", '') if branch
|
247
|
+
name = name.split('/').reject { |v| v.nil? || v.include?('=') }.join('/')
|
231
248
|
end
|
232
|
-
name = env['JOB_NAME']
|
233
|
-
name = name.gsub("/#{normalize_ref(branch)}", '') unless name.nil? || branch.nil?
|
234
|
-
name = name.split('/').reject { |v| v.nil? || v.include?('=') }.join('/') unless name.nil?
|
235
249
|
{
|
236
250
|
Datadog::Ext::Git::TAG_BRANCH => branch,
|
237
251
|
Datadog::Ext::Git::TAG_COMMIT_SHA => env['GIT_COMMIT'],
|
@@ -242,7 +256,10 @@ module Datadog
|
|
242
256
|
TAG_PIPELINE_NUMBER => env['BUILD_NUMBER'],
|
243
257
|
TAG_PIPELINE_URL => env['BUILD_URL'],
|
244
258
|
TAG_PROVIDER_NAME => 'jenkins',
|
245
|
-
TAG_WORKSPACE_PATH => env['WORKSPACE']
|
259
|
+
TAG_WORKSPACE_PATH => env['WORKSPACE'],
|
260
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => env['BUILD_REQUESTEDFORID'],
|
261
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => env['BUILD_REQUESTEDFOREMAIL'],
|
262
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['BUILD_SOURCEVERSIONMESSAGE']
|
246
263
|
}
|
247
264
|
end
|
248
265
|
|
@@ -256,7 +273,10 @@ module Datadog
|
|
256
273
|
TAG_PIPELINE_NUMBER => env['BUILD_NUMBER'],
|
257
274
|
TAG_PIPELINE_URL => (
|
258
275
|
env['SERVER_URL'] && env['BUILD_ID'] ? "#{env['SERVER_URL']}/viewLog.html?buildId=#{env['SERVER_URL']}" : nil
|
259
|
-
)
|
276
|
+
),
|
277
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => env['BUILD_REQUESTEDFORID'],
|
278
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => env['BUILD_REQUESTEDFOREMAIL'],
|
279
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['BUILD_SOURCEVERSIONMESSAGE']
|
260
280
|
}
|
261
281
|
end
|
262
282
|
|
@@ -272,7 +292,8 @@ module Datadog
|
|
272
292
|
TAG_PIPELINE_NUMBER => env['TRAVIS_BUILD_NUMBER'],
|
273
293
|
TAG_PIPELINE_URL => env['TRAVIS_BUILD_WEB_URL'],
|
274
294
|
TAG_PROVIDER_NAME => 'travisci',
|
275
|
-
TAG_WORKSPACE_PATH => env['TRAVIS_BUILD_DIR']
|
295
|
+
TAG_WORKSPACE_PATH => env['TRAVIS_BUILD_DIR'],
|
296
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['TRAVIS_COMMIT_MESSAGE']
|
276
297
|
}
|
277
298
|
end
|
278
299
|
|
@@ -293,9 +314,123 @@ module Datadog
|
|
293
314
|
Datadog::Ext::Git::TAG_REPOSITORY_URL => env['GIT_REPOSITORY_URL'],
|
294
315
|
Datadog::Ext::Git::TAG_COMMIT_SHA => commit,
|
295
316
|
Datadog::Ext::Git::TAG_BRANCH => branch,
|
296
|
-
Datadog::Ext::Git::TAG_TAG => env['BITRISE_GIT_TAG']
|
317
|
+
Datadog::Ext::Git::TAG_TAG => env['BITRISE_GIT_TAG'],
|
318
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => env['BITRISE_GIT_MESSAGE']
|
297
319
|
}
|
298
320
|
end
|
321
|
+
|
322
|
+
def git_commit_users
|
323
|
+
# Get committer and author information in one command.
|
324
|
+
output = exec_git_command("git show -s --format='%an\t%ae\t%at\t%cn\t%ce\t%ct'")
|
325
|
+
return unless output
|
326
|
+
|
327
|
+
fields = output.split("\t").each(&:strip!)
|
328
|
+
|
329
|
+
{
|
330
|
+
author_name: fields[0],
|
331
|
+
author_email: fields[1],
|
332
|
+
# Because we can't get a reliable UTC time from all recent versions of git
|
333
|
+
# We have to rely on converting the date to UTC ourselves.
|
334
|
+
author_date: Time.at(fields[2].to_i).utc.to_datetime.iso8601,
|
335
|
+
committer_name: fields[3],
|
336
|
+
committer_email: fields[4],
|
337
|
+
# Because we can't get a reliable UTC time from all recent versions of git
|
338
|
+
# We have to rely on converting the date to UTC ourselves.
|
339
|
+
committer_date: Time.at(fields[5].to_i).utc.to_datetime.iso8601
|
340
|
+
}
|
341
|
+
rescue => e
|
342
|
+
Datadog.logger.debug("Unable to read git commit users: #{e.message} at #{e.backtrace.first}")
|
343
|
+
nil
|
344
|
+
end
|
345
|
+
|
346
|
+
def git_repository_url
|
347
|
+
exec_git_command('git ls-remote --get-url')
|
348
|
+
rescue => e
|
349
|
+
Datadog.logger.debug("Unable to read git repository url: #{e.message} at #{e.backtrace.first}")
|
350
|
+
nil
|
351
|
+
end
|
352
|
+
|
353
|
+
def git_commit_message
|
354
|
+
exec_git_command('git show -s --format=%s')
|
355
|
+
rescue => e
|
356
|
+
Datadog.logger.debug("Unable to read git commit message: #{e.message} at #{e.backtrace.first}")
|
357
|
+
nil
|
358
|
+
end
|
359
|
+
|
360
|
+
def git_branch
|
361
|
+
exec_git_command('git rev-parse --abbrev-ref HEAD')
|
362
|
+
rescue => e
|
363
|
+
Datadog.logger.debug("Unable to read git branch: #{e.message} at #{e.backtrace.first}")
|
364
|
+
nil
|
365
|
+
end
|
366
|
+
|
367
|
+
def git_commit_sha
|
368
|
+
exec_git_command('git rev-parse HEAD')
|
369
|
+
rescue => e
|
370
|
+
Datadog.logger.debug("Unable to read git commit SHA: #{e.message} at #{e.backtrace.first}")
|
371
|
+
nil
|
372
|
+
end
|
373
|
+
|
374
|
+
def git_tag
|
375
|
+
exec_git_command('git tag --points-at HEAD')
|
376
|
+
rescue => e
|
377
|
+
Datadog.logger.debug("Unable to read git tag: #{e.message} at #{e.backtrace.first}")
|
378
|
+
nil
|
379
|
+
end
|
380
|
+
|
381
|
+
def git_base_directory
|
382
|
+
exec_git_command('git rev-parse --show-toplevel')
|
383
|
+
rescue => e
|
384
|
+
Datadog.logger.debug("Unable to read git base directory: #{e.message} at #{e.backtrace.first}")
|
385
|
+
nil
|
386
|
+
end
|
387
|
+
|
388
|
+
def exec_git_command(cmd)
|
389
|
+
out, status = Open3.capture2e(cmd)
|
390
|
+
|
391
|
+
raise "Failed to run git command #{cmd}: #{out}" unless status.success?
|
392
|
+
|
393
|
+
out.strip! # There's always a "\n" at the end of the command output
|
394
|
+
|
395
|
+
return nil if out.empty?
|
396
|
+
|
397
|
+
out
|
398
|
+
end
|
399
|
+
|
400
|
+
def extract_local_git
|
401
|
+
env = {
|
402
|
+
TAG_WORKSPACE_PATH => git_base_directory,
|
403
|
+
Datadog::Ext::Git::TAG_REPOSITORY_URL => git_repository_url,
|
404
|
+
Datadog::Ext::Git::TAG_COMMIT_SHA => git_commit_sha,
|
405
|
+
Datadog::Ext::Git::TAG_BRANCH => git_branch,
|
406
|
+
Datadog::Ext::Git::TAG_TAG => git_tag,
|
407
|
+
Datadog::Ext::Git::TAG_COMMIT_MESSAGE => git_commit_message
|
408
|
+
}
|
409
|
+
|
410
|
+
if (commit_users = git_commit_users)
|
411
|
+
env.merge!(
|
412
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_NAME => commit_users[:author_name],
|
413
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_EMAIL => commit_users[:author_email],
|
414
|
+
Datadog::Ext::Git::TAG_COMMIT_AUTHOR_DATE => commit_users[:author_date],
|
415
|
+
Datadog::Ext::Git::TAG_COMMIT_COMMITTER_NAME => commit_users[:committer_name],
|
416
|
+
Datadog::Ext::Git::TAG_COMMIT_COMMITTER_EMAIL => commit_users[:committer_email],
|
417
|
+
Datadog::Ext::Git::TAG_COMMIT_COMMITTER_DATE => commit_users[:committer_date]
|
418
|
+
)
|
419
|
+
end
|
420
|
+
|
421
|
+
env
|
422
|
+
end
|
423
|
+
|
424
|
+
def branch_or_tag(branch_or_tag)
|
425
|
+
branch = tag = nil
|
426
|
+
if branch_or_tag.include?('tags/')
|
427
|
+
tag = branch_or_tag
|
428
|
+
else
|
429
|
+
branch = branch_or_tag
|
430
|
+
end
|
431
|
+
|
432
|
+
[branch, tag]
|
433
|
+
end
|
299
434
|
end
|
300
435
|
# rubocop:enable Metrics/ModuleLength:
|
301
436
|
end
|