mds: dump recent log events for extraordinary events
When major events happen like client eviction, we often want to get an idea what went wrong but production clusters usually run with low debugging (1/5) so it's difficult to diagnose what happened.
Make a config-enabled feature to dump recent events (see also MDSDaemon::respawn) during these events. Some interesting ones to start with:
- evicts a client.
- is in a recovery state for >60seconds.
- misses beacon ACKs from monitors
- misses internal heartbeats
The config option should be a float indicating the minimum time between these major events where the MDS will dump the in-memory logs. The default should probably be 60 seconds to limit log file bloat in a production environment. A <=0.0 value disables the feature.