Performance: getEntries() ã¡ã½ãã
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2017å¹´9æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
getEntries() ã¡ã½ããã¯ãç¾å¨ããã©ã¼ãã³ã¹ã¿ã¤ã ã©ã¤ã³ã«ãããã¹ã¦ã® PerformanceEntry ãªãã¸ã§ã¯ãã®é
åãè¿ãã¾ãã
ç¹å®ã®åãç¹å®ã®ååãæã¤ããã©ã¼ãã³ã¹é
ç®ã ãã«é¢å¿ãããå ´åã¯ã getEntriesByType() ã getEntriesByName() ãåç
§ãã¦ãã ããã
ã¡ã¢:
ãã®ã¡ã½ããã¯æ°ããããã©ã¼ãã³ã¹é
ç®ãéç¥ãã¾ããããã®ã¡ã½ãããå¼ã³åºããæç¹ã§ããã©ã¼ãã³ã¹ã¿ã¤ã ã©ã¤ã³ã«åå¨ãã¦ããé
ç®ã®ã¿ãåå¾ãã¾ãã
å©ç¨ã§ããããã«ãªã£ãé
ç®ã®éç¥ãåãåãã«ã¯ã PerformanceObserver ã使ç¨ãã¦ãã ããã
以ä¸ã®é ç®åã¯ãã®ã¡ã½ããã§ã¯ã¾ã£ãã対å¿ãã¦ãããããããã®åã®é ç®ãåå¨ããã¨ãã¦ãè¿ããã¾ããã
"element"(PerformanceElementTiming)"event"(PerformanceEventTiming)"largest-contentful-paint"(LargestContentfulPaint)"layout-shift"(LayoutShift)"longtask"(PerformanceLongTaskTiming)
ãããã®åã®é
ç®ã«ã¢ã¯ã»ã¹ããã«ã¯ã代ããã« PerformanceObserver ã使ç¨ããå¿
è¦ãããã¾ãã
æ§æ
getEntries()
弿°
ãªãã
è¿å¤
PerformanceEntry ãªãã¸ã§ã¯ãã®é
å (Array)ãè¦ç´ ã¯é
ç®ã® startTime ã«åºã¥ãã¦æç³»åã«ä¸¦ã³ã¾ãã
ä¾
>ããã©ã¼ãã³ã¹ãã¼ã«ã¼ã¨æ¸¬å®å¤ããã¹ã¦ãã°åºå
èªåèªèº«ã§ PerformanceMark ããã³ PerformanceMeasure ãªãã¸ã§ã¯ããã³ã¼ãã®é©åãªé
ç½®ã«ä½æããã¨æ³å®ããã¨ã次ã®ããã«ãã¹ã¦ã³ã³ã½ã¼ã«ã«ãã°åºåããããªãããããã¾ããã
// Example markers/measures
performance.mark("login-started");
performance.mark("login-finished");
performance.mark("form-sent");
performance.mark("video-loaded");
performance.measure("login-duration", "login-started", "login-finished");
const entries = performance.getEntries();
entries.forEach((entry) => {
if (entry.entryType === "mark") {
console.log(`${entry.name}'s startTime: ${entry.startTime}`);
}
if (entry.entryType === "measure") {
console.log(`${entry.name}'s duration: ${entry.duration}`);
}
});
仿§æ¸
| 仿§æ¸ |
|---|
| Performance Timeline > # dom-performance-getentries > |