+
Hit rate trend
++ {formatPercent(cacheTrendSummary.latest?.hitRatePercent)} +
++ {Number.isFinite(cacheTrendSummary.hitRateDelta) + ? `${cacheTrendSummary.hitRateDelta >= 0 ? '+' : ''}${cacheTrendSummary.hitRateDelta.toFixed(2)} pts from previous sample` + : 'Need two samples to compute delta'} +
+Read throughput
++ {formatCompactNumber(cacheTrendSummary.latest?.readsTotal)} +
++ {Number.isFinite(cacheTrendSummary.readsDelta) + ? `${cacheTrendSummary.readsDelta >= 0 ? '+' : ''}${cacheTrendSummary.readsDelta} reads since previous sample` + : 'Need two samples to compute delta'} +
+Read errors
++ {formatCompactNumber(cacheTrendSummary.latest?.readError)} +
++ {Number.isFinite(cacheTrendSummary.errorDelta) + ? `${cacheTrendSummary.errorDelta >= 0 ? '+' : ''}${cacheTrendSummary.errorDelta} since previous sample` + : 'Need two samples to compute delta'} +
+Session sparkline
+ {cacheTrendBars.length > 0 ? ( +Collecting cache trend samples...
+ )} ++ Click any node in the graph to select it, then run impact analysis. +
+ ) : ( + <> +