Class: Neutrino::Client::ShellMetric
- Inherits:
-
Metric
- Object
- Hashie::Dash
- Metric
- Neutrino::Client::ShellMetric
show all
- Defined in:
- lib/neutrino/shell_metric.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Metric
#metric_id, #to_h, #to_json
Constructor Details
#initialize(opts = {}) ⇒ ShellMetric
Returns a new instance of ShellMetric.
8
9
10
11
|
# File 'lib/neutrino/shell_metric.rb', line 8
def initialize(opts={})
super(opts)
query
end
|
Class Method Details
.execute(command) ⇒ Object
13
14
15
16
17
18
19
20
|
# File 'lib/neutrino/shell_metric.rb', line 13
def self.execute(command)
parsed_value = Open3.popen3(command) do |stdin, stdout, stderr, wait_thr|
stdout.read.strip
end
Log.debug("'#{command}' outputs '#{parsed_value}'")
Log.warn("'#{command}' outputs '#{parsed_value}'") if parsed_value.nil? || parsed_value.empty?
return parsed_value
end
|
Instance Method Details
#query ⇒ Object
22
23
24
25
26
27
28
|
# File 'lib/neutrino/shell_metric.rb', line 22
def query
values_hash = {}
self.commands.each_pair do |name, cmd|
values_hash[name] = ShellMetric.execute(cmd)
end
self.values = values_hash
end
|