process-metrics 0.10.1 → 0.10.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: 9ba73a437e475ddef14fcc6359ccda80005af948d51f8ee16948483745e31808
4
- data.tar.gz: 91cdd79dda0ec324cb537e4e7f507a858b79cd0fe3adb67b7d216176557eb2ff
3
+ metadata.gz: 213edfd5fbe960b9a75ac7574f17828f6b9f24ec5328ebf8c6ee85dcafeae0c2
4
+ data.tar.gz: 8daf591b9691f058dbe87dd861c0d8ff2e2669edff94b098ad0de36440963b14
5
5
  SHA512:
6
- metadata.gz: 31588e588c2f4dd68a44072876e2dee6fa22a04226c23e937020ee4055a433bc5b90f8e90c016c470d00a44b50fc7d63d951c04566baba103247a2ed0c67f194
7
- data.tar.gz: 6b14d2d59122a4b7ef6df058102e7631623e6abe3f8be0f743c0653e31f44e0436f269b43aa3cc398c4bcd562cd7572ba867f5a33abf72c1ca186999392d7be3
6
+ metadata.gz: 7cfafb180bf9286f5eb35dd2d5393b77ca88fc86f8b93509aed2f30870255dbba5e617ceceb69c17607bc3e620b7599e8c11ab960323033a97087a2acc45340c
7
+ data.tar.gz: 78427458c5dd06674690a1fe3ffab4d1c85a6ce265defce5dc2191be874ee995c87299c86de9b83e88e84318425ca2b16361e69df4b9d26d4badca1dbb8078e7
checksums.yaml.gz.sig CHANGED
Binary file
@@ -23,11 +23,30 @@ module Process
23
23
  self.resident_size + self.swap_size
24
24
  end
25
25
 
26
- # The unique set size, the size of completely private (unshared) data.
27
- def unique_size
26
+ # The private set size, the size of completely private (unshared) data.
27
+ # This is the sum of Private_Clean and Private_Dirty pages.
28
+ # @returns [Integer] Total private memory in bytes.
29
+ def private_size
28
30
  self.private_clean_size + self.private_dirty_size
29
31
  end
30
32
 
33
+ # The private set size is also known as the unique set size.
34
+ alias unique_size private_size
35
+
36
+ # The total size of shared (potentially shared with other processes) memory.
37
+ # This is the sum of Shared_Clean and Shared_Dirty pages.
38
+ #
39
+ # When tracking Copy-on-Write (CoW) activity in forked processes:
40
+ # - Initially, most memory is shared between parent and child.
41
+ # - As the child writes to memory, CoW triggers and shared pages become private.
42
+ # - Tracking shared_size decrease vs unique_size increase can indicate CoW activity.
43
+ # - If shared_size decreases by X and unique_size increases by ~X, it's likely CoW.
44
+ #
45
+ # @returns [Integer] Total shared memory in bytes.
46
+ def shared_size
47
+ self.shared_clean_size + self.shared_dirty_size
48
+ end
49
+
31
50
  # Create a zero-initialized Memory instance.
32
51
  # @returns [Memory] A new Memory object with all fields set to zero.
33
52
  def self.zero
@@ -7,6 +7,6 @@
7
7
  module Process
8
8
  # @namespace
9
9
  module Metrics
10
- VERSION = "0.10.1"
10
+ VERSION = "0.10.2"
11
11
  end
12
12
  end
data/readme.md CHANGED
@@ -16,6 +16,10 @@ Please see the [project documentation](https://socketry.github.io/process-metric
16
16
 
17
17
  Please see the [project releases](https://socketry.github.io/process-metrics/releases/index) for all releases.
18
18
 
19
+ ### v0.10.2
20
+
21
+ - Add `Process::Metrics::Memory#private_size` for the sum of private (unshared) pages (Private\_Clean + Private\_Dirty); `#unique_size` is now an alias for `#private_size`.
22
+
19
23
  ### v0.10.1
20
24
 
21
25
  - Consistent use of `_size` suffix.
@@ -58,12 +62,6 @@ Please see the [project releases](https://socketry.github.io/process-metrics/rel
58
62
  - Improved support for proportional memory usage (PSS).
59
63
  - Exposed total system memory information.
60
64
 
61
- ### v0.4.0
62
-
63
- - Fixed command formatting in output display.
64
- - Modernized codebase to use current Ruby conventions.
65
- - Improved Darwin (macOS) support with better platform-specific handling.
66
-
67
65
  ## Contributing
68
66
 
69
67
  We welcome contributions to this project.
data/releases.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Releases
2
2
 
3
+ ## v0.10.2
4
+
5
+ - Add `Process::Metrics::Memory#private_size` for the sum of private (unshared) pages (Private\_Clean + Private\_Dirty); `#unique_size` is now an alias for `#private_size`.
6
+
3
7
  ## v0.10.1
4
8
 
5
9
  - Consistent use of `_size` suffix.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: process-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
metadata.gz.sig CHANGED
Binary file