Includes new config parameter: prometheus.port with a default of 1234. This is the port for the Jetty server that provides the metrics.
Metrics include:
records (how many messages have gone through)
bytes (how many bytes have gone through)
resends (how many times messages have been needed to resend to RELP)
connects (how many times a connection has been made to RELP)
retriedConnects (how many times a connection attempt has had to be retried)
sendLatency (latency of processing the whole message as it comes in and sending it to RELP)
connectLatency (latency of connecting to RELP)
I tried my best to not fill the existing objects with the metrics, so I made decorators where applicable. The metrics are somewhat scattered, as objects have different responsibilities:
ManagedRelpConnection includes resends, retriedConnects, records and bytes. Would have liked to make this a decorator as well, but resends and retriedConnects are inner logic of the object when a message has been sent so this would need refactoring to do the metrics in a decorator.
The new MetricRelpConnection includes connects and connectLatency. RelpConnection is the only object that actually deals with the connections so these metrics were placed in its decorator.
The new MetricRelpConversion includes sendLatency because RelpConversion is the object that has a hold on the whole processing of the message.
Setup can be found in Metrics.java.
Includes new config parameter:
prometheus.port
with a default of 1234. This is the port for the Jetty server that provides the metrics.Metrics include:
I tried my best to not fill the existing objects with the metrics, so I made decorators where applicable. The metrics are somewhat scattered, as objects have different responsibilities:
resends
,retriedConnects
,records
andbytes
. Would have liked to make this a decorator as well, but resends and retriedConnects are inner logic of the object when a message has been sent so this would need refactoring to do the metrics in a decorator.connects
andconnectLatency
. RelpConnection is the only object that actually deals with the connections so these metrics were placed in its decorator.sendLatency
because RelpConversion is the object that has a hold on the whole processing of the message.