PerformanceEntry

L'objet PerformanceEntry encapsule une seule mesure de performance qui fait partie de la chronologie de performance. Une entrée de performance peut être créée directement en faisant une marque ou une mesure (par exemple en appelant la méthode mark()) à un point explicite d'une application. Les entrées de performance sont également créées de manière indirecte, par exemple en chargeant une ressource (telle qu'une image).

Les instances PerformanceEntry auront toujours l'un des sous-types suivants :

Note: Cette fonctionnalité est disponible via les Web Workers

Propriétés

PerformanceEntry.name Lecture seule
Une valeur qui précise davantage la valeur renvoyée par la propriété PerformanceEntry.entryType. La valeur des deux dépend du sous-type. Voir la page de la propriété pour les valeurs valides.
PerformanceEntry.entryType Lecture seule
Une chaîne de caractère DOMString représentant le type de mesure de performance comme, par exemple, "mark". Voir la page des propriétés pour les valeurs valides.
PerformanceEntry.startTime Lecture seule
Un objet DOMHighResTimeStamp représentant l'heure de départ de la mesure de performance.
PerformanceEntry.duration Lecture seule
Un objet DOMHighResTimeStamp représentant la valeur temporelle de la durée de l'événement de performance.

Méthodes

PerformanceEntry.toJSON()
Renvoie une représentation JSON de l'objet PerformanceEntry.

Exemple

L'exemple suivant vérifie toutes les propriétés PerformanceEntry pour voir si le navigateur les prend en charge et, le cas échéant, écrit leurs valeurs dans la console.

function print_PerformanceEntries() {
  // Utilise getEntries() pour obtenir une liste de toutes les entrées de performance.
  let p = performance.getEntries();
  for (let i = 0; i < p.length; i++) {
    console.log("PerformanceEntry[" + i + "]");
    print_PerformanceEntry(p[i]);
  }
}
function print_PerformanceEntry(perfEntry) {
  let properties = ["name",
                    "entryType",
                    "startTime",
                    "duration"];

  for (let i = 0; i < properties.length; i++) {
    // Vérifie chaque propriété
    let supported = properties[i] in perfEntry;
    if (supported) {
      let value = perfEntry[properties[i]];
      console.log("... " + properties[i] + " = " + value);
    } else {
      console.log("... " + properties[i] + " n'est PAS pris en charge");
    }
  }
}

Spécifications

Spécification Statut Commentaire
Resource Timing Level 3 Brouillon de l'éditeur
Resource Timing Level 2 Version de travail
Resource Timing Level 1 Candidat au statut de recommandation Ajoute l'interface PerformanceResourceTiming et la valeur resource pour entryType.
Navigation Timing Level 2 Version de travail
Navigation Timing Recommendation Ajoute l'interface PerformanceNavigationTiming et la valeur navigation pour entryType.
User Timing Level 2 Version de travail
User Timing Recommendation Ajoute les interfaces PerformanceMark et PerformanceMeasure ainsi que les valeurs mark et measure pour entryType.
Frame Timing Projet Ajoute l'interface PerformanceFrameTiming et la valeur frame pour entryType.
Performance Timeline Level 2
La définition de 'PerformanceEntry' dans cette spécification.
Candidat au statut de recommandation Ajout de la méthode de sérialisation toJSON().
Performance Timeline
La définition de 'PerformanceEntry' dans cette spécification.
Recommendation Définition initiale.

Compatibilité des navigateurs

BCD tables only load in the browser