Module: Puma::Plugin::Telemetry::PluginInstanceMethods

Defined in:
lib/puma/plugin/telemetry.rb

Overview

Contents of actual Puma Plugin

Instance Method Summary collapse

Instance Method Details

#call(telemetry) ⇒ Object



98
99
100
101
102
# File 'lib/puma/plugin/telemetry.rb', line 98

def call(telemetry)
  Puma::Plugin::Telemetry.config.targets.each do |target|
    target.call(telemetry)
  end
end

#run!Object



80
81
82
83
84
85
86
87
88
# File 'lib/puma/plugin/telemetry.rb', line 80

def run!
  loop do
    break if stopped?

    break unless try_publish

    sleep Puma::Plugin::Telemetry.config.frequency
  end
end

#start(launcher) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/puma/plugin/telemetry.rb', line 66

def start(launcher)
  @launcher = launcher
  @stopped = false

  unless Puma::Plugin::Telemetry.config.enabled?
    log_writer.log 'plugin=telemetry msg="disabled, exiting..."'
    return
  end

  log_writer.log 'plugin=telemetry msg="enabled, setting up runner..."'

  setup_runner
end

#stop!Object



90
91
92
# File 'lib/puma/plugin/telemetry.rb', line 90

def stop!
  @stopped = true
end

#stopped?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/puma/plugin/telemetry.rb', line 94

def stopped?
  !!@stopped
end