Aller au contenu

Performance

Mesure du temps à haute résolution, marques, mesures et observateurs.

Sur cette page

La globale performance et node:perf_hooks partagent une même chronologie.

Mesure du temps et entrées

performance.now();        // milliseconds since timeOrigin
performance.mark("start");
performance.measure("work", "start");

performance.getEntriesByName("work")[0].entryType; // "measure"

getEntries(), getEntriesByName() et getEntriesByType() renvoient de nouveaux tableaux triés par heure de début. clearMarks() et clearMeasures() suppriment les entrées correspondantes.

PerformanceMark peut être construit. Performance, PerformanceEntry et PerformanceMeasure ne peuvent pas être construits directement.

PerformanceObserver

const observer = new PerformanceObserver((list) => {
  for (const entry of list.getEntries()) {
    console.log(entry.name, entry.entryType);
  }
});

observer.observe({ entryTypes: ["mark", "measure"] });
performance.mark("ready");

La livraison aux observateurs a lieu à un point de contrôle des microtâches. disconnect() arrête l’observation et efface les entrées en tampon ; takeRecords() vide le tampon courant.

PerformanceObserver.supportedEntryTypes contient mark, measure, node et function.

Les valeurs detail des marques et mesures utilisent le même comportement de clonage structuré que la messagerie Web. Les types tels que Date, RegExp, Map, Set et ArrayBuffer conservent leur type et leur contenu ; les fonctions lèvent une DataCloneError.

Reference

Status: Full · Not measured · since 1.1.0

Exports

ExportKindStatusNotes
PerformanceEntryclassFullname, entryType, startTime, duration, detail, toJSON()
PerformanceMarkclassFulldetail
PerformanceMeasureclassFulldetail
PerformanceObserverEntryListclassFullgetEntries(), getEntriesByName(), getEntriesByType()
PerformanceObserverclassFullobserve(), disconnect(), takeRecords(), PerformanceObserver.supportedEntryTypes
PerformanceclassFullnow(), timeOrigin, mark(), measure(), getEntries(), getEntriesByName(), getEntriesByType(), clearMarks(), clearMeasures(), toJSON()

Cette page vous a-t-elle aidé ?