Server-Timing ãããã¼
Baseline
åºãå©ç¨å¯è½
*
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2023å¹´3æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
* ãã®æ©è½ã®ä¸é¨ã¯ã対å¿ã¬ãã«ãç°ãªãå ´åãããã¾ãã
HTTP ã® Server-Timing ã¬ã¹ãã³ã¹ãããã¼ã¯ããã®ãªã¯ã¨ã¹ã-ã¬ã¹ãã³ã¹ãµã¤ã¯ã«ã«é¢ãã 1 ã¤ä»¥ä¸ã®ããã©ã¼ãã³ã¹æ¸¬å®å¤ (performance metrics) ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã«ä¼éãã¾ãã
ããã¯ãã¦ã¼ã¶ã¼ã®ãã©ã¦ã¶ã¼ã®éçºè
ãã¼ã«ã PerformanceServerTiming ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«ããã¦ãããã¯ã¨ã³ããµã¼ãã¼ã®ã¿ã¤ãã³ã°ææ¨ï¼ä¾ãã°ããã¼ã¿ãã¼ã¹ã®èªã¿åã/æ¸ãè¾¼ã¿ãCPU æéããã¡ã¤ã«ã·ã¹ãã ã¸ã®ã¢ã¯ã»ã¹ãªã©ï¼ã表示ããããã«ä½¿ç¨ããã¾ãã
| ãããã¼ç¨®å¥ | ã¬ã¹ãã³ã¹ãããã¼ |
|---|
æ§æ
// åä¸ã®ææ¨
Server-Timing: <timing-metric>
// è¤æ°ã®ææ¨ãã«ã³ãåºåãã®ãªã¹ãã§
Server-Timing: <timing-metric>, â¦, <timing-metricN>
<timing-metric> ã«ã¯ååãããããªãã·ã§ã³ã§æéã説æãå«ãããã¨ãã§ãã¾ãã
ä¾ã示ãã¾ãã
// åä¸ã®å¤ã®ãªãææ¨
Server-Timing: missedCache
// åä¸ã®ææ¨ã¨æ¸¬å®å¤
Server-Timing: cpu;dur=2.4
// åä¸ã®ææ¨ã¨èª¬æã¨æ¸¬å®å¤
Server-Timing: cache;desc="Cache Read";dur=23.2
// 2 ã¤ã®ææ¨ã¨æ¸¬å®å¤
Server-Timing: db;dur=53, app;dur=47.2
ãã£ã¬ã¯ãã£ã
<timing-metric>-
1 ã¤ä»¥ä¸ã®ææ¨ã®ã«ã³ãåºåãã®ãªã¹ãã§ã以ä¸ã®è¦ç´ ãã»ãã³ãã³ã§åºåããã¦ãããã®ã§ãã
<name>-
cacheHitåæ§ã«ãå®è£ ã«ä¾åãããããµã¼ãã¼ã«ãã£ã¦å®ç¾©ãããææ¨ã®ååãã¼ã¯ã³ï¼ç©ºç½æåãç¹æ®æåãå«ã¾ãªããã®ï¼ã§ãã <duration>çç¥å¯-
æåå
durã§è¡¨ãããåçæéããã®å¾ã«=ãããã«å¤ãç¶ãå½¢å¼ã§ãï¼åæ§ã«dur=23.2ï¼ã <description>çç¥å¯-
説æãæåå
descã¨ãã¦æå®ãããã®å¾ã«=ãç¶ãããã«ããããã«ãã¼ã¯ã³ã¾ãã¯å¼ç¨ç¬¦ã§å²ã¾ããæååã¨ãã¦ãä¾ãã°desc=prodãdesc="DB lookup"ãªã©ã®ããã«å¤ãæå®ãã¾ãã
HTTP ãã¼ã¿ã®ãªã¼ãã¼ããããæå°éã«æãããããååã説æã¯ã§ããã ãçããã¦ãã ããï¼ä¾ãã°ãç¥èªã使ç¨ãããããªãã·ã§ã³å¤ãé¤å¤ããããããªã©ï¼ã
解説
>ãã©ã¤ãã·ã¼ã¨ã»ãã¥ãªãã£
Server-Timing ãããã¼ã¯å¾®å¦ãªã¢ããªã±ã¼ã·ã§ã³ãã¤ã³ãã©ã®æ
å ±ãå
¬éããå¯è½æ§ãããã¾ãã
ã©ã®ææ¨ãããã¤ããµã¼ãã¼å´ã®èª°ã«è¿ãããããå¶å¾¡ãããã¨ãæ¤è¨ãã¦ãã ããã
ä¾ãã°ãææ¨ãèªè¨¼ãããã¦ã¼ã¶ã¼ã®ã¿ã«è¦ããä¸è¬ã«ã¯è¦ããªãããã«ãããã¨ãã§ãã¾ãã
PerformanceServerTiming ã¤ã³ã¿ã¼ãã§ã¤ã¹
Server-Timing ãããã¼ã®ææ¨ããã©ã¦ã¶ã¼ã®éçºè
ãã¼ã«ã«ç¾ããã®ã«å ãã¦ã PerformanceServerTiming ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ãã¼ã«ã JavaScript ããèªåçã«ææ¨ãåéãå¦çãããã¨ãã§ãã¾ãããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯åããªãªã¸ã³ã«å¶ç´ããã¦ãã¾ããã Timing-Allow-Origin ãããã¼ã使ç¨ãããã¨ã§ããµã¼ãã¼ææ¨ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãããã¡ã¤ã³ãæå®ãããã¨ãã§ãã¾ãããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ãã©ã¦ã¶ã¼ã«ãã£ã¦ã¯ãä¿è·ãããã³ã³ããã¹ã (HTTPS) ã®ã¿ã§ããå©ç¨ã§ãã¾ããã
Server-Timing ãããã¼ã®åè¦ç´ ã¯ãPerformanceServerTiming ã®ããããã£ã«æ¬¡ã®ããã«å²ãå½ã¦ããã¦ãã¾ãã
"name"->PerformanceServerTiming.name"dur"->PerformanceServerTiming.duration"desc"->PerformanceServerTiming.description
ä¾
>Server-Timing ãããã¼ã使ç¨ããææ¨ã®éä¿¡
次ã®ã¬ã¹ãã³ã¹ã«ã¯ãç¶ç¶æéã 123.45 ããªç§ã§ã説æã "My custom metric" ã¨ãªã£ã¦ããã¡ããªã㯠custom-metric ãå«ã¾ãã¦ãã¾ãã
Server-Timing: custom-metric;dur=123.45;desc="My custom metric"
Server-Timing ã HTTP ãã¬ã¼ã©ã¼ã¨ãã¦
次ã®ã¬ã¹ãã³ã¹ã§ã¯ãTrailer ãããã¼ã使ç¨ãã¦ãã¬ã¹ãã³ã¹æ¬ä½ã®å¾ã« Server-Timing ãããã¼ãç¶ããã¨ã示ãã¦ãã¾ãã
æè¦æéã 123.4 ããªç§ã®ææ¨ custom-metric ãéä¿¡ããã¾ãã
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Trailer: Server-Timing
--- response body ---
Server-Timing: custom-metric;dur=123.4
è¦å:
ãã©ã¦ã¶ã¼ã®éçºè
ãã¼ã«ã®ã¿ããServer-Timing ãããã¼ã HTTP ãã¬ã¼ã©ã¼ã¨ãã¦ä½¿ç¨ããããããã¯ã¼ã¯ãâãã¿ã¤ãã³ã°ãã¿ãã«æ
å ±ã表示ããããã¨ãã§ãã¾ãã
ãã§ãã API ã§ã¯ãHTTP ãã¬ã¼ã©ã¼ã«ã¢ã¯ã»ã¹ãããã¨ã¯ã§ãã¾ããã
詳ããã¯ãã©ã¦ã¶ã¼ã®äºææ§ãã覧ãã ããã
仿§æ¸
| 仿§æ¸ |
|---|
| Server Timing > # the-server-timing-header-field > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
PerformanceServerTimingTrailerãããã¼