process-metrics 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2025, by Samuel Williams.
5
+
6
+ module Process
7
+ module Metrics
8
+ class Memory::Linux
9
+ # The fields that will be extracted from the `smaps` data.
10
+ SMAP = {
11
+ "Rss" => :resident_size,
12
+ "Pss" => :proportional_size,
13
+ "Shared_Clean" => :shared_clean_size,
14
+ "Shared_Dirty" => :shared_dirty_size,
15
+ "Private_Clean" => :private_clean_size,
16
+ "Private_Dirty" => :private_dirty_size,
17
+ "Referenced" => :referenced_size,
18
+ "Anonymous" => :anonymous_size,
19
+ "Swap" => :swap_size,
20
+ "SwapPss" => :proportional_swap_size,
21
+ }
22
+
23
+ if File.readable?("/proc/self/smaps_rollup")
24
+ # Whether the memory usage can be captured on this system.
25
+ def self.supported?
26
+ true
27
+ end
28
+
29
+ # Capture memory usage for the given process IDs.
30
+ def self.capture(pids)
31
+ usage = Memory.zero
32
+
33
+ pids.each do |pid|
34
+ File.foreach("/proc/#{pid}/smaps_rollup") do |line|
35
+ if /(?<name>.*?):\s+(?<value>\d+) kB/ =~ line
36
+ if key = SMAP[name]
37
+ usage[key] += value.to_i
38
+ end
39
+ end
40
+ end
41
+
42
+ usage.map_count += File.readlines("/proc/#{pid}/maps").size
43
+ rescue Errno::ENOENT => error
44
+ # Ignore.
45
+ end
46
+
47
+ return usage
48
+ end
49
+ elsif File.readable?("/proc/self/smaps")
50
+ # Whether the memory usage can be captured on this system.
51
+ def self.supported?
52
+ true
53
+ end
54
+
55
+ # Capture memory usage for the given process IDs.
56
+ def self.capture(pids)
57
+ usage = Memory.zero
58
+
59
+ pids.each do |pid|
60
+ File.foreach("/proc/#{pid}/smaps") do |line|
61
+ # The format of this is fixed according to:
62
+ # https://github.com/torvalds/linux/blob/351c8a09b00b5c51c8f58b016fffe51f87e2d820/fs/proc/task_mmu.c#L804-L814
63
+ if /(?<name>.*?):\s+(?<value>\d+) kB/ =~ line
64
+ if key = SMAP[name]
65
+ usage[key] += value.to_i
66
+ end
67
+ elsif /VmFlags:\s+(?<flags>.*)/ =~ line
68
+ # It should be possible to extract the number of fibers and each fiber's memory usage.
69
+ # flags = flags.split(/\s+/)
70
+ usage.map_count += 1
71
+ end
72
+ end
73
+ rescue Errno::ENOENT => error
74
+ # Ignore.
75
+ end
76
+
77
+ return usage
78
+ end
79
+ else
80
+ def self.supported?
81
+ false
82
+ end
83
+ end
84
+ end
85
+
86
+ if Memory::Linux.supported?
87
+ class << Memory
88
+ def supported?
89
+ return true
90
+ end
91
+
92
+ def capture(pids)
93
+ return Memory::Linux.capture(pids)
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -1,91 +1,48 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright, 2019, by Samuel G. D. Williams. <https://www.codeotaku.com>
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in
13
- # all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- # THE SOFTWARE.
3
+ # Released under the MIT License.
4
+ # Copyright, 2019-2025, by Samuel Williams.
5
+
6
+ require "json"
22
7
 
23
8
  module Process
24
9
  module Metrics
25
- class Memory < Struct.new(:map_count, :total_size, :resident_size, :proportional_size, :shared_clean_size, :shared_dirty_size, :private_clean_size, :private_dirty_size, :referenced_size, :anonymous_size, :swap_size, :proportional_swap_size)
10
+ # Represents memory usage for a process, sizes are in kilobytes.
11
+ class Memory < Struct.new(:map_count, :resident_size, :proportional_size, :shared_clean_size, :shared_dirty_size, :private_clean_size, :private_dirty_size, :referenced_size, :anonymous_size, :swap_size, :proportional_swap_size)
26
12
 
27
13
  alias as_json to_h
28
14
 
15
+ # Convert the object to a JSON string.
29
16
  def to_json(*arguments)
30
17
  as_json.to_json(*arguments)
31
18
  end
32
19
 
20
+ # The total size of the process in memory.
21
+ def total_size
22
+ self.resident_size + self.swap_size
23
+ end
24
+
33
25
  # The unique set size, the size of completely private (unshared) data.
34
26
  def unique_size
35
27
  self.private_clean_size + self.private_dirty_size
