PerformanceObserverEntryList.getEntries()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis janvier 2020.
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
PerformanceEntryFilterOptionsFacultatif-
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
Chargement…