PerformanceObserverEntryList.getEntriesByName()

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 getEntriesByName() de l'interface PerformanceObserverEntryList retourne une liste d'objets d'entrée de performance explicitement observés pour un name et entryType donnés. 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).

Note : Cette interface est exposée à Window et Worker.

Syntaxe

js
let entries = list.getEntriesByName(name, type);

Paramètres

name

Une chaîne de caractères DOMString représentant le nom de l'entrée à récupérer.

type Facultatif

Une chaîne de caractères DOMString représentant le type d'entrée à récupérer tel que « mark ». Les types d'entrée valides sont énumérés dans PerformanceEntry.entryType.

Valeur de retour

Une liste d'objets d'entrée de performance explicitement observés qui ont le name et le type spécifiés. Si l'argument type n'est pas spécifié, seul name sera utilisé pour déterminer les entrées à retourner. Les éléments seront triés dans l'ordre chronologique selon les startTime des entrées. Si aucun objet ne répond aux critères spécifiés, une liste vide est retournée.

Exemple

js
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-getentriesbyname

Compatibilité des navigateurs

BCD tables only load in the browser