Module: Puma::Plugin::Telemetry

Defined in:
lib/puma/plugin/telemetry.rb,
lib/puma/plugin/telemetry/data.rb,
lib/puma/plugin/telemetry/config.rb,
lib/puma/plugin/telemetry/version.rb,
lib/puma/plugin/telemetry/targets/io_target.rb,
lib/puma/plugin/telemetry/formatters/json_formatter.rb,
lib/puma/plugin/telemetry/targets/datadog_statsd_target.rb,
lib/puma/plugin/telemetry/targets/open_telemetry_target.rb,
lib/puma/plugin/telemetry/targets/base_formatting_target.rb,
lib/puma/plugin/telemetry/formatters/passthrough_formatter.rb,
lib/puma/plugin/telemetry/transforms/cloud_watch_transform.rb,
lib/puma/plugin/telemetry/transforms/passthrough_transform.rb

Overview

Telemetry plugin for puma, supporting:

  • multiple targets, decide where to push puma telemetry information, i.e. datadog, cloudwatch, logs
  • filtering, select which metrics are interesting for you, extend when necessery

Defined Under Namespace

Modules: CommonData, Formatters, PluginInstanceMethods, Targets, Transforms Classes: ClusteredData, Config, Error, SocketData, WorkerData

Constant Summary collapse

VERSION =
'1.2.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject



26
27
28
# File 'lib/puma/plugin/telemetry.rb', line 26

def config
  @config ||= Config.new
end

Class Method Details

.build(launcher = nil) ⇒ Object



34
35
36
# File 'lib/puma/plugin/telemetry.rb', line 34

def build(launcher = nil)
  socket_telemetry(puma_telemetry, launcher)
end

.configure {|config| ... } ⇒ Object

Yields:



30
31
32
# File 'lib/puma/plugin/telemetry.rb', line 30

def configure
  yield(config)
end