Server-Timing puts your backend phases in DevTools
TTFB tells you the server was slow, not which part of it was. Server-Timing is a response header the browser already reads.
res.headers.set("Server-Timing", `db;dur=${dbMs}, cache;dur=${cacheMs};desc="miss"`);Chrome DevTools lists each entry in the Timing tab of the request, so the slow stage sits next to the network phases. The page can read the same values as performance.getEntriesByType("navigation")[0].serverTiming and send them with a RUM beacon. On a cross-origin response the browser hides them unless you also send Timing-Allow-Origin.
httpperformanceobservability