PerformanceObserverEntryList.getEntries()

This article needs a technical review. How you can help.

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

The getEntries() method returns a list of explicitly observed performance entry objects for a given filter. The list's members are determined by the set of entry types specified in the call to the observe() method. The list is available in the observer's callback function (as the first parameter in the callback).

This method is exposed to Window and Worker interfaces.

Syntax

General syntax:

entries = list.getEntries();
entries = list.getEntries(PerformanceEntryFilterOptions);

Specific usage:

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

Arguments

PerformanceEntryFilterOptionsOptional
Is a PerformanceEntryFilterOptions dictionary, having the following fields:

Return value

entries
A list of explicitly observed 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 print_perf_entry(pe) {
  console.log("name: "        + pe.name      +
              "; entryType: " + pe.entryType +
              "; startTime: " + pe.startTime +
              "; duration: "  + pe.duration);
}

// Create observer for all performance event types
var observe_all = new PerformanceObserver(function(list, obs) {
  var perfEntries;

  // Print all entries
  perfEntries = list.getEntries();
  for (var i=0; i < perfEntries.length; i++) {
    print_perf_entry(perfEntries[i]);
  }

  // Print entries named "Begin" with type "mark"
  perfEntries = list.getEntriesByName("Begin", "mark");
  for (var i=0; i < perfEntries.length; i++) {
    print_perf_entry(perfEntries[i]);
  }

  // Print entries with type "mark"
  perfEntries = list.getEntriesByType("mark");
  for (var i=0; i < perfEntries.length; i++) {
    print_perf_entry(perfEntries[i]);
  }
});
// subscribe to all performance event types
observe_all.observe({entryTypes: ['frame', 'mark', 'measure', 'navigation', 'resource', 'server']});

var observe_frame = new PerformanceObserver(function(list, obs) {
  var perfEntries = list.getEntries();
  // Should only have 'frame' entries
  for (var i=0; i < perfEntries.length; i++) {
    print_perf_entry(perfEntries[i]);
  }
});
// subscribe to frame event only
observe_frame.observe({entryTypes: ['frame']});

Specifications

Specification Status Comment
Performance Timeline Time Level 2
The definition of 'getEntries()' in that specification.
Editor's Draft Initial definition of getEntries() method.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
getEntries() No support No support No support No support No support
Feature Android Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
getEntries() No support No support No support No support No support No support

Document Tags and Contributors

 Contributors to this page: rolfedh, AFBarstow
 Last updated by: rolfedh,