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