- Fix NPE if cloud provider is not specified
- Minor internal cleanups
- Some additional tweaks to flushing code
- Minor refactorings
- Fix bug in rate calculation for Datadog
- Fix bug introduced in 0.14.6 in Datadog backend when invalid hostname was sent for metrics
- Set tags for own metrics (#55)
- Add expvar support
- Minor internals refactoring and optimization
- Limit max concurrent events (#24)
- Memory consumption optimizations
- Improved and reworked tags support; Unicode characters are preserved now.
- Minor internals refactoring and optimization
- Send start and stop events (#21)
- Linux binary is now built inside of Docker container rather than on the host
- Fix data race in Datadog backend (#44)
- Minor internals refactoring
- Fix batching support in Datadog backend
- Better Graphite support (#35)
- Minor internals refactoring
- Update to Alpine 3.4
- Cap request size in Datadog backend (#27)
- Set timeouts on Dials and tcp sends (#23)
- Reuse HTTP connections in Datadog backend
- Async rate limited cloud provider lookups (#22, #3)
- Internals refactoring
- Add configurable CPU profiler endpoint
- Increase default Datadog timeouts to reduce number of errors in the logs
- Log intermediate errors in Datadog backend
- Consistently set timeouts for AWS SDK service clients
- Update all dependencies
- Fix Datadog backend retry error #18
- Various internal improvements
- Fix goroutine start bug in dispatcher - versions 0.12.6, 0.12.7 do not work properly
- Datadog events support
- Remove deprecated -f flag passed to Docker tag command
- Rename num_stats back to numStats to be compatible with original statsd
- null backend to do benchmarking
- Internals refactoring
- Implement negative lookup cache (#8)
- Read configuration from environment, flags and config
- Do not multiply number of metric workers
- Do not replace dash and underscore in metric names and tags
- Fix handling of NaN specific case
- Minor refactorings for linter
- Use pointer to metric instead of passing by value
- Optimise (5-10x) performance of line parser
- Revert dropping message and block instead
- Use different values for number of worker to read from socket, process messages and metrics
- Minor fixes and performance improvements
- Calculate per second counters since last flush time instead of interval
- Process internal stats as standard metrics
- Add benchmarks
- Improve performance for buffering data out of the socket
- Drop messages and metrics instead of blocking when overloaded
- Normalize tags consistently but don't force lower case for metric names
- Add support for cloud plugins to retrieve host information e.g. instance id, aws tags, etc.
- Add load testing tool
- Performance improvements for receiver and aggregator
- Use goroutines to read net.PacketConn instead of buffered channel
- Graphite: replace dots by underscores in metric name (tags)
- Limit concurrency by using buffered channels for incoming messages
- Discard empty tags
- Datadog: add retries on post errors
- Add support for default tags
- statsd backend: ensure not going over the udp datagram max size on metrics send
- Datadog: normalise tags to always be of form "key:value"
- Reset counters, gauges, timers, etc. after an expiration delay
- Datadog: add interval to metric payload
- Datadog: use source ip address as hostname
- Remove extraneous dot in metric names for stdout and graphite backends when no tag
- Add more and improve internal statsd stats
- Datadog: set dogstatsd version and user-agent headers
- Datadog: use
rate
type for per second metric
- Fix issue with tags overwriting metrics without tags
- Fix undesired overwriting of metrics
- Datadog: rollback change to metric names for preserving backward compatibility
- Add more timers aggregations e.g. mean, standard deviation, etc.
- Improve
graphite
backend reliability by re-opening connection on each metrics send - Fix value of metrics displayed in web UI
- Improve web console UI look'n'feel
- Add statsd backend
- Add support for global metrics namespace
- Datadog: remove api url from config
- Add support for "Set" metric type
- Datadog: send number of metrics received
- Use appropriate log level for errors
- Remove logging the url on each flush in datadog backend
- Use alpine base image for docker instead of scratch to avoid ca certs root error
- Add datadog backend
- Fix reset of metrics
- Implement tags handling: use tags in metric names
- Implement support for pluggable backends
- Add basic stdout backend
- Configure backends via toml, yaml or json configuration files
- Add support for tags and sample rate
- Initial release