21 lines
690 B
Plaintext
21 lines
690 B
Plaintext
![]() |
#!/usr/bin/env ruby
|
||
|
|
||
|
require_relative '../lib/gitlab/popen'
|
||
|
|
||
|
full_report_filename, metrics_filename = ARGV
|
||
|
abort 'usage: memory-static <full_report_filename> <metrics_filename>' unless full_report_filename && metrics_filename
|
||
|
|
||
|
full_report, status = Gitlab::Popen.popen(%w(bundle exec derailed bundle:mem))
|
||
|
abort 'failed to execute the benchmark' unless status.zero?
|
||
|
|
||
|
File.open(full_report_filename, 'w') do |f|
|
||
|
f.write(full_report)
|
||
|
end
|
||
|
|
||
|
stats = /TOP: (?<total_mibs_str>.*) MiB/.match(full_report.lines.first)
|
||
|
abort 'failed to process the benchmark output' unless stats
|
||
|
|
||
|
File.open(metrics_filename, 'a') do |f|
|
||
|
f.puts "memory_static_total_mb #{stats[:total_mibs_str].to_f.round(1)}"
|
||
|
end
|