diff options
author | Qingyu Zhao <qzhao@gitlab.com> | 2019-06-19 03:52:34 +0300 |
---|---|---|
committer | Qingyu Zhao <qzhao@gitlab.com> | 2019-06-21 13:05:59 +0300 |
commit | 940fcc9ff2d53bcfb050e402b3defa8619cce592 (patch) | |
tree | 3efbf47f9654a921c9eef41d5d482db417c38853 /scripts/memory-static-objects | |
parent | 1f3086a99c5837d50da0e2a55fdbb194d6a699a3 (diff) |
Generate gem size metrics in memory CI
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 'scripts/memory-static-objects')
-rwxr-xr-x | scripts/memory-static-objects | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/scripts/memory-static-objects b/scripts/memory-static-objects deleted file mode 100755 index 2ad38d9717c..00000000000 --- a/scripts/memory-static-objects +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env ruby - -require_relative '../lib/gitlab/popen' - -full_report_filename, metrics_filename = ARGV -abort 'usage: memory-static-objects <full_report_filename> <metrics_filename>' unless full_report_filename && metrics_filename - -full_report, status = Gitlab::Popen.popen(%w(bundle exec derailed bundle:objects)) -abort 'failed to execute the benchmark' unless status.zero? - -File.open(full_report_filename, 'w') do |f| - f.write(full_report) -end - -allocated_str = full_report.lines[1] -retained_str = full_report.lines[2] -allocated_stats = /Total allocated: (?<bytes>.*) bytes \((?<objects>.*) objects\)/.match(allocated_str) -retained_stats = /Total retained: (?<bytes>.*) bytes \((?<objects>.*) objects\)/.match(retained_str) - -abort 'failed to process the benchmark output' unless allocated_stats && retained_stats - -File.open(metrics_filename, 'a') do |f| - f.puts "memory_static_objects_allocated_mb #{(allocated_stats[:bytes].to_f / (1024 * 1024)).round(1)}" - f.puts "memory_static_objects_retained_mb #{(retained_stats[:bytes].to_f / (104 * 1024)).round(1)}" - f.puts "memory_static_objects_allocated_items #{allocated_stats[:objects]}" - f.puts "memory_static_objects_retained_items #{retained_stats[:objects]}" -end |