Recommend running the exporter as a sidecar, now that the relay feature
makes this easy.
Re-order the overview section to put the final state first, then explain
transition and try-out options.
Signed-off-by: Matthias Rampke <matthias@prometheus.io>
Add a simple statsd packet output relay that buffers and forwards raw
statsd lines.
* Only supports UDP output.
* Has a hard-coded buffering timeout of 1 second.
Closes: https://github.com/prometheus/statsd_exporter/issues/95
Signed-off-by: SuperQ <superq@gmail.com>
Note that regular expression matches are only evaluated after glob
matches. Add headings and introductory sentences to each glob type.
Remove the technical reasoning for choosing glob vs. regex; instead
explain the performance implications and gotchas of each type in turn.
Closes#349.
Signed-off-by: Matthias Rampke <matthias@prometheus.io>
Declare the behavior with mixed tagging as undefined, we don't want to
promise anything in that case, not even negatively.
Signed-off-by: Matthias Rampke <matthias@prometheus.io>
Update the README to reflect #314. Add an entry to the changelog
with extended compatibility notes.
Signed-off-by: Matthias Rampke <matthias@prometheus.io>
If desired, go through all the motions of setting up the exporter, but
then exit. This is not very elegant, as we actually open the ports,
which may not be what you want to do in a pipeline, but it is the
quickest way to implement this.
Fixes#263.
Signed-off-by: Matthias Rampke <matthias@prometheus.io>
specifically, deny compatibility guarantees, but do note that we
recognize the packages as reusable.
Signed-off-by: Matthias Rampke <mr@soundcloud.com>
The Go client for prometheus aggregates summary metrics over 10
minutes by default, in 5 buckets. This is not always the behaviour we
want.
Allow tweaking those settings in `statsd_exporter`, so we can
aggregate summary metrics over more or less time, with more or fewer
buckets, and set the cap for the bucket as well.
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Currently the Buckets and Quantiles settings are top level settings per metric
in the yaml. In a subsequent commit we're going to allow adding more such
options for summaries, at which point having them all at the top level gets
confusing.
Split the options out into separate hierarchies to allow adding more options,
without adding confusion. We preserve backwards compatibility by still
accepting the old option, but warning when it is present.
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Only key:value format for dogstatsd is accepted by latest version of statsd exporter.
I've tried both official client and bash scripts to send the data:
echo "newpure.test:1|c|@0.5|#country:china" | nc -w 1 -u 127.0.0.1 9125` - will work
echo "newpure.test:1|c|@0.5|#country=china" | nc -w 1 -u 127.0.0.1 9125 - will not work
Signed-off-by: Marcin Lulek <info@webreactor.eu>
DogStatsD by default emits timer metric in seconds, while the exporter
assumes milliseconds; which is the default for statsd. The `use_ms` option
fixes this, and will be useful for dogstatsd users to know.
Signed-off-by: Raghu Udiyar <raghusiddarth@gmail.com>
They can start with a * which makes YAML barf if not quoted. Instead of
figuring out individually what does and does not need to be quoted,
always quote.
Signed-off-by: Matthias Rampke <mr@soundcloud.com>
This is more portable (works on any system that has UNIX signals) and
removes the dependency on fsnotify, which doesn't compile on AIX. It
also reduces the probability of failed reloads due to partial writes.
Fixes#241.
Signed-off-by: Matthias Rampke <mr@soundcloud.com>
At high traffic levels, the locking around sending on channels can cause
a large amount of blocking and CPU usage. These adds an event queue
mechanism so that events are queued for short period of time, and
flushed in batches to the main exporter goroutine periodically.
The default is is to flush every 1000 events, or every 200ms, whichever
happens first.
Signed-off-by: Clayton O'Neill <claytono@github.com>
This adds the ability to accept Datadog's distribution type and treat it
like a histogram/summary.
Signed-off-by: Clayton O'Neill <claytono@github.com>
I realized that "TTLs are applied" is ambiguous. Metrics don't only
expire on receiving a sample, so mention that this is about the
configuration.
Signed-off-by: Matthias Rampke <mr@soundcloud.com>