From f44719f39cb9ee88c63759caa582d484cd6d4e9a Mon Sep 17 00:00:00 2001 From: Aleksei Lipniagov Date: Tue, 25 Jun 2019 15:11:06 +0300 Subject: Get memory data after booting app in production 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. --- scripts/generate-memory-metrics-on-boot | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 scripts/generate-memory-metrics-on-boot (limited to 'scripts/generate-memory-metrics-on-boot') 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__} " unless ARGV.length == 1 +memory_bundle_mem_file_name = ARGV.first + +full_report = File.open(memory_bundle_mem_file_name).read + +stats = /TOP: (?.*) 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)}" -- cgit v1.2.1