Bug / Feature: Improve status reporting
See from this comment for further details https://github.com/codecentric/spring-boot-admin/issues/4389#issuecomment-3312922644. /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.
The opposite actually happens in case of timeouts (see https://github.com/codecentric/spring-boot-admin/issues/4516) where then the application is reported as up since a period X but then it's up since a period Y with Y > X.
In this case, though, this can potentially be considered a bug.