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 of the PerformanceObserverEntryList
interface 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.
General syntax:
entries = list.getEntries(); entries = list.getEntries(PerformanceEntryFilterOptions);
Specific usage:
entries = list.getEntries({name: "entry_name", entryType: "mark"});
PerformanceEntryFilterOptions
Optional
PerformanceEntryFilterOptions
dictionary, having the following fields: "name"
, the name of a performance entry."entryType"
, the entry type. The valid entry types are listed in the PerformanceEntry.entryType
method."initiatorType"
, the type of the initiating resource (for example an HTML element). The values are defined by the PerformanceResourceTiming.initiatorType
interface.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.
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']});
Specification | Status | Comment |
---|---|---|
Performance Timeline Time Level 2 The definition of 'getEntries()' in that specification. | Editor's Draft | Initial definition. |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
getEntries() | 52.0 | 49 (49)[1] | No support | 39 | No support |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
getEntries() | No support | No support | 49.0 (49)[1] | No support | No support | 39 | No support | 52.0 |
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceObserverEntryList/getEntries