summaryrefslogtreecommitdiff
path: root/.gitlab
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2019-06-28 12:52:48 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2019-06-28 12:52:48 +0000
commit423c4c43cb73c72e8b27d7c091f392e3a09be354 (patch)
tree4af4031686f4528d93cd73632df96a231de210b8 /.gitlab
parent1dbdd3d4330c02de6546e57545d83fa3ce9d6ef1 (diff)
parentfb1d433703f902987a358af0d9cac12b64ec440e (diff)
downloadgitlab-ce-423c4c43cb73c72e8b27d7c091f392e3a09be354.tar.gz
Merge branch '62722-boot-app-in-ci-and-check-memory' into 'master'
Get memory data after booting app in production Closes #63585 See merge request gitlab-org/gitlab-ce!30031
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/ci/memory.gitlab-ci.yml23
1 files changed, 23 insertions, 0 deletions
diff --git a/.gitlab/ci/memory.gitlab-ci.yml b/.gitlab/ci/memory.gitlab-ci.yml
index 2f3907a331a..ffe5dbdc31b 100644
--- a/.gitlab/ci/memory.gitlab-ci.yml
+++ b/.gitlab/ci/memory.gitlab-ci.yml
@@ -17,3 +17,26 @@ memory-static:
- tmp/memory_*.txt
reports:
metrics: tmp/memory_metrics.txt
+
+# Show memory usage caused by invoking require per gem.
+# Unlike `memory-static`, it hits the app with one request to ensure that any last minute require-s have been called.
+# The application is booted in `production` environment.
+# All tests are run without a webserver (directly using Rack::Mock by default).
+memory-on-boot:
+ extends: .rspec-metadata-pg-10
+ variables:
+ NODE_ENV: "production"
+ RAILS_ENV: "production"
+ SETUP_DB: "true"
+ SKIP_STORAGE_VALIDATION: "true"
+ # we override the max_old_space_size to prevent OOM errors
+ NODE_OPTIONS: --max_old_space_size=3584
+ script:
+ # Both bootsnap and derailed monkey-patch Kernel#require, which leads to circular dependency
+ - DISABLE_BOOTSNAP=true PATH_TO_HIT="/users/sign_in" CUT_OFF=0.3 bundle exec derailed exec perf:mem >> 'tmp/memory_on_boot.txt'
+ - scripts/generate-memory-metrics-on-boot tmp/memory_on_boot.txt >> 'tmp/memory_on_boot_metrics.txt'
+ artifacts:
+ paths:
+ - tmp/memory_*.txt
+ reports:
+ metrics: tmp/memory_on_boot_metrics.txt