Hello,
Does anyone know the reasoning behind the way the management console calculates the spread retransmission rate?
The query used by MC is the following:
SELECT DATE_TRUNC('minute',TIME) AS x,
CASE
WHEN (max(message_delivered) - min(message_delivered)) = 0 THEN 0
ELSE ROUND((max(retrans) - min(retrans)) / (max(message_delivered) - min(message_delivered)) * 100, 2.0)
END AS y
FROM v_internal.dc_spread_monitor
WHERE node_name= '<node_name>'
AND TIME >= to_timestamp_tz(EXTRACT(epoch
FROM sysdate() - INTERVAL '1 day'))
AND TIME <= to_timestamp_tz(EXTRACT(epoch
FROM sysdate() - INTERVAL '0 ms'))
GROUP BY 1
ORDER BY 1;
In some cases we'll have very high rates while the retransmissed messages aren't really high, here's an example:SELECT time,message_delivered,retrans FROM v_internal.dc_spread_monitor WHERE node_name= 'v_vmart_node0005' ORDER BY time
Output for minute 18:28:00:
time message_delivered retrans
------------------- ----------------- -------
2017-12-18 19:28:03 14735 20
2017-12-18 19:28:13 14735 20
2017-12-18 19:28:23 14735 20
2017-12-18 19:28:33 14735 20
2017-12-18 19:28:43 14741 39
2017-12-18 19:28:53 14741 39
Using the query of MC the rate would be (39-20)/(14741-14735)*100=316.67% which doesn't make sense to me, am I missing something?
Many thanks,
Chaima