fix: use tryLock for metrics to prevent contention stalls
during startup with ~2,700 threads, mutex contention blocks the
single-threaded metrics server indefinitely. switch all metric-
gathering methods (validator queues, LRU caches, event buffer,
ring buffer) to tryLock — returns 0 instead of blocking when
the lock is contended. prometheus tolerates missing data points.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>