Whamcloud - gitweb
LU-16643 lnet: Health logging improvements
authorChris Horn <chris.horn@hpe.com>
Wed, 23 Nov 2022 17:28:45 +0000 (10:28 -0700)
committerAndreas Dilger <adilger@whamcloud.com>
Mon, 13 May 2024 22:33:38 +0000 (22:33 +0000)
commit38c1fc88fcd1f4206d6e6a739e58692c5254b1c1
tree38e5b27257c0d9840ede09e52c98dce4c553cfb1
parentac1ea2ef126efb5d7900bb32d475556db3c08747
LU-16643 lnet: Health logging improvements

LNet health activity can generate noise in console logs. The NI/Peer
NI recovery pings could be expected to fail and the related messages
from lnet_handle_recovery_reply() are generally redundant.

Improve this logging by having the lnet_monitor_thread() provide a
summary of NIs in recovery.

Another useful metric in spotting network trouble is if we have
messages exceeding their deadline. We do not currently log this
information. Keep a count of messages that have exceeded their
deadline and track the total excess time. The lnet_monitor_thread()
will then provide a summary of the number of messages and their
average excess time at a regular interval. These stats are then
reset when the monitor thread prints this information to the console.

Because NIs can be in recovery for extended periods of time, the
interval of console updates will increase from 1 to 5 minutes.
The interval is reset when it is detected that there are no longer any
NIs in recovery and there haven't been any messages past their
deadline since the last console update.

Lustre-change: https://review.whamcloud.com/50305
Lustre-commit: 0cb3d86c4004d75810c54bb897ad7fbb6d5ec05f

Test-Parameters: trivial
HPE-bug-id: LUS-11500
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I4ffffd0412806184282178ce0aca3073dd30d7e0
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/55073
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lnet/include/lnet/lib-types.h
lnet/lnet/api-ni.c
lnet/lnet/lib-move.c
lnet/lnet/lib-msg.c