riemannx v2.4.1 Riemannx.Connections.Combined View Source
The combined connection worker works out when it’s possible to use UDP and will transmit via TCP when the message size exceeds the total max byte size.
This ensures you get the non-blocking behaviour of UDP without dropping events if they exceed the byte size configured on the Riemann server. This connection is the recommended default.
Special Notes
The callback functions in this module simply route to the callback functions in either the TCP or UDP modules based on a simple byte_size check of the given event.
Your pool size and overflow configuration is doubled when using a combined connection - for example if you set a pool size of 10 the actual pool size will be 20 to accomodate both UDP (10 workers) and TCP (10 workers).
Even though this is the recommended default that is based on my use-case for this library. Your requirements may be VERY different. Using UDP at all is unreliable but in my use case I don’t care if some events don’t make it, in situations it is absolutely critical your events make it in order and reliably you should use TCP. In fact Riemann themeselves recommend TCP only.
Link to this section Summary
Functions
Callback implementation for Riemannx.Connection.get_worker/2
Callback implementation for Riemannx.Connection.query/3
Callback implementation for Riemannx.Connection.release/3
Callback implementation for Riemannx.Connection.send/2
Callback implementation for Riemannx.Connection.send_async/2
Link to this section Functions
Callback implementation for Riemannx.Connection.get_worker/2
.
Callback implementation for Riemannx.Connection.query/3
.
Callback implementation for Riemannx.Connection.release/3
.
Callback implementation for Riemannx.Connection.send/2
.
Callback implementation for Riemannx.Connection.send_async/2
.