memory 0.4.0 → 0.4.2

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
  SHA256:
3
- metadata.gz: d560993f9f0c1142d7330fd7f17893d84c46a9d1a265150d5aa6bbc891175479
4
- data.tar.gz: bef207c3e7221996f9ac5a1caf9c025fa8da025ea47b8ac222933cc5c08f1947
3
+ metadata.gz: 007d5f4bf3d0a25dc887eefc4c7467f44a021e0658a4ac6acfe186da4c72c435
4
+ data.tar.gz: dcc7e341db91dccf9f3928d3eb7901606e31fc3df9bb7701c1ad3c1253e7d2c6
5
5
  SHA512:
6
- metadata.gz: 374e9de16464bcdc38453215dc0627d24651bb620f265453d37819e0faf6caef90be86f9ce772f70277a3aba4b4ec990d5587848c8964d17dd385359814081dc
7
- data.tar.gz: 4e86fe73db538a6ce6e6b21d8a1bf57f32da62d1c5b7077c6aff8ca1593706ee787c2102bc9a141cce9b4d177415e015f7570e076218ee29b374f32b18a919ad
6
+ metadata.gz: 0f5831fce8f53208b08a5c2fab8f0d4286077fbe69a9d1fe227888695be775259743f098fb8ef1a2dce9843e478ddcc7f66e37142567f79df9bbfe20f694ffbc
7
+ data.tar.gz: fac10ba0b56492a1d870217d31c92fb20e35c9cdb65dfb44d5b7bec41d673b0ccb2631f4d913575fa40474c5eaddece64e821c63cbd2f86819fb9f6b5b305a3c
checksums.yaml.gz.sig CHANGED
Binary file
@@ -18,7 +18,7 @@ def check(paths:)
18
18
  cache = Memory::Cache.new
19
19
  wrapper = Memory::Wrapper.new(cache)
20
20
 
21
- measure = Console.logger.measure(report, total_size)
21
+ progress = Console.logger.progress(report, total_size)
22
22
 
23
23
  paths.each do |path|
24
24
  Console.logger.info(report, "Loading #{path}, #{Memory.formatted_bytes File.size(path)}")
@@ -29,7 +29,7 @@ def check(paths:)
29
29
 
30
30
  report.concat(unpacker)
31
31
 
32
- measure.increment(io.size)
32
+ progress.increment(io.size)
33
33
  end
34
34
 
35
35
  Console.logger.info(report, "Loaded allocations, #{report.total_allocated}")
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2020-2022, by Samuel Williams.
4
+ # Copyright, 2020-2023, by Samuel Williams.
5
5
 
6
6
  module Memory
