PerformanceObserverEntryList.getEntries()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
La méthode getEntries()
de l'interface PerformanceObserverEntryList
retourne une liste d'objets explicitement observés d'entrées de performance pour un filtre donné. Les membres de la liste sont déterminés par l'ensemble des types d'entrée spécifiés dans l'appel à la méthode observe()
. La liste est disponible dans la fonction de rappel de l'observateur (en tant que premier paramètre de la fonction de rappel).
Syntaxe
let entries = list.getEntries();
entries = list.getEntries(PerformanceEntryFilterOptions);
Utilisation spécifique :
entries = list.getEntries({ name: "entry_name", entryType: "mark" });
Paramètres
PerformanceEntryFilterOptions
Facultatif-
Est un dictionnaire
PerformanceEntryFilterOptions
, comportant les champs suivants :"name"
, le nom d'une entrée de performance."entryType"
, le type d'entrée. Les types d'entrée valides sont énumérés dans la propriétéPerformanceEntry.entryType
."initiatorType"
, le type de la ressource initiatrice (par exemple un élément HTML). Les valeurs sont définies par la propriétéPerformanceResourceTiming.initiatorType
.
Ce paramètre n'est actuellement pas pris en charge par Chrome ou Opera.
Valeur de retour
Une liste d'objets PerformanceEntry
explicitement observés qui répondent aux critères du filtre. Les éléments seront dans l'ordre chronologique basé sur les startTime
des entrées. Si aucun objet répondant au filtre n'est trouvé, une liste vide est renvoyée. Si aucun argument n'est fourni, toutes les entrées sont renvoyées.
Exemple
function print_perf_entry(pe) {
console.log(
"name: " +
pe.name +
"; entryType: " +
pe.entryType +
"; startTime: " +
pe.startTime +
"; duration: " +
pe.duration,
);
}
// Crée un observateur pour tous les types d'événements de performance
const observe_all = new PerformanceObserver(function (list, obs) {
let perfEntries;
// Imprime toutes les entrées
perfEntries = list.getEntries();
for (let i = 0; i < perfEntries.length; i++) {
print_perf_entry(perfEntries[i]);
}
// Imprime les entrées nommées "Begin" avec le type "mark".
perfEntries = list.getEntriesByName("Begin", "mark");
for (let i = 0; i < perfEntries.length; i++) {
print_perf_entry(perfEntries[i]);
}
// Imprime les entrées de type "mark".
perfEntries = list.getEntriesByType("mark");
for (let i = 0; i < perfEntries.length; i++) {
print_perf_entry(perfEntries[i]);
}
});
// inscrire tous les types d'événements de performance
observe_all.observe({
entryTypes: ["frame", "mark", "measure", "navigation", "resource", "server"],
});
const observe_frame = new PerformanceObserver(function (list, obs) {
let perfEntries = list.getEntries();
// Ne devrait avoir que des entrées "frame"
for (let i = 0; i < perfEntries.length; i++) {
print_perf_entry(perfEntries[i]);
}
});
// inscrire à l'événement "frame" uniquement
observe_frame.observe({ entryTypes: ["frame"] });
Spécifications
Specification |
---|
Performance Timeline # dom-performanceobserverentrylist-getentries |
Compatibilité des navigateurs
BCD tables only load in the browser