ohai 18.2.6 → 19.0.3

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.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +28 -28
  3. data/LICENSE +201 -201
  4. data/bin/ohai +25 -25
  5. data/lib/ohai/application.rb +189 -189
  6. data/lib/ohai/common/dmi.rb +167 -167
  7. data/lib/ohai/config.rb +51 -51
  8. data/lib/ohai/dsl/plugin/versionvii.rb +203 -203
  9. data/lib/ohai/dsl/plugin.rb +232 -232
  10. data/lib/ohai/dsl.rb +22 -22
  11. data/lib/ohai/exception.rb +36 -36
  12. data/lib/ohai/hints.rb +68 -68
  13. data/lib/ohai/loader.rb +178 -178
  14. data/lib/ohai/log.rb +34 -34
  15. data/lib/ohai/mash.rb +22 -22
  16. data/lib/ohai/mixin/alibaba_metadata.rb +83 -83
  17. data/lib/ohai/mixin/azure_metadata.rb +105 -105
  18. data/lib/ohai/mixin/chef_utils_wiring.rb +52 -52
  19. data/lib/ohai/mixin/command.rb +4 -4
  20. data/lib/ohai/mixin/constant_helper.rb +55 -55
  21. data/lib/ohai/mixin/dmi_decode.rb +54 -54
  22. data/lib/ohai/mixin/do_metadata.rb +48 -48
  23. data/lib/ohai/mixin/ec2_metadata.rb +264 -270
  24. data/lib/ohai/mixin/gce_metadata.rb +79 -79
  25. data/lib/ohai/mixin/http_helper.rb +64 -64
  26. data/lib/ohai/mixin/json_helper.rb +36 -36
  27. data/lib/ohai/mixin/network_helper.rb +92 -92
  28. data/lib/ohai/mixin/oci_metadata.rb +60 -60
  29. data/lib/ohai/mixin/os.rb +128 -128
  30. data/lib/ohai/mixin/scaleway_metadata.rb +51 -51
  31. data/lib/ohai/mixin/seconds_to_human.rb +52 -52
  32. data/lib/ohai/mixin/shell_out.rb +51 -51
  33. data/lib/ohai/mixin/softlayer_metadata.rb +74 -74
  34. data/lib/ohai/mixin/string.rb +31 -31
  35. data/lib/ohai/mixin/train_helpers.rb +36 -36
  36. data/lib/ohai/mixin/which.rb +39 -39
  37. data/lib/ohai/plugin_config.rb +47 -47
  38. data/lib/ohai/plugins/aix/kernel.rb +50 -50
  39. data/lib/ohai/plugins/aix/memory.rb +37 -37
  40. data/lib/ohai/plugins/aix/network.rb +142 -142
  41. data/lib/ohai/plugins/aix/platform.rb +30 -30
  42. data/lib/ohai/plugins/aix/uptime.rb +54 -54
  43. data/lib/ohai/plugins/aix/virtualization.rb +154 -154
  44. data/lib/ohai/plugins/alibaba.rb +72 -72
  45. data/lib/ohai/plugins/azure.rb +154 -154
  46. data/lib/ohai/plugins/bsd/virtualization.rb +121 -121
  47. data/lib/ohai/plugins/c.rb +178 -178
  48. data/lib/ohai/plugins/chef.rb +50 -50
  49. data/lib/ohai/plugins/cloud.rb +379 -379
  50. data/lib/ohai/plugins/command.rb +26 -26
  51. data/lib/ohai/plugins/cpu.rb +642 -642
  52. data/lib/ohai/plugins/darwin/hardware.rb +99 -99
  53. data/lib/ohai/plugins/darwin/memory.rb +62 -62
  54. data/lib/ohai/plugins/darwin/network.rb +207 -207
  55. data/lib/ohai/plugins/darwin/platform.rb +40 -40
  56. data/lib/ohai/plugins/darwin/virtualization.rb +104 -104
  57. data/lib/ohai/plugins/digital_ocean.rb +67 -67
  58. data/lib/ohai/plugins/dmi.rb +134 -134
  59. data/lib/ohai/plugins/docker.rb +58 -58
  60. data/lib/ohai/plugins/dragonflybsd/memory.rb +60 -60
  61. data/lib/ohai/plugins/dragonflybsd/network.rb +128 -128
  62. data/lib/ohai/plugins/dragonflybsd/platform.rb +28 -28
  63. data/lib/ohai/plugins/ec2.rb +148 -148
  64. data/lib/ohai/plugins/elixir.rb +36 -36
  65. data/lib/ohai/plugins/erlang.rb +60 -60
  66. data/lib/ohai/plugins/eucalyptus.rb +86 -86
  67. data/lib/ohai/plugins/filesystem.rb +753 -753
  68. data/lib/ohai/plugins/fips.rb +36 -36
  69. data/lib/ohai/plugins/freebsd/memory.rb +60 -60
  70. data/lib/ohai/plugins/freebsd/network.rb +128 -128
  71. data/lib/ohai/plugins/freebsd/platform.rb +28 -28
  72. data/lib/ohai/plugins/gce.rb +89 -89
  73. data/lib/ohai/plugins/go.rb +34 -34
  74. data/lib/ohai/plugins/groovy.rb +38 -38
  75. data/lib/ohai/plugins/grub2.rb +40 -40
  76. data/lib/ohai/plugins/habitat.rb +73 -73
  77. data/lib/ohai/plugins/haskell.rb +96 -96
  78. data/lib/ohai/plugins/hostname.rb +133 -133
  79. data/lib/ohai/plugins/init_package.rb +26 -26
  80. data/lib/ohai/plugins/java.rb +78 -78
  81. data/lib/ohai/plugins/kernel.rb +292 -292
  82. data/lib/ohai/plugins/keys.rb +27 -27
  83. data/lib/ohai/plugins/languages.rb +26 -26
  84. data/lib/ohai/plugins/libvirt.rb +114 -114
  85. data/lib/ohai/plugins/linode.rb +73 -73
  86. data/lib/ohai/plugins/linux/block_device.rb +48 -48
  87. data/lib/ohai/plugins/linux/hostnamectl.rb +34 -34
  88. data/lib/ohai/plugins/linux/interrupts.rb +84 -83
  89. data/lib/ohai/plugins/linux/ipc.rb +52 -52
  90. data/lib/ohai/plugins/linux/livepatch.rb +38 -38
  91. data/lib/ohai/plugins/linux/lsb.rb +46 -46
  92. data/lib/ohai/plugins/linux/lspci.rb +80 -80
  93. data/lib/ohai/plugins/linux/machineid.rb +36 -36
  94. data/lib/ohai/plugins/linux/mdadm.rb +120 -120
  95. data/lib/ohai/plugins/linux/memory.rb +106 -106
  96. data/lib/ohai/plugins/linux/network.rb +879 -879
  97. data/lib/ohai/plugins/linux/os_release.rb +38 -38
  98. data/lib/ohai/plugins/linux/platform.rb +314 -314
  99. data/lib/ohai/plugins/linux/selinux.rb +69 -69
  100. data/lib/ohai/plugins/linux/sessions.rb +54 -54
  101. data/lib/ohai/plugins/linux/sysctl.rb +39 -39
  102. data/lib/ohai/plugins/linux/systemd_paths.rb +36 -36
  103. data/lib/ohai/plugins/linux/tc.rb +61 -61
  104. data/lib/ohai/plugins/linux/virtualization.rb +300 -300
  105. data/lib/ohai/plugins/lua.rb +39 -39
  106. data/lib/ohai/plugins/mono.rb +50 -50
  107. data/lib/ohai/plugins/netbsd/memory.rb +99 -99
  108. data/lib/ohai/plugins/netbsd/network.rb +122 -122
  109. data/lib/ohai/plugins/netbsd/platform.rb +28 -28
  110. data/lib/ohai/plugins/network.rb +186 -186
  111. data/lib/ohai/plugins/nodejs.rb +40 -40
  112. data/lib/ohai/plugins/oci.rb +94 -94
  113. data/lib/ohai/plugins/ohai.rb +29 -29
  114. data/lib/ohai/plugins/ohai_time.rb +26 -26
  115. data/lib/ohai/plugins/openbsd/memory.rb +99 -99
  116. data/lib/ohai/plugins/openbsd/network.rb +122 -122
  117. data/lib/ohai/plugins/openbsd/platform.rb +28 -28
  118. data/lib/ohai/plugins/openstack.rb +84 -84
  119. data/lib/ohai/plugins/os.rb +55 -55
  120. data/lib/ohai/plugins/packages.rb +234 -234
  121. data/lib/ohai/plugins/passwd.rb +104 -104
  122. data/lib/ohai/plugins/perl.rb +45 -45
  123. data/lib/ohai/plugins/php.rb +52 -52
  124. data/lib/ohai/plugins/platform.rb +41 -41
  125. data/lib/ohai/plugins/powershell.rb +82 -82
  126. data/lib/ohai/plugins/ps.rb +35 -35
  127. data/lib/ohai/plugins/python.rb +43 -43
  128. data/lib/ohai/plugins/rackspace.rb +177 -177
  129. data/lib/ohai/plugins/root_group.rb +41 -41
  130. data/lib/ohai/plugins/rpm.rb +121 -121
  131. data/lib/ohai/plugins/ruby.rb +66 -66
  132. data/lib/ohai/plugins/rust.rb +34 -34
  133. data/lib/ohai/plugins/scala.rb +38 -38
  134. data/lib/ohai/plugins/scaleway.rb +58 -58
  135. data/lib/ohai/plugins/scsi.rb +52 -52
  136. data/lib/ohai/plugins/shard.rb +142 -142
  137. data/lib/ohai/plugins/shells.rb +32 -32
  138. data/lib/ohai/plugins/softlayer.rb +48 -48
  139. data/lib/ohai/plugins/solaris2/dmi.rb +191 -191
  140. data/lib/ohai/plugins/solaris2/memory.rb +32 -32
  141. data/lib/ohai/plugins/solaris2/network.rb +192 -192
  142. data/lib/ohai/plugins/solaris2/platform.rb +58 -58
  143. data/lib/ohai/plugins/solaris2/virtualization.rb +90 -90
  144. data/lib/ohai/plugins/ssh_host_key.rb +84 -84
  145. data/lib/ohai/plugins/sysconf.rb +46 -46
  146. data/lib/ohai/plugins/timezone.rb +45 -45
  147. data/lib/ohai/plugins/train.rb +35 -35
  148. data/lib/ohai/plugins/uptime.rb +95 -95
  149. data/lib/ohai/plugins/virtualbox.rb +197 -197
  150. data/lib/ohai/plugins/vmware.rb +109 -109
  151. data/lib/ohai/plugins/windows/dmi.rb +95 -95
  152. data/lib/ohai/plugins/windows/drivers.rb +52 -52
  153. data/lib/ohai/plugins/windows/memory.rb +39 -39
  154. data/lib/ohai/plugins/windows/network.rb +222 -222
  155. data/lib/ohai/plugins/windows/platform.rb +34 -34
  156. data/lib/ohai/plugins/windows/system_enclosure.rb +29 -29
  157. data/lib/ohai/plugins/windows/virtualization.rb +45 -45
  158. data/lib/ohai/plugins/zpools.rb +94 -94
  159. data/lib/ohai/provides_map.rb +208 -208
  160. data/lib/ohai/runner.rb +128 -126
  161. data/lib/ohai/system.rb +258 -258
  162. data/lib/ohai/train_transport.rb +29 -29
  163. data/lib/ohai/util/file_helper.rb +6 -6
  164. data/lib/ohai/util/ip_helper.rb +56 -56
  165. data/lib/ohai/util/win32.rb +47 -47
  166. data/lib/ohai/version.rb +23 -23
  167. data/lib/ohai.rb +23 -23
  168. data/ohai.gemspec +35 -35
  169. metadata +9 -15
@@ -1,94 +1,94 @@
1
- # frozen_string_literal: true
2
-
3
- #
4
- # Author:: Renato Covarrubias (<rnt@rnt.cl>)
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- Ohai.plugin(:Oci) do
21
- require_relative "../mixin/oci_metadata"
22
- require_relative "../mixin/http_helper"
23
-
24
- include Ohai::Mixin::OCIMetadata
25
- include Ohai::Mixin::HttpHelper
26
-
27
- provides "oci"
28
-
29
- collect_data do
30
- oci_metadata_from_hints = hint?("oci")
31
- if oci_metadata_from_hints
32
- logger.trace("Plugin OCI: oci hint is present. Parsing any hint data.")
33
- oci Mash.new
34
- oci_metadata_from_hints.each { |k, v| oci[k] = v }
35
- oci["metadata"] = parse_metadata
36
- elsif oci_chassis_asset_tag?
37
- logger.trace("Plugin oci: No hints present, but system appears to be on oci.")
38
- oci Mash.new
39
- oci["metadata"] = parse_metadata
40
- else
41
- logger.trace("Plugin oci: No hints present and doesn't appear to be on oci.")
42
- false
43
- end
44
- end
45
-
46
- def oci_chassis_asset_tag?
47
- has_oci_chassis_asset_tag = false
48
- if file_exist?(Ohai::Mixin::OCIMetadata::CHASSIS_ASSET_TAG_FILE)
49
- file_open(Ohai::Mixin::OCIMetadata::CHASSIS_ASSET_TAG_FILE).each do |line|
50
- next unless /OracleCloud.com/.match?(line)
51
-
52
- logger.trace("Plugin oci: Found OracleCloud.com chassis_asset_tag used by oci.")
53
- has_oci_chassis_asset_tag = true
54
- break
55
- end
56
- end
57
- has_oci_chassis_asset_tag
58
- end
59
-
60
- def parse_metadata
61
- return nil unless can_socket_connect?(Ohai::Mixin::OCIMetadata::OCI_METADATA_ADDR, 80)
62
-
63
- instance_data = fetch_metadata("instance")
64
- return nil if instance_data.nil?
65
-
66
- metadata = Mash.new
67
- metadata["compute"] = Mash.new
68
-
69
- instance_data.each do |k, v|
70
- metadata["compute"][k] = v
71
- end
72
-
73
- vnics_data = fetch_metadata("vnics")
74
-
75
- unless vnics_data.nil?
76
- metadata["network"] = Mash.new
77
- metadata["network"]["interface"] = []
78
- vnics_data.each do |v|
79
- metadata["network"]["interface"].append(v)
80
- end
81
- end
82
-
83
- volume_attachments_data = fetch_metadata("volumeAttachments")
84
-
85
- unless volume_attachments_data.nil?
86
- metadata["volumes"] = Mash.new
87
- volume_attachments_data.each do |k, v|
88
- metadata["volumes"][k] = v
89
- end
90
- end
91
-
92
- metadata
93
- end
94
- end
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Author:: Renato Covarrubias (<rnt@rnt.cl>)
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ Ohai.plugin(:Oci) do
21
+ require_relative "../mixin/oci_metadata"
22
+ require_relative "../mixin/http_helper"
23
+
24
+ include Ohai::Mixin::OCIMetadata
25
+ include Ohai::Mixin::HttpHelper
26
+
27
+ provides "oci"
28
+
29
+ collect_data do
30
+ oci_metadata_from_hints = hint?("oci")
31
+ if oci_metadata_from_hints
32
+ logger.trace("Plugin OCI: oci hint is present. Parsing any hint data.")
33
+ oci Mash.new
34
+ oci_metadata_from_hints.each { |k, v| oci[k] = v }
35
+ oci["metadata"] = parse_metadata
36
+ elsif oci_chassis_asset_tag?
37
+ logger.trace("Plugin oci: No hints present, but system appears to be on oci.")
38
+ oci Mash.new
39
+ oci["metadata"] = parse_metadata
40
+ else
41
+ logger.trace("Plugin oci: No hints present and doesn't appear to be on oci.")
42
+ false
43
+ end
44
+ end
45
+
46
+ def oci_chassis_asset_tag?
47
+ has_oci_chassis_asset_tag = false
48
+ if file_exist?(Ohai::Mixin::OCIMetadata::CHASSIS_ASSET_TAG_FILE)
49
+ file_open(Ohai::Mixin::OCIMetadata::CHASSIS_ASSET_TAG_FILE).each do |line|
50
+ next unless /OracleCloud.com/.match?(line)
51
+
52
+ logger.trace("Plugin oci: Found OracleCloud.com chassis_asset_tag used by oci.")
53
+ has_oci_chassis_asset_tag = true
54
+ break
55
+ end
56
+ end
57
+ has_oci_chassis_asset_tag
58
+ end
59
+
60
+ def parse_metadata
61
+ return nil unless can_socket_connect?(Ohai::Mixin::OCIMetadata::OCI_METADATA_ADDR, 80)
62
+
63
+ instance_data = fetch_metadata("instance")
64
+ return nil if instance_data.nil?
65
+
66
+ metadata = Mash.new
67
+ metadata["compute"] = Mash.new
68
+
69
+ instance_data.each do |k, v|
70
+ metadata["compute"][k] = v
71
+ end
72
+
73
+ vnics_data = fetch_metadata("vnics")
74
+
75
+ unless vnics_data.nil?
76
+ metadata["network"] = Mash.new
77
+ metadata["network"]["interface"] = []
78
+ vnics_data.each do |v|
79
+ metadata["network"]["interface"].append(v)
80
+ end
81
+ end
82
+
83
+ volume_attachments_data = fetch_metadata("volumeAttachments")
84
+
85
+ unless volume_attachments_data.nil?
86
+ metadata["volumes"] = Mash.new
87
+ volume_attachments_data.each do |k, v|
88
+ metadata["volumes"][k] = v
89
+ end
90
+ end
91
+
92
+ metadata
93
+ end
94
+ end
@@ -1,29 +1,29 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Tollef Fog Heen <tfheen@err.no>
4
- # Copyright:: Copyright (c) 2010 Tollef Fog Heen
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- Ohai.plugin(:Ohai) do
21
- provides "chef_packages/ohai"
22
-
23
- collect_data do
24
- chef_packages Mash.new unless chef_packages
25
- chef_packages[:ohai] = Mash.new
26
- chef_packages[:ohai][:version] = Ohai::VERSION
27
- chef_packages[:ohai][:ohai_root] = Ohai::OHAI_ROOT
28
- end
29
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Tollef Fog Heen <tfheen@err.no>
4
+ # Copyright:: Copyright (c) 2010 Tollef Fog Heen
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ Ohai.plugin(:Ohai) do
21
+ provides "chef_packages/ohai"
22
+
23
+ collect_data do
24
+ chef_packages Mash.new unless chef_packages
25
+ chef_packages[:ohai] = Mash.new
26
+ chef_packages[:ohai][:version] = Ohai::VERSION
27
+ chef_packages[:ohai][:ohai_root] = Ohai::OHAI_ROOT
28
+ end
29
+ end
@@ -1,26 +1,26 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Adam Jacob (<adam@chef.io>)
4
- # Copyright:: Copyright (c) Chef Software Inc.
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- Ohai.plugin(:OhaiTime) do
21
- provides "ohai_time"
22
-
23
- collect_data(:default, :target) do
24
- ohai_time Time.now.to_f
25
- end
26
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Adam Jacob (<adam@chef.io>)
4
+ # Copyright:: Copyright (c) Chef Software Inc.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ Ohai.plugin(:OhaiTime) do
21
+ provides "ohai_time"
22
+
23
+ collect_data(:default, :target) do
24
+ ohai_time Time.now.to_f
25
+ end
26
+ end
@@ -1,99 +1,99 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Mathieu Sauve-Frankel <msf@kisoku.net>
4
- # Copyright:: Copyright (c) 2009 Bryan McLellan
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- Ohai.plugin(:Memory) do
21
- provides "memory", "memory/swap"
22
-
23
- collect_data(:openbsd) do
24
- memory Mash.new
25
- memory[:swap] = Mash.new
26
-
27
- # $ vmstat -s
28
- # 4096 bytes per page
29
- # 514011 pages managed
30
- # 224519 pages free
31
- # 209339 pages active
32
- # 4647 pages inactive
33
- # 0 pages being paged out
34
- # 5 pages wired
35
- # 0 pages zeroed
36
- # 4 pages reserved for pagedaemon
37
- # 6 pages reserved for kernel
38
- # 262205 swap pages
39
- # 0 swap pages in use
40
- # 0 total anon's in system
41
- # 0 free anon's
42
- # 1192991609 page faults
43
- # 1369579301 traps
44
- # 814549706 interrupts
45
- # 771702498 cpu context switches
46
- # 208810590 fpu context switches
47
- # 492361360 software interrupts
48
- # 1161998825 syscalls
49
- # 0 pagein operations
50
- # 0 swap ins
51
- # 0 swap outs
52
- # 768352 forks
53
- # 16 forks where vmspace is shared
54
- # 1763 kernel map entries
55
- # 0 number of times the pagedaemon woke up
56
- # 0 revolutions of the clock hand
57
- # 0 pages freed by pagedaemon
58
- # 0 pages scanned by pagedaemon
59
- # 0 pages reactivated by pagedaemon
60
- # 0 busy pages found by pagedaemon
61
- # 1096393776 total name lookups
62
- # cache hits (37% pos + 2% neg) system 1% per-directory
63
- # deletions 0%, falsehits 6%, toolong 26%
64
- # 0 select collisions
65
-
66
- so = shell_out("vmstat -s")
67
- so.stdout.lines do |line|
68
- case line
69
- when /(\d+) bytes per page/
70
- memory[:page_size] = $1
71
- when /(\d+) pages managed/
72
- memory[:page_count] = $1
73
- memory[:total] = memory[:page_size].to_i * memory[:page_count].to_i
74
- when /(\d+) pages free/
75
- memory[:free] = memory[:page_size].to_i * $1.to_i
76
- when /(\d+) pages active/
77
- memory[:active] = memory[:page_size].to_i * $1.to_i
78
- when /(\d+) pages inactive/
79
- memory[:inactive] = memory[:page_size].to_i * $1.to_i
80
- when /(\d+) pages wired/
81
- memory[:wired] = memory[:page_size].to_i * $1.to_i
82
- end
83
- end
84
-
85
- so = shell_out("swapctl -l")
86
- so.stdout.lines do |line|
87
- # Device 1024-blocks Used Avail Capacity Priority
88
- # swap_device 1048824 0 1048824 0% 0
89
- if line =~ %r{^([\d\w/]+)\s+(\d+)\s+(\d+)\s+(\d+)\s+([\d\%]+)}
90
- mdev = $1
91
- memory[:swap][mdev] = Mash.new
92
- memory[:swap][mdev][:total] = $2
93
- memory[:swap][mdev][:used] = $3
94
- memory[:swap][mdev][:free] = $4
95
- memory[:swap][mdev][:percent_free] = $5
96
- end
97
- end
98
- end
99
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Mathieu Sauve-Frankel <msf@kisoku.net>
4
+ # Copyright:: Copyright (c) 2009 Bryan McLellan
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ Ohai.plugin(:Memory) do
21
+ provides "memory", "memory/swap"
22
+
23
+ collect_data(:openbsd) do
24
+ memory Mash.new
25
+ memory[:swap] = Mash.new
26
+
27
+ # $ vmstat -s
28
+ # 4096 bytes per page
29
+ # 514011 pages managed
30
+ # 224519 pages free
31
+ # 209339 pages active
32
+ # 4647 pages inactive
33
+ # 0 pages being paged out
34
+ # 5 pages wired
35
+ # 0 pages zeroed
36
+ # 4 pages reserved for pagedaemon
37
+ # 6 pages reserved for kernel
38
+ # 262205 swap pages
39
+ # 0 swap pages in use
40
+ # 0 total anon's in system
41
+ # 0 free anon's
42
+ # 1192991609 page faults
43
+ # 1369579301 traps
44
+ # 814549706 interrupts
45
+ # 771702498 cpu context switches
46
+ # 208810590 fpu context switches
47
+ # 492361360 software interrupts
48
+ # 1161998825 syscalls
49
+ # 0 pagein operations
50
+ # 0 swap ins
51
+ # 0 swap outs
52
+ # 768352 forks
53
+ # 16 forks where vmspace is shared
54
+ # 1763 kernel map entries
55
+ # 0 number of times the pagedaemon woke up
56
+ # 0 revolutions of the clock hand
57
+ # 0 pages freed by pagedaemon
58
+ # 0 pages scanned by pagedaemon
59
+ # 0 pages reactivated by pagedaemon
60
+ # 0 busy pages found by pagedaemon
61
+ # 1096393776 total name lookups
62
+ # cache hits (37% pos + 2% neg) system 1% per-directory
63
+ # deletions 0%, falsehits 6%, toolong 26%
64
+ # 0 select collisions
65
+
66
+ so = shell_out("vmstat -s")
67
+ so.stdout.lines do |line|
68
+ case line
69
+ when /(\d+) bytes per page/
70
+ memory[:page_size] = $1
71
+ when /(\d+) pages managed/
72
+ memory[:page_count] = $1
73
+ memory[:total] = memory[:page_size].to_i * memory[:page_count].to_i
74
+ when /(\d+) pages free/
75
+ memory[:free] = memory[:page_size].to_i * $1.to_i
76
+ when /(\d+) pages active/
77
+ memory[:active] = memory[:page_size].to_i * $1.to_i
78
+ when /(\d+) pages inactive/
79
+ memory[:inactive] = memory[:page_size].to_i * $1.to_i
80
+ when /(\d+) pages wired/
81
+ memory[:wired] = memory[:page_size].to_i * $1.to_i
82
+ end
83
+ end
84
+
85
+ so = shell_out("swapctl -l")
86
+ so.stdout.lines do |line|
87
+ # Device 1024-blocks Used Avail Capacity Priority
88
+ # swap_device 1048824 0 1048824 0% 0
89
+ if line =~ %r{^([\d\w/]+)\s+(\d+)\s+(\d+)\s+(\d+)\s+([\d\%]+)}
90
+ mdev = $1
91
+ memory[:swap][mdev] = Mash.new
92
+ memory[:swap][mdev][:total] = $2
93
+ memory[:swap][mdev][:used] = $3
94
+ memory[:swap][mdev][:free] = $4
95
+ memory[:swap][mdev][:percent_free] = $5
96
+ end
97
+ end
98
+ end
99
+ end