instrumental_tools 0.4.1 → 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.
- data/bin/instrument_server +10 -12
- data/lib/instrumental_tools/version.rb +1 -1
- metadata +85 -52
data/bin/instrument_server
CHANGED
@@ -208,10 +208,10 @@ class SystemInspector
|
|
208
208
|
end
|
209
209
|
|
210
210
|
def self.load_disks
|
211
|
-
{ :gauges =>
|
211
|
+
{ :gauges => disk_storage.merge(disk_io) }
|
212
212
|
end
|
213
213
|
|
214
|
-
def self.
|
214
|
+
def self.disk_storage
|
215
215
|
output = {}
|
216
216
|
`df -Pk`.split("\n").grep(%r{^/dev/}).each do |line|
|
217
217
|
device, total, used, available, capacity, mount = line.split(/\s+/)
|
@@ -227,15 +227,15 @@ class SystemInspector
|
|
227
227
|
output
|
228
228
|
end
|
229
229
|
|
230
|
-
def self.
|
231
|
-
|
230
|
+
def self.disk_io
|
231
|
+
mounted_devices = `mount`.split("\n").grep(/^\/dev\/(\w+)/) { $1 }
|
232
|
+
diskstats_lines = `cat /proc/diskstats`.split("\n").grep(/#{mounted_devices.join('|')}/)
|
233
|
+
entries = diskstats_lines.map do |line|
|
232
234
|
values = line.split
|
233
235
|
entry = {}
|
234
|
-
entry[:time]
|
236
|
+
entry[:time] = Time.now
|
235
237
|
entry[:device] = values[2]
|
236
|
-
entry[:
|
237
|
-
entry[:write] = values[10].to_f
|
238
|
-
entry[:io] = entry[:read] + entry[:write]
|
238
|
+
entry[:utilization] = values[12].to_f
|
239
239
|
SystemInspector.memory.store("disk_stats_#{entry[:device]}".to_sym, entry)
|
240
240
|
end
|
241
241
|
|
@@ -243,10 +243,8 @@ class SystemInspector
|
|
243
243
|
entries.each do |entry|
|
244
244
|
if previous_entry = SystemInspector.memory.retrieve("disk_stats_#{entry[:device]}".to_sym)
|
245
245
|
time_delta = (entry[:time] - previous_entry[:time]) * 1000
|
246
|
-
[:
|
247
|
-
|
248
|
-
output["disk.#{entry[:device]}.#{type}_utilization"] = utilization_delta / time_delta * 100
|
249
|
-
end
|
246
|
+
utilization_delta = entry[:utilization] - previous_entry[:utilization]
|
247
|
+
output["disk.#{entry[:device]}.percent_utilization"] = utilization_delta / time_delta * 100
|
250
248
|
end
|
251
249
|
end
|
252
250
|
output
|
metadata
CHANGED
@@ -1,10 +1,15 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: instrumental_tools
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
- 2
|
10
|
+
version: 0.4.2
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Elijah Miller
|
9
14
|
- Christopher Zelenak
|
10
15
|
- Kristopher Chambers
|
@@ -12,62 +17,80 @@ authors:
|
|
12
17
|
autorequire:
|
13
18
|
bindir: bin
|
14
19
|
cert_chain: []
|
15
|
-
|
16
|
-
|
17
|
-
|
20
|
+
|
21
|
+
date: 2012-01-12 00:00:00 Z
|
22
|
+
dependencies:
|
23
|
+
- !ruby/object:Gem::Dependency
|
18
24
|
name: json
|
19
|
-
|
25
|
+
prerelease: false
|
26
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
27
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
hash: 3
|
32
|
+
segments:
|
33
|
+
- 0
|
34
|
+
version: "0"
|
25
35
|
type: :runtime
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
29
38
|
name: instrumental_agent
|
30
|
-
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
41
|
none: false
|
32
|
-
requirements:
|
33
|
-
- -
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 1
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
- 5
|
49
|
+
version: "0.5"
|
36
50
|
type: :runtime
|
37
|
-
|
38
|
-
|
39
|
-
- !ruby/object:Gem::Dependency
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
40
53
|
name: pidly
|
41
|
-
|
54
|
+
prerelease: false
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
56
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 29
|
61
|
+
segments:
|
62
|
+
- 0
|
63
|
+
- 1
|
64
|
+
- 3
|
46
65
|
version: 0.1.3
|
47
66
|
type: :runtime
|
48
|
-
|
49
|
-
|
50
|
-
- !ruby/object:Gem::Dependency
|
67
|
+
version_requirements: *id003
|
68
|
+
- !ruby/object:Gem::Dependency
|
51
69
|
name: rake
|
52
|
-
|
70
|
+
prerelease: false
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
53
72
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
hash: 3
|
77
|
+
segments:
|
78
|
+
- 0
|
79
|
+
version: "0"
|
58
80
|
type: :development
|
59
|
-
|
60
|
-
version_requirements: *70127299357440
|
81
|
+
version_requirements: *id004
|
61
82
|
description: Tools for displaying information from and reporting to Instrumental (instrumentalapp.com)
|
62
|
-
email:
|
83
|
+
email:
|
63
84
|
- support@instrumentalapp.com
|
64
|
-
executables:
|
85
|
+
executables:
|
65
86
|
- gitstrumental
|
66
87
|
- instrument_server
|
67
88
|
- instrumental
|
68
89
|
extensions: []
|
90
|
+
|
69
91
|
extra_rdoc_files: []
|
70
|
-
|
92
|
+
|
93
|
+
files:
|
71
94
|
- .gitignore
|
72
95
|
- Gemfile
|
73
96
|
- README.md
|
@@ -80,26 +103,36 @@ files:
|
|
80
103
|
- lib/instrumental_tools/version.rb
|
81
104
|
homepage: http://github.com/fastestforward/instrumental_tools
|
82
105
|
licenses: []
|
106
|
+
|
83
107
|
post_install_message:
|
84
108
|
rdoc_options: []
|
85
|
-
|
109
|
+
|
110
|
+
require_paths:
|
86
111
|
- lib
|
87
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
88
113
|
none: false
|
89
|
-
requirements:
|
90
|
-
- -
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
|
93
|
-
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
hash: 3
|
118
|
+
segments:
|
119
|
+
- 0
|
120
|
+
version: "0"
|
121
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
122
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
hash: 3
|
127
|
+
segments:
|
128
|
+
- 0
|
129
|
+
version: "0"
|
99
130
|
requirements: []
|
131
|
+
|
100
132
|
rubyforge_project:
|
101
|
-
rubygems_version: 1.8.
|
133
|
+
rubygems_version: 1.8.10
|
102
134
|
signing_key:
|
103
135
|
specification_version: 3
|
104
136
|
summary: Command line tools for Instrumental
|
105
137
|
test_files: []
|
138
|
+
|