From 7ca3950418af73670ba33ed3e0c78606e06c7b55 Mon Sep 17 00:00:00 2001
From: Raina Masand <[email protected]>
Date: Fri, 2 Mar 2018 15:01:59 -0800
Subject: Patch to make heap dump possible
Signed-off-by: Tim Downey <[email protected]>
---
lib/cloud_controller/runner.rb | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/lib/cloud_controller/runner.rb b/lib/cloud_controller/runner.rb
index 03895fa..032ab57 100644
--- a/lib/cloud_controller/runner.rb
+++ b/lib/cloud_controller/runner.rb
@@ -13,6 +13,7 @@ require 'cloud_controller/metrics/periodic_updater'
require 'cloud_controller/metrics/request_metrics'
require_relative 'message_bus_configurer'
+require 'objspace'; ObjectSpace.trace_object_allocations_start
module VCAP::CloudController
class Runner
@@ -122,6 +123,24 @@ module VCAP::CloudController
EM.add_timer(0) do
logger.warn('Collecting diagnostics')
collect_diagnostics
+
+ File.open("/tmp/heap_dump_before_gc", "w") do |file|
+ ObjectSpace.dump_all(output: file)
+ end
+
+ File.open("/tmp/gc_stat_before_gc", "w") do |file|
+ file.write(GC.stat)
+ end
+
+ GC.start
+
+ File.open("/tmp/heap_dump_after_gc", "w") do |file|
+ ObjectSpace.dump_all(output: file)
+ end
+
+ File.open("/tmp/gc_stat_after_gc", "w") do |file|
+ file.write(GC.stat)
+ end
end
end
end
--
2.10.0