memory_profiler 0.9.3 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 545f30ccec454603793e034e1a9fe59822b20af0
4
- data.tar.gz: 96809aaa48fcdfab351598ef9dbcf4913f065d1d
3
+ metadata.gz: 841f12f37a8d6ee73594fc0e9ab8718a1d79fb01
4
+ data.tar.gz: ecb6925b365225274bfca91f11161d9dd83cd5d9
5
5
  SHA512:
6
- metadata.gz: 0f5b25c569547c35cb625e5597f266d5d7dba81a867a964bfd81bf94a92f51925f79193ddcf3b673b6515e8caf241a96a53e7f5243ec704eea7a26e4c9755546
7
- data.tar.gz: 8b4b08dafe1c47da018538e1f6fcc41db8440d7a4674e4b708a2c1db38a187febb6bef1a3402ea90a9d4fc6f81c212e11345a6eb1bf9acc7a50bd7a112d3fe61
6
+ metadata.gz: 87d5d6cb856bf78f196edef91c06d04ab8ad239d2c124cb1233ceeb90e8363a0deaccfd1a00d10ad68290e84b008ae83e9312fbb6b6a89d1fe433edb7aeb72b5
7
+ data.tar.gz: 68125449269c55e6f9e18299ba43bd4d743eb3f5a3e49558b7d7ef2b339a8942355678480ee52f40d72d74512cb347c5bad17ff9fd1f81d357f19ee4d10cb9f9
data/README.md CHANGED
@@ -366,6 +366,10 @@ Memory profiler also performs some String analysis to help you find strings that
366
366
 
367
367
  ## Changelog
368
368
 
369
+ ### 0.9.4
370
+ - FIX: remove incorrect RVALUE offset on 2.2 @dgynn
371
+ - FEATURE: add total memory usage @dgynn
372
+
369
373
  ### 0.9.3
370
374
  - Add class reporting
371
375
 
@@ -109,7 +109,8 @@ module MemoryProfiler
109
109
  begin
110
110
  object_id = obj.__id__
111
111
 
112
- memsize = ObjectSpace.memsize_of(obj) + rvalue_size
112
+ memsize = ObjectSpace.memsize_of(obj)
113
+ memsize += rvalue_size if RUBY_VERSION < '2.2'.freeze
113
114
  # compensate for API bug
114
115
  memsize = rvalue_size if memsize > 100_000_000_000
115
116
  results[object_id] = Stat.new(class_name, file, line, class_path, method_id, memsize)
@@ -38,6 +38,7 @@ module MemoryProfiler
38
38
 
39
39
  attr_accessor :strings_retained, :strings_allocated
40
40
  attr_accessor :total_retained, :total_allocated
41
+ attr_accessor :total_retained_memsize, :total_allocated_memsize
41
42
 
42
43
  def self.from_raw(allocated, retained, top)
43
44
  self.new.register_results(allocated, retained, top)
@@ -62,7 +63,9 @@ module MemoryProfiler
62
63
  self.strings_retained = string_report(retained, top)
63
64
 
64
65
  self.total_allocated = allocated.count
66
+ self.total_allocated_memsize = allocated.values.map(&:memsize).inject(:+) || 0
65
67
  self.total_retained = retained.count
68
+ self.total_retained_memsize = retained.values.map(&:memsize).inject(:+) || 0
66
69
 
67
70
  self
68
71
  end
@@ -86,8 +89,9 @@ module MemoryProfiler
86
89
  color_output = options.fetch(:color_output) { io.respond_to?(:isatty) && io.isatty }
87
90
  @colorize = color_output ? Polychrome.new : Monochrome.new
88
91
 
89
- io.puts "Total allocated #{total_allocated}"
90
- io.puts "Total retained #{total_retained}"
92
+ io.puts "Total allocated: #{total_allocated_memsize} bytes (#{total_allocated} objects)"
93
+ io.puts "Total retained: #{total_retained_memsize} bytes (#{total_retained} objects)"
94
+
91
95
  io.puts
92
96
  ["allocated", "retained"]
93
97
  .product(["memory", "objects"])
@@ -1,3 +1,3 @@
1
1
  module MemoryProfiler
2
- VERSION = "0.9.3"
2
+ VERSION = "0.9.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memory_profiler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.3
4
+ version: 0.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-04 00:00:00.000000000 Z
11
+ date: 2015-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler