performance.getEntriesByType()

The getEntriesByType() method returns a list of PerformanceEntry objects for a given type. The list's members (entries) can be created by making performance marks or measures (for example by calling the mark() method) at explicit points in time.

Note: This feature is available in Web Workers.

Syntax

entries = window.performance.getEntriesByType(type);

Arguments

type
The type of entry to retrieve such as "mark". The valid entry types are listed in PerformanceEntry.entryType.

Return value

entries
A list of PerformanceEntry objects that have the specified type. The items will be in chronological order based on the entries' startTime. If no objects have the specified type, or no argument is provided, an empty list is returned.

Example

function usePerformanceEntryMethods() {
  log("PerformanceEntry tests ...");

  if (performance.mark === undefined) {
    log("... performance.mark Not supported");
    return;
  }

  // Create some performance entries via the mark() method
  performance.mark("Begin");
  doWork(50000);
  performance.mark("End");
  performance.mark("Begin");
  doWork(100000);
  performance.mark("End");
  doWork(200000);
  performance.mark("End");

  // Use getEntries() to iterate through the each entry
  var p = performance.getEntries();
  for (var i=0; i < p.length; i++) {
    log("Entry[" + i + "]");
    checkPerformanceEntry(p[i]);
  }

  // Use getEntries(name, entryType) to get specific entries
  p = performance.getEntries({name : "Begin", entryType: "mark"});
  for (var i=0; i < p.length; i++) {
    log("Begin[" + i + "]");
    checkPerformanceEntry(p[i]);
  }

  // Use getEntriesByType() to get all "mark" entries
  p = performance.getEntriesByType("mark");
  for (var i=0; i < p.length; i++) {
    log ("Mark only entry[" + i + "]: name = " + p[i].name +
         "; startTime = " + p[i].startTime +
         "; duration  = " + p[i].duration);
  }

  // Use getEntriesByName() to get all "mark" entries named "Begin"
  p = performance.getEntriesByName("Begin", "mark");
  for (var i=0; i < p.length; i++) {
    log ("Mark and Begin entry[" + i + "]: name = " + p[i].name +
         "; startTime = " + p[i].startTime +
         "; duration  = " + p[i].duration);
  }
}

Specifications

Specification Status Comment
Performance Timeline Level 2
The definition of 'getEntriesByType()' in that specification.
Candidate Recommendation
Performance Timeline
The definition of 'getEntriesByType()' in that specification.
Recommendation Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
getEntriesByTypeChrome Full support 28
Full support 28
No support 25 — 36
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support 15
Full support 15
No support 15 — 23
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari Full support 11WebView Android Full support YesChrome Android Full support 28
Full support 28
No support 25 — 36
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support 25Opera Android Full support 15
Full support 15
No support 14 — 24
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari iOS Full support 11Samsung Internet Android Full support 1.5
Full support 1.5
No support 1.5 — 3.0
Prefixed
Prefixed Implemented with the vendor prefix: webkit

Legend

Full support
Full support
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.