ãªã½ã¼ã¹ã¿ã¤ãã³ã°ã¯ããã©ã¼ãã³ã¹ API ã®ä¸é¨ã§ãããã¢ããªã±ã¼ã·ã§ã³ã®ãªã½ã¼ã¹ãèªã¿è¾¼ãéã®ãããã¯ã¼ã¯ã¿ã¤ãã³ã°ã®è©³ç´°ãã¼ã¿ã®åå¾ã¨åæãå¯è½ã«ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã¯ã¿ã¤ãã³ã°ææ¨ã使ç¨ãããã¨ã§ãä¾ãã°ãfetch()
API ã使ç¨ãããªã©ãã¦ãJavaScript ããæç¤ºçã«ãã¾ãã¯ãã¼ã¸èªã¿è¾¼ã¿ã®ä¸é¨ã¨ãã¦æé»çã«ãç¹å®ã®ãªã½ã¼ã¹ï¼ç»åãã¹ã¯ãªãããªã©ï¼ãèªã¿è¾¼ãã®ã«ãããæéãç¹å®ãããã¨ãã§ãã¾ãã
ææ¸ä¸ã®ãã¹ã¦ã®ãªã½ã¼ã¹ã¯ãPerformanceResourceTiming
ï¼PerformanceEntry
ã¤ã³ã¿ã¼ãã§ã¤ã¹ãæ¡å¼µãããã®ï¼ã®é
ç®ã®ãã¡ãentryType
ã "resource"
ã§ãããã®ã§è¡¨ããã¾ãã
ããããã® PerformanceResourceTiming
é
ç®ã«ã¯ããªã½ã¼ã¹èªã¿è¾¼ã¿ã®ã¿ã¤ã ã©ã¤ã³ãè¨é²ããããªãã¤ã¬ã¯ãã®éå§ã¨çµäºæéãDNS ã«ãã¯ã¢ããã®éå§ã¨çµäºæéããªã¯ã¨ã¹ãã®éå§ãå¿çã®éå§ã¨çµäºæéãªã©ããããã¯ã¼ã¯ã¤ãã³ãã®é«è§£å度ã¿ã¤ã ã¹ã¿ã³ããè¨è¼ããã¾ããã¿ã¤ã ã¹ã¿ã³ãã®ä»ã«ãããªã½ã¼ã¹ã«é¢ããæ
å ±ãæå®ãããããããã£ãè¨è¼ããã¾ããä¾ãã°ãåå¾ãããªã½ã¼ã¹ã®ãµã¤ãºãããã§ãããéå§ãããªã½ã¼ã¹ã®ç¨®é¡ãªã©ã§ãã
å³ 1 ãªã½ã¼ã¹èªã¿è¾¼ã¿ã¿ã¤ã ã¹ã¿ã³ãï¼å¼ç¨å ï¼
ã¢ããªã±ã¼ã·ã§ã³ã¯ããªã½ã¼ã¹ãèªã¿è¾¼ãéã«ä½¿ç¨ãããã¾ãã¾ãªæ®µéã®ã¿ã¤ã ã¹ã¿ã³ããåå¾ãããã¨ãã§ãã¾ãããã® API ãæä¾ããã¿ã¤ã ã¹ã¿ã³ãã¯ä»¥ä¸ã®éãã§ãã
startTime
: ãªã½ã¼ã¹èªã¿è¾¼ã¿å¦çãéå§ããç´åã®ã¿ã¤ã ã¹ã¿ã³ããredirectStart
: ãªãã¤ã¬ã¯ããéå§ãããã§ããã®ã¿ã¤ã ã¹ã¿ã³ããredirectEnd
: æå¾ã®ãªãã¤ã¬ã¯ãã«å¯¾ããã¬ã¹ãã³ã¹ã®æå¾ã®ãã¤ããåä¿¡ããç´å¾ã®ã¿ã¤ã ã¹ã¿ã³ããworkerStart
: ãµã¼ãã¹ã¯ã¼ã«ã¼ã®ã¹ã¬ãããèµ·åããç´åã®ã¿ã¤ã ã¹ã¿ã³ããfetchStart
: ãã©ã¦ã¶ã¼ããªã½ã¼ã¹ã®åå¾ãå§ããç´åã®ã¿ã¤ã ã¹ã¿ã³ããdomainLookupStart
: ãã©ã¦ã¶ã¼ããªã½ã¼ã¹ã®ãã¡ã¤ã³åæ¤ç´¢ãå§ããç´åã®ã¿ã¤ã ã¹ã¿ã³ããdomainLookupEnd
: ãã©ã¦ã¶ã¼ããªã½ã¼ã¹ã®ãã¡ã¤ã³åæ¤ç´¢ãå®äºããç´å¾ã®ã¿ã¤ã ã¹ã¿ã³ããconnectStart
: ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãããªã½ã¼ã¹ãåå¾ããããã«ãµã¼ãã¼ã¸ã®æ¥ç¶ã確ç«ãå§ããç´åã®ã¿ã¤ã ã¹ã¿ã³ããsecureConnectionStart
: ãªã½ã¼ã¹ãå®å
¨ãªæ¥ç¶ã§èªã¿è¾¼ã¾ããå ´åããã©ã¦ã¶ã¼ãç¾å¨ã®æ¥ç¶ãå®å
¨ã«ããããã«ãã³ãã·ã§ã¤ã¯ããã»ã¹ãéå§ããç´åã®ã¿ã¤ã ã¹ã¿ã³ããconnectEnd
: ãã©ã¦ã¶ã¼ããµã¼ãã¼ã¸ã®æ¥ç¶ãå®äºãã¦ãªã½ã¼ã¹ãåå¾ããç´å¾ã®ã¿ã¤ã ã¹ã¿ã³ããrequestStart
: ãã©ã¦ã¶ã¼ããµã¼ãã¼ããã£ãã·ã¥ããã¼ã«ã«ãªã½ã¼ã¹ãããªã½ã¼ã¹ããªã¯ã¨ã¹ããå§ããç´åã®æç¹ã®ã¿ã¤ã ã¹ã¿ã³ããresponseStart
: ãã©ã¦ã¶ã¼ããµã¼ãã¼ããã£ãã·ã¥ããã¼ã«ã«ãªã½ã¼ã¹ããã¬ã¹ãã³ã¹ã®æåã®ãã¤ããåä¿¡ããç´å¾ã®ã¿ã¤ã ã¹ã¿ã³ããresponseEnd
: ãã©ã¦ã¶ã¼ããªã½ã¼ã¹ã®æå¾ã®ãã¤ããåä¿¡ããç´å¾ãã¾ãã¯ãã©ã³ã¹ãã¼ãæ¥ç¶ãéããããç´åã«ã¿ã¤ã ã¹ã¿ã³ããè¨é²ããã¾ããã©ã¡ããæåã®ã¤ãã³ãã«ãªããã¯æ±ºã¾ã£ã¦ãã¾ãããPerformanceResourceTiming
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«ã¯ããªã½ã¼ã¹ã®ãµã¤ãºãã¼ã¿ãåå¾ããããã«ä½¿ç¨ã§ãã 3 ã¤ã®ããããã£ãããã¾ããtransferSize
ããããã£ã¯ãåå¾ãããªã½ã¼ã¹ã®ãµã¤ãºããã¤ãåä½ã§è¿ãã¾ãããã®ãµã¤ãºã«ã¯ãã¬ã¹ãã³ã¹ãããã¼ãã£ã¼ã«ãã«å ããã¬ã¹ãã³ã¹å
容æ¬ä½ãå«ã¿ã¾ãã
encodedBodySize
ããããã£ã¯ãé©ç¨ãããã³ã³ãã³ãã¨ã³ã³ã¼ãã£ã³ã°ãé¤å»ãããåã®ãHTTP ã¾ãã¯ãã£ãã·ã¥ããåå¾ããå
容æ¬ä½ã®ãµã¤ãºããªã¯ãããåä½ã§ãè¿ãã¾ããdecodedBodySize
ã¯ãé©ç¨ãããã³ã³ãã³ãã¨ã³ã³ã¼ãã£ã³ã°ãé¤å»ãããå¾ã®ãHTTP ã¾ãã¯ãã£ãã·ã¥ããåå¾ããã¡ãã»ã¼ã¸æ¬ä½ã®ãµã¤ãºããªã¯ãããåä½ã§è¿ãã¾ãã
PerformanceResourceTiming
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ã追å ã®ãªã½ã¼ã¹æ
å ±ãæä¾ãã¾ããããããã£ã®å
¨ãªã¹ãã«ã¤ãã¦ã¯ããªãã¡ã¬ã³ã¹ããã¥ã¡ã³ããåç
§ãã¦ãã ããã
PerformanceResourceTiming
é
ç®ãæä¾ããæ
å ±ã¯ã以ä¸ã®ãããªè¨ç®ã«ãã使ç¨ããã¾ãã
connectEnd
- connectStart
)domainLookupEnd
- domainLookupStart
)redirectEnd
- redirectStart
)responseStart
- requestStart
)requestStart
- secureConnectionStart
)responseEnd
- fetchStart
)fetchStart
- workerStart
)decodedBodySize
ã encodedBodySize
ã§ã¯ãªã)transferSize
ã 0
ã§ãã)nextHopProtocol
ã HTTP/2 ã¾ã㯠HTTP/3)renderBlockingStatus
)PerformanceResourceTiming
ã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ã«ã¯ãããããã¹ã¦ã®ææ¨ã測å®ããããã®ãµã³ãã«ã³ã¼ããæ ¼ç´ããã¦ãã¾ãã é常ããããã®ææ¨ã測å®ããããã®ã³ã¼ãã¯ãä¾ãã°ä»¥ä¸ã®ãããªãã®ã§ãã
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
const request = entry.responseStart - entry.requestStart;
if (request > 0) {
console.log(`${entry.name}: Request time: ${request}ms`);
}
});
});
observer.observe({ type: "resource", buffered: true });
ãªãªã¸ã³éã®ã¿ã¤ãã³ã°æ
å ±
CORS ãæå¹ãªå ´åããµã¼ãã¼ã®ã¢ã¯ã»ã¹ããªã·ã¼ããããã®å¤ã®å
±æã許å¯ããªãéããã¿ã¤ãã³ã°ããããã£ã®å¤ã®å¤ãã¯ã¼ãã¨ãã¦è¿ããã¾ãããã®ããããªã½ã¼ã¹ãæå®ããããµã¼ãã¼ã¯ãå¶éä»ãã®ã¿ã¤ã ã¹ã¿ã³ãå¤ãåå¾ãããã¨ã許å¯ããããªãªã¸ã³ã®å¤ãæå®ãããHTTP ã® Timing-Allow-Origin
ã¬ã¹ãã³ã¹ãããã¼ãéä¿¡ããå¿
è¦ãããã¾ãã
ã¦ã§ããã¼ã¸èªä½ã®ãªãªã¸ã³ä»¥å¤ãããªã½ã¼ã¹ãèªã¿è¾¼ãéã«ãæ¢å®ã§ã¯ 0 ãè¿ãããããã£ã¨ããã¦ã¯ãredirectStart
ãredirectEnd
ãdomainLookupStart
ãdomainLookupEnd
ãconnectStart
ãconnectEnd
ãsecureConnectionStart
ãrequestStart
ãresponseStart
ãããã¾ãã
ä¾ãã°ãhttps://developer.mozilla.org
ããªã½ã¼ã¹ã®ã¿ã¤ãã³ã°æ
å ±ã確èªã§ããããã«ããã«ã¯ããªãªã¸ã³éãªã½ã¼ã¹ãéä¿¡ããå¿
è¦ãããã¾ãã
Timing-Allow-Origin: https://developer.mozilla.org
ãªã½ã¼ã¹ãããã¡ã¼ãµã¤ãºã®ç®¡ç
ã¦ã§ããµã¤ãã¾ãã¯ã¢ããªã±ã¼ã·ã§ã³ã§ 250 以ä¸ã®ãªã½ã¼ã¹ãåå¾ãã250 以ä¸ã® PerformanceResourceTiming
é
ç®ãè¨é²ãããå ´åã¯ããªã½ã¼ã¹ã¿ã¤ãã³ã°ãããã¡ã¼ã®ãµã¤ãºã大ããããå¿
è¦ãããã¾ãã
ãã©ã¦ã¶ã¼ã®ããã©ã¼ãã³ã¹ãªã½ã¼ã¹ãã¼ã¿ãããã¡ã¼ã®ãµã¤ãºãè¨å®ããã«ã¯ãPerformance.setResourceTimingBufferSize()
ã¡ã½ããã使ç¨ãããã©ã¦ã¶ã¼ã®ããã©ã¼ãã³ã¹ãªã½ã¼ã¹ãã¼ã¿ãããã¡ã¼ãã¯ãªã¢ããã«ã¯ãPerformance.clearResourceTimings()
ã¡ã½ããã使ç¨ãã¾ãã
ãã©ã¦ã¶ã¼ã®ãªã½ã¼ã¹ã¿ã¤ãã³ã°ãããã¡ã¼ãæºæ¯ã«ãªã£ããã¨ãéç¥ãã¦ãããã«ã¯ã resourcetimingbufferfull
ã¤ãã³ããå¾
ã¡åããã¦ãã ããã
次ã®å¼ã³åºãã§ã¯ããã©ã¦ã¶ã¼ã®ããã©ã¼ãã³ã¹ã¿ã¤ã ã©ã¤ã³ã« 500 ä»¶ã® "resource"
ããã©ã¼ãã³ã¹é
ç®ã追å ããã¾ãã
performance.setResourceTimingBufferSize(500);
詳ããã¯ããããã¡ã¼ãµã¤ãºã®ç®¡çãåç §ãã¦ãã ããã
é¢é£æ å ±RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4