Releases: postmates/cernan
skyhawk
This release has three major changes over 0.3.3:
- a durable mpsc is now used in place of std's mpsc
- QOS is now guaranteed timestamp accurate
- Kinesis Firehose sink is introduced
In the situation of a very slow sink and a fast source cernan 0.3.3 and lower would allocate increasing amounts of memory. Obviously that is not desirable but cernan cannot drop telemetry on the floor. The solution is a durable mpsc which writes in-flight data to disk in a concurrency safe fashion. Extensive testing has been done to ensure safety of the durable mpsc.
In cernan 0.3.3 and below QOS was inaccurate as points would be put into a timeless aggregation. A snapshot thread was added to simulate time but this was less than perfect. Now we store points with their timestamps in-aggregate and are able to do QOS elision with guaranteed precision.
As a follow-on effect of this time accurate aggregation, cernan now has different behaviours with regard to two aggregations, gauges and timers. By popular demand, timers will now reset at every second boundary where previously they persisted for the lifetime of the cernan instance. Increment and decrement gauges are also now supported and a gauge will persist across second boundaries.
Finally, we introduce a Kinesis Firehose sink that will allow cernan to emit into Amazon's Firehose, forking from there to various AWS services, S3 and Elasticsearch of the most interest. At present this sink only ships LogLines but in the future when #39 lands we can choose to do more exciting things.
skyhawk
This commit correctly handles raw points, both in terms of
snapshotting and buffering. Previous releases treated raw
points as gauges which lost points. Once gauge behaviour was
changed in 0.3.2 the raws were moved off on their own but
were not correctly flushed. This is now corrected.
skyhawk
skyhawk
This release corrects the way we report counts with a non-one QOS
and incidentally includes VERY VERY experimental support for reading
from files. DO NOT USE THIS. The downside of this file-reading
support is that we will, for very fast files, buffer too much in
memory and swamp your box.
skyhawk
This release includes several enhancement which bring cernan's feature parity
much closer to both statsd and graphite. Additionaly, the concept of quality of
service per metric type has been added, allowing users to set the reporting
interval for gauges, counters, histograms, timers, and raw points.
Config files are now flat, and can be correctly parsed when running cernan with
the -C
flag.
Support for the librato sink was removed, and aggregation was reintroduced to the
Wavefront sink since WF simply averages all points reported within sub-second
intervals.
provisio
provisio
provisio
provisio
provisio
This is a somewhat ahead-of-schedule commit to stop cernan crashing in the event that the wavefront proxy TCP connection fails. Curious thing is that it's been happening more and more.
This is a small piece of the work to remove all unwraps and other panic-worthy behaviour from cernan.