Class: Telemetry

Inherits:
Object
  • Object
show all
Defined in:
lib/telemetry/sink.rb,
lib/telemetry/telemetry.rb,
lib/telemetry/dependency.rb,
lib/telemetry/controls/sink.rb,
lib/telemetry/controls/time.rb

Defined Under Namespace

Modules: Controls, Dependency, Sink

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.buildObject



4
5
6
7
8
# File 'lib/telemetry/telemetry.rb', line 4

def self.build
  new.tap do |instance|
    Clock::UTC.configure instance
  end
end

.configure(receiver) ⇒ Object



10
11
12
13
14
# File 'lib/telemetry/telemetry.rb', line 10

def self.configure(receiver)
  instance = build
  receiver.telemetry = instance
  instance
end

Instance Method Details

#record(signal, data = nil) ⇒ Object



24
25
26
27
28
# File 'lib/telemetry/telemetry.rb', line 24

def record(signal, data=nil)
  sinks.each do |s|
    s.record signal, clock.iso8601(precision: 5), data
  end
end

#register(sink) ⇒ Object



20
21
22
# File 'lib/telemetry/telemetry.rb', line 20

def register(sink)
  sinks << sink
end

#sinksObject



16
17
18
# File 'lib/telemetry/telemetry.rb', line 16

def sinks
  @sinks ||= []
end