summaryrefslogtreecommitdiff
path: root/.gitlab
diff options
context:
space:
mode:
authorQingyu Zhao <qzhao@gitlab.com>2019-06-19 10:52:34 +1000
committerQingyu Zhao <qzhao@gitlab.com>2019-06-21 20:05:59 +1000
commit940fcc9ff2d53bcfb050e402b3defa8619cce592 (patch)
tree3efbf47f9654a921c9eef41d5d482db417c38853 /.gitlab
parent1f3086a99c5837d50da0e2a55fdbb194d6a699a3 (diff)
downloadgitlab-ce-940fcc9ff2d53bcfb050e402b3defa8619cce592.tar.gz
Generate gem size metrics in memory CI62722-add-gem-size-data-to-metrics-report
This includes several changes: - Rename memory-static to generate-gems-size-metrics-static - Rename memory-static-objects to generate-gems-memory-metrics-static - Change generate-gems-size-metrics-static interface. The script now expect `bundle exec derailed bundle:mem` output as its input. The script output to stdout, or stderr for error message. - Change generate-gems-memory-metrics-static interface. The script now expect `bundle exec derailed bundle:objects` output as its input. The script output to stdout, or stderr for error message. - Generate gem size metrics. Script generate-gems-size-metrics-static extract each gem size from `bundle exec derailed bundle:mem` output. Save output to metrics file in format: 'gem_size_mb{name="zip"} 0.5'
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/ci/memory.gitlab-ci.yml12
1 files changed, 6 insertions, 6 deletions
diff --git a/.gitlab/ci/memory.gitlab-ci.yml b/.gitlab/ci/memory.gitlab-ci.yml
index 50b843df585..2f3907a331a 100644
--- a/.gitlab/ci/memory.gitlab-ci.yml
+++ b/.gitlab/ci/memory.gitlab-ci.yml
@@ -5,15 +5,15 @@ memory-static:
# Loads each of gems in the Gemfile and checks how much memory they consume when they are required.
# 'derailed_benchmarks' internally uses 'get_process_mem'
- - scripts/memory-static 'tmp/memory_static_full_report.txt' 'tmp/memory_static_metrics.txt'
+ - bundle exec derailed bundle:mem > tmp/memory_bundle_mem.txt
+ - scripts/generate-gems-size-metrics-static tmp/memory_bundle_mem.txt >> 'tmp/memory_metrics.txt'
# Outputs detailed information about objects created while gems are loaded.
# 'derailed_benchmarks' internally uses 'memory_profiler'
- - scripts/memory-static-objects 'tmp/memory_static_objects_full_report.txt' 'tmp/memory_static_metrics.txt'
+ - bundle exec derailed bundle:objects > tmp/memory_bundle_objects.txt
+ - scripts/generate-gems-memory-metrics-static tmp/memory_bundle_objects.txt >> 'tmp/memory_metrics.txt'
artifacts:
paths:
- - tmp/memory_static_full_report.txt
- - tmp/memory_static_objects_full_report.txt
- - tmp/memory_static_metrics.txt
+ - tmp/memory_*.txt
reports:
- metrics: tmp/memory_static_metrics.txt
+ metrics: tmp/memory_metrics.txt