What is connectStart?
- The metric connectStart is the moment in time immediately before the user agent starts establishing a connection to a server to retrieve a resource.
Why measure connectStart?
When you are measuring a network connection, it is helpful to seperate the connection itself from the request / response.
Establishing a connection vs using a connection
The connection event and a request / response event are different and connect start helps us measure the establishment of a connection rather than the use of a connection.
Using connectStart and connectEnd we can measure the the TCP connection time (the establishing of a connection).
fetchStart vs connectStart
Another distinction to be made is the difference between fetchStart and connectStart.
Not all resources may need to connect to be retrieved.
If the resource is already cached for example, there is no connection required, therefore the connectStart metric is not meaningful.
Another scenario is where a connection has already been set using keepalive / persistent connection. If a resource is being retrieved over a connection that is already connected, then again the connectStart metric is not meaningful.
In short, fetchStart is the beginning of the larger process of fetching, whereas connectStart 1 is the beginning of the TCP connection time, which represents only a part of the fetching process.