Navigation and Resource Timing provides timing data for the fetch, but currently there is no interoperable way for the server to communicate own timing information to the client. For example:
- What steps were taken to generate the resource, and how long each took. Many sites already embed this type of information via HTML comments - e.g. wordpress emits
<!--Page generated in X.X seconds.-->
, and many sites provide more detailed stats (cache, db, generation) to enable performance debugging. - If proxied, where was the time spent - e.g. time to fetch from origin, time to process response, etc.
Instead of relying on arbitrary HTML comments, we can define an HTTP header that can be used to send key-value pairs in a well defined format. Making this data available via a well defined interface would...
- Allow UA and other developer tools to automatically annotate appropriate timelines.
- Allow analytics vendors to gather this data for operational analysis.
- Allows proxies and CDNs to append custom timing d