Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
telemetry / lib / telemetry / telemetry.rb
Size: Mime:
class Telemetry
  dependency :clock

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

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

  def sinks
    @sinks ||= []
  end

  def register(sink)
    sinks << sink
  end

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