Class: Cmd::All
Instance Method Summary
collapse
#all_sensors, #all_sensors_table, #fail!, #with_redis, #with_safe_restore_of
Instance Method Details
#create(name, type) ⇒ Object
101
102
103
104
105
106
107
108
109
110
|
# File 'lib/cmd.rb', line 101
def create(name, type)
with_redis do
klass = constantize("PulseMeter::Sensor::Timelined::#{type}")
puts "PulseMeter::Sensor::Timelined::#{type}"
fail! "Unknown sensor type #{type}" unless klass
sensor = klass.new(name, options.dup)
puts "Sensor created"
puts all_sensors_table
end
end
|
#create_simple(name, type) ⇒ Object
132
133
134
135
136
137
138
139
140
|
# File 'lib/cmd.rb', line 132
def create_simple(name, type)
with_redis do
klass = constantize("PulseMeter::Sensor::#{type}")
fail! "Unknown sensor type #{type}" unless klass
sensor = klass.new(name, options.dup)
puts "Sensor created"
puts all_sensors_table
end
end
|
#delete(name) ⇒ Object
93
94
95
96
|
# File 'lib/cmd.rb', line 93
def delete(name)
with_safe_restore_of(name) {|sensor| sensor.cleanup}
puts "Sensor #{name} deleted"
end
|
#drop(name, from, to) ⇒ Object
152
153
154
155
156
157
158
159
|
# File 'lib/cmd.rb', line 152
def drop(name, from, to)
time_from = parse_time(from)
time_to = parse_time(to)
with_safe_restore_of(name) do |sensor|
fail! "Sensor #{name} has no drop_within method" unless sensor.respond_to?(:drop_within)
sensor.drop_within(time_from, time_to)
end
end
|
#event(name, value) ⇒ Object
56
57
58
59
60
61
62
63
64
|
# File 'lib/cmd.rb', line 56
def event(name, value)
if "json" == options[:format]
value = JSON.parse(value)
end
with_safe_restore_of(name) {|sensor|
sensor.event(value)
}
PulseMeter.command_aggregator.wait_for_pending_events
end
|
#reduce ⇒ Object
44
45
46
47
48
49
50
51
|
# File 'lib/cmd.rb', line 44
def reduce
with_redis do
puts 'Registered sensors to be reduced'
puts all_sensors_table
PulseMeter::Sensor::Timeline.reduce_all_raw
puts "DONE"
end
end
|
#sensors ⇒ Object
38
39
40
|
# File 'lib/cmd.rb', line 38
def sensors
with_redis {puts all_sensors_table(options[:format])}
end
|
#timeline(name, seconds) ⇒ Object
69
70
71
72
73
74
75
76
77
|
# File 'lib/cmd.rb', line 69
def timeline(name, seconds)
with_safe_restore_of(name) do |sensor|
now = Time.now
puts sensor.
timeline_within(now - seconds.to_i, now, true).
map {|data| [data.start_time, data.value || '']}.
to_table(options[:format])
end
end
|
#timeline_within(name, from, till) ⇒ Object
82
83
84
85
86
87
88
89
|
# File 'lib/cmd.rb', line 82
def timeline_within(name, from, till)
with_safe_restore_of(name) do |sensor|
puts sensor.
timeline_within(Time.parse(from), Time.parse(till), true).
map {|data| [data.start_time, data.value || '']}.
to_table(options[:format])
end
end
|
#udp_proxy(host, port) ⇒ Object
163
164
165
166
167
168
169
|
# File 'lib/cmd.rb', line 163
def udp_proxy(host, port)
with_redis do
puts 'Starting UDP server'
server = PulseMeter::UDPServer.new(host, port)
server.start
end
end
|
#update(name) ⇒ Object
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/cmd.rb', line 115
def update(name)
with_safe_restore_of(name) do |sensor|
opts = options.dup
[:ttl, :interval, :reduce_delay, :raw_data_ttl, :annotation].each do |attr|
opts[attr] ||= sensor.send(attr)
end
klass = sensor.class
new_sensor = klass.new(name, opts)
new_sensor.dump!(false)
puts "Sensor updated"
puts all_sensors_table
end
end
|
#value(name) ⇒ Object
143
144
145
146
147
148
|
# File 'lib/cmd.rb', line 143
def value(name)
with_safe_restore_of(name) do |sensor|
fail! "Sensor #{name} has no value method" unless sensor.respond_to?(:value)
puts "Value: #{sensor.value}"
end
end
|