PerformanceObserverEntryList.getEntriesByType()
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 getEntriesByType()
de la PerformanceObserverEntryList
retourne une liste d'objets d'entrée de performance explicitement observés pour un type d'entrée de performance. Les membres de la liste sont déterminés par l'ensemble des types d'entrées 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.getEntriesByType(type);
Paramètres
type
-
Le type d'entrée à récupérer, tel que «
frame
». Les types d'entrée valides sont énumérés dansPerformanceEntry.entryType
.
Valeur de retour
Une liste d'objets PerformanceEntry
explicitement observés qui ont le type
spécifié. Les éléments seront dans l'ordre chronologique basé sur les startTime
des entrées. Si aucun objet n'a le type
spécifié, ou si aucun argument n'est fourni, une liste vide est retournée.
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-getentriesbytype |