diff options
author | Aleksei Lipniagov <alipniagov@gitlab.com> | 2019-06-25 15:11:06 +0300 |
---|---|---|
committer | Aleksei Lipniagov <alipniagov@gitlab.com> | 2019-06-28 13:49:57 +0300 |
commit | fb1d433703f902987a358af0d9cac12b64ec440e (patch) | |
tree | 8caf42f0323a3137747b87a6a93637dd736b0b15 /scripts | |
parent | 5ee5b280b05f63768f359d0b82d5edd490c0e7cd (diff) | |
download | gitlab-ce-fb1d433703f902987a358af0d9cac12b64ec440e.tar.gz |
Get memory data after booting app in production62722-boot-app-in-ci-and-check-memory
Preload the app in `production` env, hit it with a single request, and
gather total gem memory consumption data using `derailed exec perf:mem`
from `derailed_benchmarks`. Present the result as MR metrics.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/generate-memory-metrics-on-boot | 11 | ||||
-rw-r--r-- | scripts/prepare_build.sh | 9 |
2 files changed, 16 insertions, 4 deletions
diff --git a/scripts/generate-memory-metrics-on-boot b/scripts/generate-memory-metrics-on-boot new file mode 100755 index 00000000000..5197a8fcdcd --- /dev/null +++ b/scripts/generate-memory-metrics-on-boot @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby + +abort "usage: #{__FILE__} <memory_bundle_mem_file_name>" unless ARGV.length == 1 +memory_bundle_mem_file_name = ARGV.first + +full_report = File.open(memory_bundle_mem_file_name).read + +stats = /TOP: (?<total_mibs_str>.*) MiB/.match(full_report) +abort 'failed to process the benchmark output' unless stats + +puts "total_memory_used_by_dependencies_on_boot_prod_env_mb #{stats[:total_mibs_str].to_f.round(1)}" diff --git a/scripts/prepare_build.sh b/scripts/prepare_build.sh index 9b0d5d4f719..c1cade0a820 100644 --- a/scripts/prepare_build.sh +++ b/scripts/prepare_build.sh @@ -35,6 +35,7 @@ sed -i 's/username: root/username: gitlab/g' config/database.yml if [ "$GITLAB_DATABASE" = 'postgresql' ]; then sed -i 's/localhost/postgres/g' config/database.yml + sed -i 's/username: git/username: postgres/g' config/database.yml if [ -f config/database_geo.yml ]; then sed -i 's/localhost/postgres/g' config/database_geo.yml @@ -48,16 +49,16 @@ else # Assume it's mysql fi cp config/resque.yml.example config/resque.yml -sed -i 's/localhost/redis/g' config/resque.yml +sed -i 's|url:.*$|url: redis://redis:6379|g' config/resque.yml cp config/redis.cache.yml.example config/redis.cache.yml -sed -i 's/localhost/redis/g' config/redis.cache.yml +sed -i 's|url:.*$|url: redis://redis:6379/10|g' config/redis.cache.yml cp config/redis.queues.yml.example config/redis.queues.yml -sed -i 's/localhost/redis/g' config/redis.queues.yml +sed -i 's|url:.*$|url: redis://redis:6379/11|g' config/redis.queues.yml cp config/redis.shared_state.yml.example config/redis.shared_state.yml -sed -i 's/localhost/redis/g' config/redis.shared_state.yml +sed -i 's|url:.*$|url: redis://redis:6379/12|g' config/redis.shared_state.yml if [ "$SETUP_DB" != "false" ]; then setup_db |