mirror of
https://github.com/elastic/logstash.git
synced 2025-04-25 07:07:54 -04:00
Merge pull request #528 from alistar79/master
Addition: statsd output plugin gauge metric type Conflicts: lib/logstash/outputs/statsd.rb
This commit is contained in:
commit
730f026c20
2 changed files with 11 additions and 2 deletions
|
@ -55,6 +55,9 @@ class LogStash::Outputs::Statsd < LogStash::Outputs::Base
|
||||||
# A set metric. metric_name => string to append as hash
|
# A set metric. metric_name => string to append as hash
|
||||||
config :set, :validate => :hash, :default => {}
|
config :set, :validate => :hash, :default => {}
|
||||||
|
|
||||||
|
# A gauge metric. metric_name => gauge as hash
|
||||||
|
config :gauge, :validate => :hash, :default => {}
|
||||||
|
|
||||||
# The sample rate for the metric
|
# The sample rate for the metric
|
||||||
config :sample_rate, :validate => :number, :default => 1
|
config :sample_rate, :validate => :number, :default => 1
|
||||||
|
|
||||||
|
@ -97,6 +100,10 @@ class LogStash::Outputs::Statsd < LogStash::Outputs::Base
|
||||||
@client.set(build_stat(event.sprintf(metric), sender),
|
@client.set(build_stat(event.sprintf(metric), sender),
|
||||||
event.sprintf(val), @sample_rate)
|
event.sprintf(val), @sample_rate)
|
||||||
end
|
end
|
||||||
|
@gauge.each do |metric, val|
|
||||||
|
@client.gauge(build_stat(event.sprintf(metric), sender),
|
||||||
|
event.sprintf(val).to_f, @sample_rate)
|
||||||
|
end
|
||||||
end # def receive
|
end # def receive
|
||||||
|
|
||||||
def build_stat(metric, sender=@sender)
|
def build_stat(metric, sender=@sender)
|
||||||
|
|
|
@ -52,7 +52,7 @@ describe LogStash::Filters::Mutate do
|
||||||
config '
|
config '
|
||||||
filter {
|
filter {
|
||||||
mutate {
|
mutate {
|
||||||
remove => [ "remove-me", "remove-me2", "diedie" ]
|
remove => [ "remove-me", "remove-me2", "diedie", "[one][two]" ]
|
||||||
}
|
}
|
||||||
}'
|
}'
|
||||||
|
|
||||||
|
@ -60,12 +60,14 @@ describe LogStash::Filters::Mutate do
|
||||||
"remove-me" => "Goodbye!",
|
"remove-me" => "Goodbye!",
|
||||||
"remove-me2" => 1234,
|
"remove-me2" => 1234,
|
||||||
"diedie" => [1, 2, 3, 4],
|
"diedie" => [1, 2, 3, 4],
|
||||||
"survivor" => "Hello."
|
"survivor" => "Hello.",
|
||||||
|
"one" => { "two" => "wee" }
|
||||||
) do
|
) do
|
||||||
insist { subject["survivor"] } == "Hello."
|
insist { subject["survivor"] } == "Hello."
|
||||||
reject { subject }.include?("remove-me")
|
reject { subject }.include?("remove-me")
|
||||||
reject { subject }.include?("remove-me2")
|
reject { subject }.include?("remove-me2")
|
||||||
reject { subject }.include?("diedie")
|
reject { subject }.include?("diedie")
|
||||||
|
reject { subject["one"] }.include?("two")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue