- Veneur-emit can now time any shell command and emit its duration as a Timing metric. Thanks redsn0w422!
- Correctly parse
Set
metrics if sent via SSF. Thanks redsn0w422! - Return correct array of tags after parsing an SSF metric. Thanks redsn0w422!
- Don't panic if a packet doesn't have tags. Thanks redsn0w422!
- Fix a typo in the link to veneur-emit in the readme. Thanks vasi!
- Adds events and service checks to
veneur-emit
. Thanks redsn0w422! - Switch to dep for managing the
vendor
directory. Thanks chimeracoder! - Remove support for
govendor
. Thanks chimeracoder! - Emit GC metrics at flush time. This feature is best used with Go 1.9 as previous versions cause GC pauses when collecting this information from go. Thanks gphat!
- Allow configuration of LightStep's reconnect period via
trace_lightstep_reconnect_period
and the maximum number of spans it will buffer viatrace_lightstep_maximum_spans
. Thanks gphat! - Switch to dep for managing the
vendor
directory. Thanks chimeracoder! - Remove support for
govendor
. Thanks chimeracoder! - Added harmonic mean as an optional aggregate type. Use
hmean
as an option to theaggregates
config option to enable. Thanks non!
- Added tests for
parseMetricSSF
. Thanks redsn0w422! - Refactored
veneur-emit
flag usage to make testing easier. Thanks redsn0w422! - Minor text fixes in the README. Thanks an-stripe!
- Restructured SSF parsing logic and added more tests. Thanks redsn0w422!
- Tag
packet.spans.received_total
withservice
from the span. Thanks chimeracoder!
- Better document how to configure Veneur as a DogStatsD replacement. Thanks gphat with assist from stangles!
- Fixed an error in graceful shutdown of the TCP listener. Thanks evanj!
- Don't hang if we call
log.Fatal
and we aren't hooked up to a Sentry. Thanks evanj! - Fix flusher_test being called more than once resulting in flappy failure. Thanks evanj!
- Improve flusher test to not start veneur, fixing flapping test. Thanks evanj!
veneur-emit
can now emit metrics using the SSF protocol. Thanks redsn0w422!- Documentation for SSF. Thanks gphat!
- It is no longer required to emit a
sum
to get anavg
when configuring what aggregations to emit for a histogram. Thanks cgilling! - Tags added in the
tags
config key are now applied to trace spans. Thanks chimeracoder! - Additional documentation for
veneur-proxy
. Thanks gphat! - Revamped configuration file organization and comments. Thanks gphat!
- Changed some config keys to have more specific names to facilitate future refactoring. Thanks gphat!
- Adjust the flush loop to listen for server shutdown to improve test consistency. Thanks evanj!
- Veneur can now, experimentally, ingest metrics using the SSF protocol. Thanks redsn0w422!
- Reresolve the LightStep trace flusher on each flush, accomodating Consul-based DNS use and preventing stale sinks. Thanks chimeracoder!
- The following configuration keys are deprecated and will be removed in version 2.0 of Veneur:
datadog_api_key
replaceskey
datadog_api_hostname
replacesapi_hostname
datadog_trace_api_address
replacestrace_api_address
ssf_address
replacestrace_address
- Require Go 1.8+ and stop building against 1.7 Thanks Thanks chimeracoder!
- Decrease logging level for proxy's "forwarded" messages. Thanks gphat!
- Failed discovery refreshes now log the service name. Thanks gphat!
- Proxy no longer requires a trace service name, since it's not wired up. Thanks gphat!
- No longer allow clients to pass in
nan
,+inf
or-inf
as a value for a metric, as this caused errors on flush. Thanks gphat!
- Added
veneur-proxy
to provide HA features with consistent hashing. See the Proxy section of the README
- Fix flusher_test to properly shutdown HTTP after handling. Thanks evanj!
- Verify that
trace_max_length_bytes
is properly set. Thanks evanj! - Fix some race conditions in testing.
- Document performance cost of TLS with RSA and ECDH keys. Thanks evanj!
- Reduce logging of tracing information to
debug
level to decrease unnecessary logging. - Reduce common TCP error logs to
info
level. Thanks evanj! - Deal with server shutdown without inspecting errors strings. Thanks evanj!
- Decrease the number of things we send to Sentry as "errors".
- Detect and emit a metric
veneur.packet.error_total
taggedreason:toolong
for metrics that exceed the metric max length. - Emit a metric
veneur.packet.error_total
taggedreason:zerolength
for metrics have no contents. - Correct unnecessary allocation / goroutine in TCP connections that was leaking memory. Thanks evanj!
- Close idle TCP connections after 10 minutes. Thanks evanj!
- Fixed a lot of go lint errors.
- Add a metric
veneur.sentry.errors_total
for number of errors we send to Sentry. - New plugin
flush_file
for writing metrics to a flat file. - New
/healthcheck/tracing
endpoint that returns 200 if this Veneur instance is accepting traces.
- Refactor tests to use a more shareable test fixture. Thanks evanj!
- Refactor
Server
's constructor to not start any goroutines and add aStart()
that takes care of that, making for easier tests.
- Hostname and device name tags are now omitted from JSON generated for transmission to Datadog at flush time. Thanks evanj!
- Fix panic when an error is generated and Sentry is not configured. Thanks evanj!
- Fix typos in README
- Add
omit_empty_hostname
option. If true andhostname
tag is set to empty, Veneur will not add a host tag to it's own metrics. Thanks evanj! - Support "all interfaces" addresses (
:1234
) for listening configuration. Thanks evanj! - Add support for receiving statsd packets over authenticated TLS connections. Thanks evanj!
- [EXPERIMENTAL] Add InfluxDB support.
- [EXPERIMENTAL] Add support for ingesting traces and sending to Datadog's APM agent.