PerformanceResourceTiming.workerStart

The workerStart read-only property of the PerformanceResourceTiming interface returns a DOMHighResTimeStamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running. If the resource is not intercepted by a Service Worker the property will always return 0.

Note: This feature is available in Web Workers

Value

Examples

In the following example, the value of the *Start and *End properties of all "resource" type events are logged.

function printPerformanceEntries() {
  // Use getEntriesByType() to just get the "resource" events
  performance.getEntriesByType("resource")
    .forEach((entry) => {
      printStartAndEndProperties(entry);
    });
}

function printStartAndEndProperties(perfEntry) {
  // Print timestamps of the *start and *end properties
  properties = ["connectStart", "connectEnd",
                "domainLookupStart", "domainLookupEnd",
                "fetchStart",
                "redirectStart", "redirectEnd",
                "requestStart",
                "responseStart", "responseEnd",
                "secureConnectionStart",
                "workerStart"];

  for (const property of properties) {
    // Log the property
    console.log(`${property} = ${perfEntry[property] ?? "NOT supported"}`);
  }
}

Specifications

Specification
Resource Timing
# dom-performanceresourcetiming-workerstart

Browser compatibility

BCD tables only load in the browser