7
7
  UNITS = {
@@ -43,7 +43,7 @@ module Memory
43
43
  "(#{Memory.formatted_bytes memory} in #{count} allocations)"
44
44
  end
45
45
 
46
- def as_json
46
+ def as_json(options = nil)
47
47
  {
48
48
  memory: memory,
49
49
  count: count
@@ -89,11 +89,11 @@ module Memory
89
89
  io.puts nil
90
90
  end
91
91
 
92
- def as_json
92
+ def as_json(options = nil)
93
93
  {
94
94
  title: @title,
95
- total: @total.as_json,
96
- totals: @totals.map{|k, v| [k, v.as_json]}
95
+ total: @total.as_json(options),
96
+ totals: @totals.map{|k, v| [k, v.as_json(options)]}
97
97
  }
98
98
  end
99
99
  end
@@ -130,7 +130,7 @@ module Memory
130
130
  end
131
131
  end
132
132
 
133
- def as_json
133
+ def as_json(options = nil)
134
134
  {
135
135
  title: @title,
136
136
  aggregates: @aggregates.map{|k, v| [k, v.as_json]}
data/lib/memory/report.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2020-2022, by Samuel Williams.
4
+ # Copyright, 2020-2023, by Samuel Williams.
5
5
 
6
6
  require_relative 'aggregate'
7
7
 
@@ -58,11 +58,11 @@ module Memory
58
58
  end
59
59
  end
60
60
 
61
- def as_json
61
+ def as_json(options = nil)
62
62
  {
63
- total_allocated: @total_allocated.as_json,
64
- total_retained: @total_retained.as_json,
65
- aggregates: @aggregates.map(&:as_json)
63
+ total_allocated: @total_allocated.as_json(options),
64
+ total_retained: @total_retained.as_json(options),
65
+ aggregates: @aggregates.map{|aggregate| aggregate.as_json(options)}
66
66
  }
67
67
  end
68
68
 
@@ -11,7 +11,7 @@
11
11
  # Copyright, 2018, by Jonas Peschla.
12
12
  # Copyright, 2018, by Espartaco Palma.
13
13
  # Copyright, 2020, by Jean Boussier.
14
- # Copyright, 2020-2022, by Samuel Williams.
14
+ # Copyright, 2020-2024, by Samuel Williams.
15
15
 
16
16
  require 'objspace'
17
17
  require 'msgpack'
@@ -67,6 +67,10 @@ module Memory
67
67
  @allocated = Array.new
68
68
  end
69
69
 
70
+ def inspect
71
+ "#<#{self.class} #{@allocated.size} allocations>"
72
+ end
73
+
70
74
  attr :filter
71
75
 
72
76
  attr :cache
@@ -4,8 +4,8 @@
4
4
  # Copyright, 2013-2019, by Sam Saffron.
5
5
  # Copyright, 2015-2016, by Dave Gynn.
6
6
  # Copyright, 2018, by Jonas Peschla.
7
- # Copyright, 2020-2022, by Samuel Williams.
7
+ # Copyright, 2020-2024, by Samuel Williams.
8
8
 
9
9
  module Memory
10
- VERSION = "0.4.0"
10
+ VERSION = "0.4.2"
11
11
  end
data/license.md CHANGED
@@ -24,7 +24,7 @@ Copyright, 2019-2020, by Jean Boussier.
24
24
  Copyright, 2019, by Ashwin Maroli.
25
25
  Copyright, 2019, by Olle Jonsson.
26
26
  Copyright, 2019, by Danny Ben Shitrit.
27
- Copyright, 2020-2022, by Samuel Williams.
27
+ Copyright, 2020-2024, by Samuel Williams.
28
28
 
29
29
  Permission is hereby granted, free of charge, to any person obtaining a copy
30
30
  of this software and associated documentation files (the "Software"), to deal
data/readme.md CHANGED
@@ -49,41 +49,40 @@ report.print
49
49
  ``` ruby
50
50
  memory_sampler = nil
51
51
  config.before(:all) do |example_group|
52
- name = example_group.class.description.gsub(/[^\w]+/, "-")
52
+ name = example_group.class.description.gsub(/[^\w]+/, '-')
53
53
  path = "#{name}.mprof"
54
-
54
+
55
55
  skip if File.exist?(path)
56
-
56
+
57
57
  memory_sampler = Memory::Sampler.new
58
58
  memory_sampler.start
59
59
  end
60
60
 
61
61
  config.after(:all) do |example_group|
62
- name = example_group.class.description.gsub(/[^\w]+/, "-")
62
+ name = example_group.class.description.gsub(/[^\w]+/, '-')
63
63
  path = "#{name}.mprof"
64
-
64
+
65
65
  if memory_sampler
66
66
  memory_sampler.stop
67
-
67
+
68
68
  File.open(path, "w", encoding: Encoding::BINARY) do |io|
69
69
  memory_sampler.dump(io)
70
70
  end
71
-
71
+
72
72
  memory_sampler = nil
73
73
  end
74
74
  end
75
75
 
76
76
  config.after(:suite) do
77
77
  memory_sampler = Memory::Sampler.new
78
-
79
- Dir.glob("*.mprof") do |path|
80
- memory_sampler.load(File.read(
81
- path,
82
- encoding: Encoding::BINARY,
83
- ))
78
+
79
+ Dir.glob('*.mprof') do |path|
80
+ $stderr.puts "Loading #{path}..."
81
+ memory_sampler.load(File.read(path, encoding: Encoding::BINARY))
84
82
  end
85
-
86
- memory_sampler.results.print
83
+
84
+ $stderr.puts "Memory usage:"
85
+ memory_sampler.report.print
87
86
  end
88
87
  ```
89
88
 
@@ -121,3 +120,11 @@ We welcome contributions to this project.
121
120
  3. Commit your changes (`git commit -am 'Add some feature'`).
122
121
  4. Push to the branch (`git push origin my-new-feature`).
123
122
  5. Create new Pull Request.
123
+
124
+ ### Developer Certificate of Origin
125
+
126
+ This project uses the [Developer Certificate of Origin](https://developercertificate.org/). All contributors to this project must agree to this document to have their contributions accepted.
127
+
128
+ ### Contributor Covenant
129
+
130
+ This project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
8
  - Dave Gynn
9
+ - Samuel Williams
9
10
  - Nick LaMuro
10
11
  - Jonas Peschla
11
- - Samuel Williams
12
12
  - Ashwin Maroli
13
13
  - Søren Skovsbøll
14
14
  - Richard Schneeman
@@ -61,7 +61,7 @@ cert_chain:
61
61
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
62
62
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
63
63
  -----END CERTIFICATE-----
64
- date: 2022-11-15 00:00:00.000000000 Z
64
+ date: 2024-02-13 00:00:00.000000000 Z
65
65
  dependencies:
66
66
  - !ruby/object:Gem::Dependency
67
67
  name: bake
@@ -105,62 +105,6 @@ dependencies:
105
105
  - - ">="
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
- - !ruby/object:Gem::Dependency
109
- name: bake-test
110
- requirement: !ruby/object:Gem::Requirement
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: '0'
115
- type: :development
116
- prerelease: false
117
- version_requirements: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- version: '0'
122
- - !ruby/object:Gem::Dependency
123
- name: bundler
124
- requirement: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- version: '0'
129
- type: :development
130
- prerelease: false
131
- version_requirements: !ruby/object:Gem::Requirement
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- version: '0'
136
- - !ruby/object:Gem::Dependency
137
- name: covered
138
- requirement: !ruby/object:Gem::Requirement
139
- requirements:
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: '0'
143
- type: :development
144
- prerelease: false
145
- version_requirements: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- version: '0'
150
- - !ruby/object:Gem::Dependency
151
- name: sus
152
- requirement: !ruby/object:Gem::Requirement
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- version: '0'
157
- type: :development
158
- prerelease: false
159
- version_requirements: !ruby/object:Gem::Requirement
160
- requirements:
161
- - - ">="
162
- - !ruby/object:Gem::Version
163
- version: '0'
164
108
  description:
165
109
  email:
166
110
  executables: []
@@ -190,14 +134,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
134
  requirements:
191
135
  - - ">="
192
136
  - !ruby/object:Gem::Version
193
- version: 2.3.0
137
+ version: '3.0'
194
138
  required_rubygems_version: !ruby/object:Gem::Requirement
195
139
  requirements:
196
140
  - - ">="
197
141
  - !ruby/object:Gem::Version
198
142
  version: '0'
199
143
  requirements: []
200
- rubygems_version: 3.3.7
144
+ rubygems_version: 3.5.3
201
145
  signing_key:
202
146
  specification_version: 4
203
147
  summary: Memory profiling routines for Ruby 2.3+
metadata.gz.sig CHANGED
Binary file