Class: Telemetry

Inherits:
Object
  • Object
show all
Includes:
Dependency
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

Methods included from Dependency

#telemetry

Class Method Details

.buildObject



6
7
8
9
10
# File 'lib/telemetry/telemetry.rb', line 6

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

.configure(receiver) ⇒ Object



12
13
14
15
16
# File 'lib/telemetry/telemetry.rb', line 12

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

Instance Method Details

#record(signal, data = nil) ⇒ Object



26
27
28
29
30
# File 'lib/telemetry/telemetry.rb', line 26

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

#register(sink) ⇒ Object



22
23
24
# File 'lib/telemetry/telemetry.rb', line 22

def register(sink)
  sinks << sink
end

#sinksObject



18
19
20
# File 'lib/telemetry/telemetry.rb', line 18

def sinks
  @sinks ||= []
end