- Scala 2.13 support. Thanks NeQuissimus!
- Add test for handling floating point timer encoding
- Remove unnecessary deps and move some to test target. Thanks travisbrown!
- Correct error in README for StatsDClient constructor. Thanks tpiron!
- Fixed incorrect default argument to
decrement
. Thanks acjay!
- Clients may specify a
maxBatchSize
to allow batching multiple metrics, separated by newlines. Be sure and choose a value smaller than the relevant MTU! Thanks tixxit! - Clean up some linter warnings and such.
- Fixed constant DEFAULT_VALID_METRIC_REGEX to allow 0-9
- Add constant
github.gphat.censorinus.DogStatsDClient.DEFAULT_VALID_METRIC_REGEX
for use with metricRegex option
- Decrease allocations when sending metrics. Thanks @johnynek
- Add metricRegex as optional arg to clients for converting incoming metric names
- Publish for Scala 2.12 and bump version deps.
- Removed Scala 2.10 from targets.
- Newlines in events and service check are now properly escaped.
- Exceptions that could've been emitted by ending UDP datagrams are now swallowed by default.
- Added
allowExceptions
as a client instantiation option to control exception handling. - "Invalid" gauge values
Double.NaN
as well as infinite values are now silently dropped.
- Fixed some
toString
warnings. Thanks @jpellerin! - Improved docs for asynchronous features.
- Updated error messages for when
maxQueueSize
is hit. - Cleaned up code around emptying queue to be simpler.
- Fixed bug in encoding of events that caused the
alert_type
field to be dropped. Thanks @jpellerin!
- DogStatsD client has new
event
andserviceCheck
methods. DogStatsDClient.SERVICE_CHECK_*
,DogStatsDClient.EVENT_PRIORITY_*
, andDogStatsDClient.EVENT_ALERT_TYPE_*
added to support the aforementioned new methods.
- Under the hood, the metrics supplied are now represented as things like
GaugeMetric
, etc. A number of traits are used to simplify logic in choosing how to encode these metric types for output. This is transparent to the end user, as the client interfaces are unchanged. - There is no longer a
floatFormat
parameter for the clients. It's unlikely you used this anyway. - With the number formatting now contained in a single thread, the use of a DecimalFormatter allows for better looking numeric output, meaning we don't spew
.000000
unnecessarily on things, saving some bytes.
- Corrected some minor documentation nits.
- Swallow exceptions that would otherwise cause no more metrics to be sent. Thanks bkirwi!
- The Datagram socket is now lazy, so it will not be created until first use. Fixes #7.
- Use of prefixes now makes use of
StringBuilder
instead of Scala string interpolation. - Clients may now be instantiated with a
maxQueueSize
to prevent unbounded growth of metrics. Thanks tixxit! - Minor documentation improvements.
- Upgrade to Scala 2.11.8 and SBT 0.13.11
- Use
take
when polling in async mode, since it's the only thing the thread does.
- Added scalastyle rules and cleaned up a few things as a result.
- Move packages around to make publishing in non-github-repo-of-gphat's easier. The package is now
github.gphat
. Thanks tixxit! - Use a BlockingQueue to simplify the asynchronous mode. Thanks tixxit!
- Speed up metric emission by using a
StringBuilder
instead of Scala string interpolation. Thanks tixxit! - Removed the
histogram
method from theStatsDClient
as it's not a supported metric type.
- Datadog histograms and timers now emit sample rates. Previously they did not, which was a bug!
- Small doc fixes.
- Stopped
println
ing every Metric send via UDP. So chatty! - Ahem… so client-side sampling wasn't really working. Sampling now works 100% better. There's a test to prove it!
- Ability to bypass the client-side sampler, but still send a sample rate. This is useful for folks doing their own sampler.
- Double values being emitted as scientific notation and therefore being invalid StatsD datagrams
- Shutdown client in test suite so unclosed DatagramSockets don't pile up
- Adjust DogStatsD encoder to only add pipe delimiters when necessary
- Test to ensure DogStatsD datagrams are correctly formatted. Fixes #3
- Added optional prefix argument for clients to add to the names of metrics. Fixes #1
- First release!