Web/API/Performance/getEntriesByType

From Get docs


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 2The definition of 'getEntriesByType()' in that specification. Candidate Recommendation  
Performance TimelineThe definition of 'getEntriesByType()' in that specification. Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
getEntriesByType

Chrome Full support 28


Full support 28


No support 25 — 36

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support Yes

IE

Full support Yes

Opera Full support 15


Full support 15


No support 15 — 23

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Safari

Full support 11

WebView Android

Full support Yes

Chrome Android Full support 28


Full support 28


No support 25 — 36

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 25

Opera Android Full support 15


Full support 15


No support 14 — 24

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Safari iOS

Full support 11

Samsung 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.