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>
* Quantile values for a Summary are now configurable.
* The default quantiles (DefObjectives) in the prometheus Go client library is
deprecated. This commit removes the reliance on it.
Signed-off-by: Harry Bagdi <harrybagdi@gmail.com>
This removes the not actually available log flags from the README. We
should really have those (#111), but at least it's less confusing this
way.
Fixes#110.
The escaping changed in 728bdc52ae, before
0.1.0. Add a test for the escape function, and test various cases,
including those mentioned in the README.
This reveals that the README is inaccurate, adjust it to what has been
the reality for many years. Fixes#97.
Strings with leading asterisks need to be escaped in YAML.
Add the same examples into the test suite to make sure they do what we
claim they do.
Fixes#102.