Skip to content

Commit

Permalink
Refactor targets lookup
Browse files Browse the repository at this point in the history
  • Loading branch information
Leszek Zalewski committed Dec 18, 2020
1 parent 91d47c7 commit fbe3484
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 9 deletions.
2 changes: 1 addition & 1 deletion lib/puma/plugin/telemetry.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
require "puma/plugin"

require "puma/plugin/telemetry/version"
require "puma/plugin/telemetry/config"
require "puma/plugin/telemetry/data"
require "puma/plugin/telemetry/targets/datadog_statsd_target"
require "puma/plugin/telemetry/targets/io_target"
require "puma/plugin/telemetry/config"

module Puma
class Plugin
Expand Down
17 changes: 9 additions & 8 deletions lib/puma/plugin/telemetry/config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ class Config
"queue.capacity"
].freeze

TARGETS = {
dogstatsd: Telemetry::Targets::DatadogStatsdTarget,
io: Telemetry::Targets::IOTarget
}.freeze

# Whenever telemetry should run with puma
# - default: false
attr_accessor :enabled
Expand Down Expand Up @@ -68,15 +73,11 @@ def enabled?
def add_target(name_or_target, **args)
return @targets.push(name_or_target) unless name_or_target.is_a?(Symbol)

target =
case name_or_target
when :dogstatsd then Telemetry::Targets::DatadogStatsdTarget.new(**args)
when :io then Telemetry::Targets::IOTarget.new(**args)
else
raise Telemetry::Error, "Undefined Target: #{name_or_target.inspect}, #{args.inspect}"
end
target = TARGETS.fetch(name_or_target) do
raise Telemetry::Error, "Unknown Target: #{name_or_target.inspect}, #{args.inspect}"
end

@targets.push(target)
@targets.push(target.new(**args))
end
end
end
Expand Down

0 comments on commit fbe3484

Please sign in to comment.