Module: Puma::Plugin::TelemetryToo::PluginInstanceMethods
- Defined in:
- lib/puma/plugin/telemetry_too.rb
Overview
Contents of actual Puma Plugin
Instance Method Summary collapse
Instance Method Details
#call(telemetry) ⇒ Object
97 98 99 100 101 |
# File 'lib/puma/plugin/telemetry_too.rb', line 97 def call(telemetry) Puma::Plugin::TelemetryToo.config.targets.each do |target| target.call(telemetry) end end |
#run! ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/puma/plugin/telemetry_too.rb', line 83 def run! loop do log_writer.debug 'plugin=telemetry msg="publish"' call(Puma::Plugin::TelemetryToo.build(@launcher)) rescue Errno::EPIPE # Occurs when trying to output to STDOUT while puma is shutting down rescue StandardError => e log_writer.error "plugin=telemetry err=#{e.class} msg=#{e..inspect}" ensure sleep Puma::Plugin::TelemetryToo.config.frequency end end |
#start(launcher) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/puma/plugin/telemetry_too.rb', line 67 def start(launcher) @launcher = launcher unless Puma::Plugin::TelemetryToo.config.enabled? log_writer.log 'plugin=telemetry msg="disabled, exiting..."' return end log_writer.log 'plugin=telemetry msg="enabled, setting up runner..."' in_background do sleep Puma::Plugin::TelemetryToo.config.initial_delay run! end end |