lib/whysoslow/memory_profile.rb in whysoslow-0.0.2 vs lib/whysoslow/memory_profile.rb in whysoslow-1.0.0

- old
+ new

@@ -1,11 +1,8 @@ module Whysoslow - class MemoryProfile - class Snapshot; end - attr_reader :snapshots, :divider attr_accessor :units def initialize(units='MB') @snapshots = [] @@ -19,28 +16,25 @@ ['MB', 1000] end end def snapshot(label) - Snapshot.new(label, @divider).tap { |snap| @snapshots.push(snap) } + Snapshot.new(label, @divider).tap{ |snap| @snapshots.push(snap) } end - end + class Snapshot + attr_reader :label, :memory - class MemoryProfile::Snapshot + def initialize(label, divider) + @label = label + @memory = capture_memory_usage(divider) + end - attr_reader :label, :memory + protected - def initialize(label, divider) - @label = label - @memory = capture_memory_usage(divider) + def capture_memory_usage(divider) + ((`ps -o rss= -p #{$$}`.to_i) / divider.to_f) + end end - protected - - def capture_memory_usage(divider) - ((`ps -o rss= -p #{$$}`.to_i) / divider.to_f) - end - end - end