Performance.getEntries()

The getEntries() method returns a list of PerformanceEntry objects for a given filter. 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

General syntax:

entries = window.performance.getEntries();
entries = window.performance.getEntries(PerformanceEntryFilterOptions);

Specific usage:

entries = performance.getEntries({name: "entry_name", entryType: "mark"});

Arguments

PerformanceEntryFilterOptions Optional
PerformanceEntryFilterOptions is a dictionary with the following fields:

Return value

entries
A list of PerformanceEntry objects that meets the criteria of the filter. The items will be in chronological order based on the entries' startTime. If no objects that meet the filter are found, an empty list is returned. If no argument is given, all entries are returned.

Example

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

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

  // Create some performance entries via the mark() method
  performance.mark("Begin");
  do_work(50000);
  performance.mark("End");
  performance.mark("Begin");
  do_work(100000);
  performance.mark("End");
  do_work(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 + "]");
    check_PerformanceEntry(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 + "]");
    check_PerformanceEntry(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 'getEntries()' in that specification.
Candidate Recommendation getEntries() method has an optional argument.
Performance Timeline
The definition of 'getEntries()' in that specification.
Recommendation Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes Yes Yes No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes25 No No ?

Document Tags and Contributors

Contributors to this page: fscholz, chrisdavidmills, abbycar, jpmedley, rolfedh, AFBarstow
Last updated by: fscholz,