This project provides a relay that can accept metrics in various formats (initially Graphite Line protocol) and send them through various ways.
Go
22
6 commits
updated Mar 20, 2018
This project provides a relay that can accept metrics in various formats (initially Graphite Line protocol) and send them through various ways.
Early Proof of Concept. Compiles, but not tested extensively
General:
Benchmark:
Config:
Calculator:
Input:
Input Encoders:
Output Encoders:
Output:
Routing:
LoadBalancing:
Documentation:
Internal benchmarks shows that current version of relay can do simple routing (StatsWith: "" + send to 4 destinations) of 2M lines/sec on 2xE5-2620v3, 128GB Ram. CPU Consumption is 6 (out of 24) cores on average (spikes up to 18 cores), memory consumption is far from optimal - 60GB of Ram (6x overhead). This performance levels can't be considered ok for sustained load.
With more complex rules, relay performance dramatically decreases (10-20x decrease and 10x more memory consumption). This is subject to investigate and fix.
Performance with tags is mostly untested
This program was originally developed for Booking.com. With approval from Booking.com, the code was generalised and published as Open Source on GitHub, for which the author would like to express his gratitude.
This code is licensed under the Apache2 license.
3 commits
3 commits
Go
100.0%
This project provides a relay that can accept metrics in various formats (initially Graphite Line protocol) and send them through various ways.
Go
22
6 commits
updated Mar 20, 2018
This project provides a relay that can accept metrics in various formats (initially Graphite Line protocol) and send them through various ways.
Early Proof of Concept. Compiles, but not tested extensively
General:
Benchmark:
Config:
Calculator:
Input:
Input Encoders:
Output Encoders:
Output:
Routing:
LoadBalancing:
Documentation:
Internal benchmarks shows that current version of relay can do simple routing (StatsWith: "" + send to 4 destinations) of 2M lines/sec on 2xE5-2620v3, 128GB Ram. CPU Consumption is 6 (out of 24) cores on average (spikes up to 18 cores), memory consumption is far from optimal - 60GB of Ram (6x overhead). This performance levels can't be considered ok for sustained load.
With more complex rules, relay performance dramatically decreases (10-20x decrease and 10x more memory consumption). This is subject to investigate and fix.
Performance with tags is mostly untested
This program was originally developed for Booking.com. With approval from Booking.com, the code was generalised and published as Open Source on GitHub, for which the author would like to express his gratitude.
This code is licensed under the Apache2 license.
3 commits
3 commits
Go
100.0%