36
28
  end
37
29
 
38
- if File.readable?('/proc/self/smaps')
39
- def self.supported?
40
- true
41
- end
42
-
43
- MAP = {
44
- "Size" => :total_size,
45
- "Rss" => :resident_size,
46
- "Pss" => :proportional_size,
47
- "Shared_Clean" => :shared_clean_size,
48
- "Shared_Dirty" => :shared_dirty_size,
49
- "Private_Clean" => :private_clean_size,
50
- "Private_Dirty" => :private_dirty_size,
51
- "Referenced" => :referenced_size,
52
- "Anonymous" => :anonymous_size,
53
- "Swap" => :swap_size,
54
- "SwapPss" => :proportional_swap_size,
55
- }
56
-
57
- def self.capture(pids)
58
- usage = self.new(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
59
-
60
- pids.each do |pid|
61
- if lines = File.readlines("/proc/#{pid}/smaps")
62
- lines.each do |line|
63
- # The format of this is fixed according to:
64
- # https://github.com/torvalds/linux/blob/351c8a09b00b5c51c8f58b016fffe51f87e2d820/fs/proc/task_mmu.c#L804-L814
65
- if /(?<name>.*?):\s+(?<value>\d+) kB/ =~ line
66
- if key = MAP[name]
67
- usage[key] += value.to_i
68
- end
69
- elsif /VmFlags:\s+(?<flags>.*)/ =~ line
70
- # It should be possible to extract the number of fibers and each fiber's memory usage.
71
- # flags = flags.split(/\s+/)
72
- usage.map_count += 1
73
- end
74
- end
75
- end
76
- end
77
-
78
- return usage
79
- end
80
- else
81
- def self.supported?
82
- false
83
- end
84
-
85
- def self.capture(pids)
86
- return self.new
87
- end
30
+ def self.zero
31
+ self.new(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
32
+ end
33
+
34
+ # Whether the memory usage can be captured on this system.
35
+ def self.supported?
36
+ false
37
+ end
38
+
39
+ # Capture memory usage for the given process IDs.
40
+ def self.capture(pids)
41
+ return nil
88
42
  end
89
43
  end
90
44
  end
91
45
  end
46
+
47
+ require_relative "memory/linux"
48
+ require_relative "memory/darwin"
@@ -1,27 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright, 2019, by Samuel G. D. Williams. <https://www.codeotaku.com>
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in
13
- # all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- # THE SOFTWARE.
3
+ # Released under the MIT License.
4
+ # Copyright, 2019-2024, by Samuel Williams.
22
5
 
23
6
  module Process
24
7
  module Metrics
25
- VERSION = "0.2.1"
8
+ VERSION = "0.4.0"
26
9
  end
27
10
  end
@@ -1,22 +1,7 @@
1
- # Copyright, 2019, by Samuel G. D. Williams. <https://www.codeotaku.com>
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the "Software"), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in
11
- # all copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- # THE SOFTWARE.
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2019-2024, by Samuel Williams.
20
5
 
21
6
  require_relative "metrics/version"
22
7
  require_relative "metrics/general"
data/license.md ADDED
@@ -0,0 +1,22 @@
1
+ # MIT License
2
+
3
+ Copyright, 2019-2025, by Samuel Williams.
4
+ Copyright, 2024, by Adam Daniels.
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
data/readme.md ADDED
@@ -0,0 +1,31 @@
1
+ # Process::Metrics
2
+
3
+ Extract performance and memory metrics from running processes.
4
+
5
+ ![Command Line Example](command-line.png)
6
+
7
+ [![Development Status](https://github.com/socketry/process-metrics/workflows/Test/badge.svg)](https://github.com/socketry/process-metrics/actions?workflow=Test)
8
+
9
+ ## Usage
10
+
11
+ Please see the [project documentation](https://socketry.github.io/process-metrics/) for more details.
12
+
13
+ - [Getting Started](https://socketry.github.io/process-metrics/guides/getting-started/index) - This guide explains how to use the `process-metrics` gem to collect and analyze process metrics including processor and memory utilization.
14
+
15
+ ## Contributing
16
+
17
+ We welcome contributions to this project.
18
+
19
+ 1. Fork it.
20
+ 2. Create your feature branch (`git checkout -b my-new-feature`).
21
+ 3. Commit your changes (`git commit -am 'Add some feature'`).
22
+ 4. Push to the branch (`git push origin my-new-feature`).
23
+ 5. Create new Pull Request.
24
+
25
+ ### Developer Certificate of Origin
26
+
27
+ In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
28
+
29
+ ### Community Guidelines
30
+
31
+ This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
data.tar.gz.sig ADDED
Binary file
metadata CHANGED
@@ -1,14 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: process-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
- autorequire:
8
+ - Adam Daniels
9
9
  bindir: bin
10
- cert_chain: []
11
- date: 2020-02-03 00:00:00.000000000 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIE2DCCA0CgAwIBAgIBATANBgkqhkiG9w0BAQsFADBhMRgwFgYDVQQDDA9zYW11
14
+ ZWwud2lsbGlhbXMxHTAbBgoJkiaJk/IsZAEZFg1vcmlvbnRyYW5zZmVyMRIwEAYK
15
+ CZImiZPyLGQBGRYCY28xEjAQBgoJkiaJk/IsZAEZFgJuejAeFw0yMjA4MDYwNDUz
16
+ MjRaFw0zMjA4MDMwNDUzMjRaMGExGDAWBgNVBAMMD3NhbXVlbC53aWxsaWFtczEd
17
+ MBsGCgmSJomT8ixkARkWDW9yaW9udHJhbnNmZXIxEjAQBgoJkiaJk/IsZAEZFgJj
18
+ bzESMBAGCgmSJomT8ixkARkWAm56MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIB
19
+ igKCAYEAomvSopQXQ24+9DBB6I6jxRI2auu3VVb4nOjmmHq7XWM4u3HL+pni63X2
20
+ 9qZdoq9xt7H+RPbwL28LDpDNflYQXoOhoVhQ37Pjn9YDjl8/4/9xa9+NUpl9XDIW
21
+ sGkaOY0eqsQm1pEWkHJr3zn/fxoKPZPfaJOglovdxf7dgsHz67Xgd/ka+Wo1YqoE
22
+ e5AUKRwUuvaUaumAKgPH+4E4oiLXI4T1Ff5Q7xxv6yXvHuYtlMHhYfgNn8iiW8WN
23
+ XibYXPNP7NtieSQqwR/xM6IRSoyXKuS+ZNGDPUUGk8RoiV/xvVN4LrVm9upSc0ss
24
+ RZ6qwOQmXCo/lLcDUxJAgG95cPw//sI00tZan75VgsGzSWAOdjQpFM0l4dxvKwHn
25
+ tUeT3ZsAgt0JnGqNm2Bkz81kG4A2hSyFZTFA8vZGhp+hz+8Q573tAR89y9YJBdYM
26
+ zp0FM4zwMNEUwgfRzv1tEVVUEXmoFCyhzonUUw4nE4CFu/sE3ffhjKcXcY//qiSW
27
+ xm4erY3XAgMBAAGjgZowgZcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
28
+ BBYEFO9t7XWuFf2SKLmuijgqR4sGDlRsMC4GA1UdEQQnMCWBI3NhbXVlbC53aWxs
29
+ aWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MC4GA1UdEgQnMCWBI3NhbXVlbC53aWxs
30
+ aWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MA0GCSqGSIb3DQEBCwUAA4IBgQB5sxkE
31
+ cBsSYwK6fYpM+hA5B5yZY2+L0Z+27jF1pWGgbhPH8/FjjBLVn+VFok3CDpRqwXCl
32
+ xCO40JEkKdznNy2avOMra6PFiQyOE74kCtv7P+Fdc+FhgqI5lMon6tt9rNeXmnW/
33
+ c1NaMRdxy999hmRGzUSFjozcCwxpy/LwabxtdXwXgSay4mQ32EDjqR1TixS1+smp
34
+ 8C/NCWgpIfzpHGJsjvmH2wAfKtTTqB9CVKLCWEnCHyCaRVuKkrKjqhYCdmMBqCws
35
+ JkxfQWC+jBVeG9ZtPhQgZpfhvh+6hMhraUYRQ6XGyvBqEUe+yo6DKIT3MtGE2+CP
36
+ eX9i9ZWBydWb8/rvmwmX2kkcBbX0hZS1rcR593hGc61JR6lvkGYQ2MYskBveyaxt
37
+ Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
+ voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
39
+ -----END CERTIFICATE-----
40
+ date: 2025-02-21 00:00:00.000000000 Z
12
41
  dependencies:
13
42
  - !ruby/object:Gem::Dependency
14
43
  name: console
@@ -25,105 +54,57 @@ dependencies:
25
54
  - !ruby/object:Gem::Version
26
55
  version: '1.8'
27
56
  - !ruby/object:Gem::Dependency
28
- name: samovar
57
+ name: json
29
58
  requirement: !ruby/object:Gem::Requirement
30
59
  requirements:
31
60
  - - "~>"
32
61
  - !ruby/object:Gem::Version
33
- version: '2.1'
62
+ version: '2'
34
63
  type: :runtime
35
64
  prerelease: false
36
65
  version_requirements: !ruby/object:Gem::Requirement
37
66
  requirements:
38
67
  - - "~>"
39
68
  - !ruby/object:Gem::Version
40
- version: '2.1'
69
+ version: '2'
41
70
  - !ruby/object:Gem::Dependency
42
- name: covered
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '12.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '12.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rspec
71
+ name: samovar
85
72
  requirement: !ruby/object:Gem::Requirement
86
73
  requirements:
87
74
  - - "~>"
88
75
  - !ruby/object:Gem::Version
89
- version: '3.8'
90
- type: :development
76
+ version: '2.1'
77
+ type: :runtime
91
78
  prerelease: false
92
79
  version_requirements: !ruby/object:Gem::Requirement
93
80
  requirements:
94
81
  - - "~>"
95
82
  - !ruby/object:Gem::Version
96
- version: '3.8'
97
- description:
98
- email:
99
- - samuel.williams@oriontransfer.co.nz
83
+ version: '2.1'
100
84
  executables:
101
85
  - process-metrics
102
86
  extensions: []
103
87
  extra_rdoc_files: []
104
88
  files:
105
- - ".gitignore"
106
- - ".rspec"
107
- - ".travis.yml"
108
- - Gemfile
109
- - README.md
110
- - Rakefile
111
89
  - bin/process-metrics
112
- - command-line.png
113
90
  - lib/process/metrics.rb
114
91
  - lib/process/metrics/command.rb
115
92
  - lib/process/metrics/command/summary.rb
116
93
  - lib/process/metrics/command/top.rb
117
94
  - lib/process/metrics/general.rb
118
95
  - lib/process/metrics/memory.rb
96
+ - lib/process/metrics/memory/darwin.rb
97
+ - lib/process/metrics/memory/linux.rb
119
98
  - lib/process/metrics/version.rb
120
- - process-metrics.gemspec
99
+ - license.md
100
+ - readme.md
121
101
  homepage: https://github.com/socketry/process-metrics
122
102
  licenses:
123
103
  - MIT
124
104
  metadata:
105
+ documentation_uri: https://socketry.github.io/process-metrics/
125
106
  funding_uri: https://github.com/sponsors/ioquatix
126
- post_install_message:
107
+ source_code_uri: https://github.com/socketry/process-metrics.git
127
108
  rdoc_options: []
128
109
  require_paths:
129
110
  - lib
@@ -131,15 +112,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
112
  requirements:
132
113
  - - ">="
133
114
  - !ruby/object:Gem::Version
134
- version: 2.3.0
115
+ version: '3.1'
135
116
  required_rubygems_version: !ruby/object:Gem::Requirement
136
117
  requirements:
137
118
  - - ">="
138
119
  - !ruby/object:Gem::Version
139
120
  version: '0'
140
121
  requirements: []
141
- rubygems_version: 3.1.2
142
- signing_key:
122
+ rubygems_version: 3.6.2
143
123
  specification_version: 4
144
124
  summary: Provide detailed OS-specific process metrics.
145
125
  test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ <�)wGZ��5�e�ݹ���qؿc��<��ˡR��v/�H��5 #^�� r��0����ٽB2k���G��WBc_=*Y���>[�| ��J�����[Q���j�]pY02jr�ʨ`�Q�+6��?�C�h%3J��R����&�A����� o'4$aƁpK�Q�4���v(�ގ������u=�f���h,(�� ���6��33�ӷo�
2
+ ig�kH(��#�0�nš�a�f����Ҙ(��i��C�Î\p�����Na��<�J+?N�:���ќ�>V-q�"��D �� `�K��z$!�W��N��N����Q�(��(D[\D����� �9`8u�NDK㏼Z����RNXn�~n
data/.gitignore DELETED
@@ -1,14 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
-
10
- Gemfile.lock
11
-
12
- # rspec failure tracking
13
- .rspec_status
14
- .covered.db
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --warnings
3
- --require spec_helper
data/.travis.yml DELETED
@@ -1,22 +0,0 @@
1
- language: ruby
2
- dist: xenial
3
- cache: bundler
4
-
5
- matrix:
6
- include:
7
- - rvm: 2.4
8
- - rvm: 2.5
9
- - rvm: 2.6
10
- - rvm: 2.6
11
- env: COVERAGE=PartialSummary,Coveralls
12
- - rvm: 2.7
13
- - rvm: truffleruby
14
- - rvm: jruby-head
15
- - rvm: ruby-head
16
- - rvm: 2.7
17
- os: osx
18
- allow_failures:
19
- - rvm: truffleruby
20
- - rvm: ruby-head
21
- - rvm: jruby-head
22
- - rvm: truffleruby
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- # Specify your gem's dependencies in process-metrics.gemspec
4
- gemspec