-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decouple the sending of probes from the latency reporting in the NodeLatencyMonitor #6570
Comments
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days |
@antoninbas Kindly Check i have raised an PR regarding This issue i have tried to decouple the both PingTicker and ReportTicker your guidance regarding this wiil be highly appericiated |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days. You can add a label "lifecycle/frozen" to skip stale checking. |
At the moment, the NodeLatencyMonitor in the Agent reports latency measurements immediately after sending ICMP probes:
antrea/pkg/agent/monitortool/monitor.go
Lines 444 to 451 in 1907856
I believe this is not ideal, because when outputting the
NodeLatencyStats
, the values for thelastRecvTime
andlastSendTime
fields can be a bit confusing / misleading:
We are "always" going to have
lastRecvTime < lastSendTime
, because we always updateNodeLatencyStats
right after sending a new probe (before the response has had a chance to be received). Ideally most of the time, especially with very low inter-Node latency like we have here (a few ms), most of the time we would observe timestamps which are very close to each other / identical. This can be achieved by providing enough time to the NodeLatencyMonitor to receive / process the response, before callingm.report()
.Another advantage of decoupling the sending of probes from the latency reporting would be the ability to enforce a minimum time interval between two consecutive reports. At the moment it is possible for someone to set
pingIntervalSeconds
to1s
(minimum supported value in theNodeLatencyMonitor
CRD). In turn, this would causem.report()
to be invoked every second. That may be a bit too frequent for a monitoring tool, especially for a large cluster. So we could consider enforcing a minimum interval of 10s (even though that would mean that values ofpingIntervalSeconds
under 10s are not very useful).The text was updated successfully, but these errors were encountered: