When "start" parameters are present for metrics, align the left edge of metric bars based on the *relative* values of start parameters, similar to how Timing bars are rendered above the Server Timing section.
Motivation / concrete example:
We return a Server-Timing header from server-side rendering where some operations are performed in a waterfall fashion. While seeing how much time is spent in each operation in a vertical stack is already very useful, it would be *tremendously* useful to see the waterfall relationship.
Spec:
> Because there can be no guarantee of clock synchronization between client, server, and intermediaries, it is impossible to map a meaningful startTime onto the clients timeline.
Fair. But it would be very useful to support this as an optional feature for environments that have clock sync guarantees i.e. all Server-Timing emitters are in clock-sync, or e.g. Server-Timing comes from a single server.
Proposal:
1. Use "start" (keep it short).
2. Server-Timing emitters make the value be 0 (ms) for the earliest metric and make the start values of other metrics relative to the earliest metric.
3. During rendering, align the left edge of metric bars to the relative start values.
4. Add an option in DevTools to opt into this feature, for developers to turn it on only when they know they can rely on start parameters.
The ask:
Would this fly? Testing the waters before I spend the effort for a local prototype / PR. (Worst case, I can write a Chrome extension to add a new tab to DevTools to do this.)
Cheers,
Ates