Please sign in to comment.
Correct Overload Issues (#300)
* Investigate cernan freeze-up issue Latest cernan has an issue with freezing up and allocating memory while it's frozen. I dunno where or why but it seems to freeze the whole topology when it happens. That is... weird. This behaviour can be reproduced with the following config: ``` data-directory = "data/" scripts-directory = "examples/scripts/" flush-interval = 5 [tags] source = "cernan" [sources] [sources.internal] # forwards = ["filters.delay.two_seconds"] forwards = ["sinks.console"] [sources.graphite.primary] port = 2004 forwards = ["filters.delay.two_seconds"] [filters] [filters.delay.two_seconds] tolerance = 2 forwards = ["sinks.console"] [sinks] [sinks.console] ``` and the emission script at https://gist.github.com/blt/045160a243741d2390a03762900d4329 Signed-off-by: Brian L. Troutwine <email@example.com> * Use atomic usizes in place of report_telemetry The report_telemetry function created a new Telemetry for every point recorded. This was very expensive. We now require that modules which want to do static named telemetry expose atomic usizes which internal.rs will pull and emit. This significantly reduces cernan's CPU and memory load in high self-telemetry situations. Signed-off-by: Brian L. Troutwine <firstname.lastname@example.org> * Add further self-telemetry This commit adds self-telemetry to the delay_filter and more to the graphite source. cernan.graphite.packet and cernan.graphite.telemetry.received should be roughly the same when the payloads have a single line in them but this is not the case. Worth investigation. Signed-off-by: Brian L. Troutwine <email@example.com> * Adjust constraints on telem read/write Signed-off-by: Brian L. Troutwine <firstname.lastname@example.org> * Simplify Buckets iteration, correct missing metrics This commit corrects the issue with cernan that started off the whole chain of investigation. I'm not 100% sure what the issue was, other than that the indexing present in the old implementation of iteration for buckets::Iter was too complicated and gave wrong results. While simplifying the implementation to understand it better I also fixed what ailed cernan. Welp. Signed-off-by: Brian L. Troutwine <email@example.com> * peg hopper to 0.3.1 Signed-off-by: Tom Santero <firstname.lastname@example.org> * Repair basic.toml This configuration file had some pretty drastic changes checked in to it. The majority of these changes were not intended. Signed-off-by: Brian L. Troutwine <email@example.com>
- Loading branch information...
Showing with 601 additions and 250 deletions.
- +61 −43 Cargo.lock
- +2 −1 Cargo.toml
- +12 −5 examples/configs/basic.toml
- +41 −15 src/buckets.rs
- +36 −15 src/filter/delay_filter.rs
- +14 −0 src/filter/flush_boundary_filter.rs
- +21 −10 src/filter/mod.rs
- +5 −1 src/filter/programmable_filter.rs
- +1 −0 src/lib.rs
- +3 −1 src/metric/tagmap.rs
- +23 −23 src/sink/elasticsearch.rs
- +20 −14 src/sink/influxdb.rs
- +25 −41 src/sink/mod.rs
- +23 −12 src/sink/prometheus.rs
- +35 −26 src/sink/wavefront.rs
- +13 −4 src/source/graphite.rs
- +240 −34 src/source/internal.rs
- +1 −2 src/source/mod.rs
- +9 −3 src/source/statsd.rs
- +16 −0 src/util.rs
Oops, something went wrong.