-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
See from this comment for further details #4389 (comment).
/cc @SteKoe
Question
In case of not graceful shutdowns, SBA may report the previous status since it doesn't realize that a restart happened.
For example, an instance is reported up since X while it's actually up since Y with Y < X.
Enhancement
As part of the status info, keep track of the process uptime and use it between one refresh and the next one to detect if the current available information are stale.
Given that the process uptime increases monotonically, given 2 times T1 and T2, it will always be that T1 < T2 (with T2 = T1 + refresh interval).
The only case where this inequality is false is on restarts, since the process uptime resets and it can therefore be used exactly to detect these cases.
Changes in the PID may also be an option, but that's less stable (i.e.: the PID may be missing if info and env endpoints are disabled) and less precise (i.e.: there is no way to tell since when the app was then really up).
If the process uptime is not available (i.e.: the process info contributor is disabled), the old logic should apply.