ã¯ãªã㯠ã¤ãã³ãã®èªåãã¬ã¼ã¹
ãã©ã¦ã¶ã®
click ã¤ãã³ãã¯、DOM è¦ç´ (ä¾: ãã¿ã³)ã
ã¯ãªã㯠ãã、ã¯ãªãã¯å¯¾è±¡ã®è¦ç´ ãç¡å¹ã«ãªã£ã¦ããªãéã、ãã¹ã¦ãã¬ã¼ã¹ããã¾ã。ã¦ã¼ã¶ã¼ãè¦ç´ ãã¯ãªãã¯ããã¨、æ°ãã
Zone ãä½æãã、æä½ã«ãããåè¨æéãè¨æ¸¬ããã¾ã。
ãã®ã«ã¼ãã¹ãã³ã«ååãä»ãããã、ãããããã¼ãè¦ç´ ã«
data-ocweb-id å±æ§ã追å ãã¦æä½ã®ååãã«ã¹ã¿ãã¤ãºã§ããããã«ãã¦ãã¾ã。次ã®ä¾ã§ã¯、
‘Save edit user info’ ã¨ããååã«ãªãã¾ã。
< button type= "submit" data- ocweb-id= "Save edit user info" > Save changes </ button>
OC Web ã¯、
History API ã«ã¢ã³ãã¼ããããé©ç¨ãããã¨ã§、ãã¼ã¸ ã»ã¯ã·ã§ã³éã®ã«ã¼ãé·ç§»ããã¬ã¼ã¹ãã¾ã。OC Web ã¯、
‘Navigation /path/to/page’ ã¨ãããã¿ã¼ã³ã使ã£ã¦ãã®æä½ã«ååãä»ãã¾ã。次ã®ã¹ã¯ãªã¼ã³ã·ã§ããã¯、
ã¦ã¼ã¶ã¼æä½ãµã³ãã« ãã Stackdriver ã«ã¨ã¯ã¹ãã¼ããããã¬ã¼ã¹ã§ã。ããã«ã¯ 1 ã¤ã® Navigation ãã¬ã¼ã¹ãå«ã¾ãã¦ãã、ã«ã¼ãé·ç§»ãå®äºããåã«ããã¤ãã®ãããã¯ã¼ã¯å¼ã³åºããè¡ããã¦ãã¾ã。
ã«ã¹ã¿ã ã¹ãã³ã®ä½æ
OC Web ã§ã¯、ã¦ã¼ã¶ã¼ã®æä½ã«é¢é£ããã¿ã¹ã¯ãã³ã¼ãã®ã«ã¹ã¿ã ã¹ãã³ã使ã£ã¦ã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ãè¡ããã¨ãã§ãã¾ã。次ã«ç¤ºãã®ã¯、ãã®æ¹æ³ãä¾ç¤ºããã³ã¼ã ã¹ããããã§ã。
import { tracing } from '@opencensus/web-instrumentation-zone' ;
function handleClick () {
// ç¾å¨ã®æä½ã®ã«ã¼ãã¹ãã³ã®åã¹ãã³ãéå§
// ããã¯ãã¿ã³ãå®è¡ããã³ã¼ãã§å®è¡ããå¿
è¦ããã
const childSpan = tracing.tracer. startChildSpan ({
name : 'name of your child span'
});
// ä½ããã®ãªãã¬ã¼ã·ã§ã³ãå®è¡...
// ãªãã¬ã¼ã·ã§ã³çµäºæã«åã¹ãã³ãçµäº
childSpan. end ();
}
詳細ã«ã¤ãã¦ã¯、
OC Web ã®ããã¥ã¡ã³ã ãã覧ãã ãã。
OC Web ã¯、ã¦ã¼ã¶ã¼ã®æä½ã«ãã£ã¦çæããã HTTP ãªã¯ã¨ã¹ããèªåçã«ã¤ã³ã¿ã¼ã»ãããã¦ã¹ãã³ãçæãã¾ã。ããã«、OC Web ã¯ã¤ã³ã¿ã¼ã»ããããããããã® HTTP ãªã¯ã¨ã¹ãã«
W3C Trace Context å½¢å¼ã® Trace Context ãããã¼ã追å ãã¾ã。ãã®å¦çã¯、åããªãªã¸ã³ã®ãªã¯ã¨ã¹ãã¾ãã¯æä¾ãããæ£è¦è¡¨ç¾ã«ä¸è´ãããªã¯ã¨ã¹ãã«å¯¾ãã¦ã®ã¿è¡ããã¾ã。
ãµã¼ãã¼ã§ OpenCensus ã«ããã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ãè¡ã£ã¦ããå ´å、ããã¯ã¨ã³ã ãµã¼ãã¹å
¨ä½ã§ãããã®ãªã¯ã¨ã¹ãã®ãã¬ã¼ã¹ãç¶ç¶ããã¾ã。ãã®ãã、åé¡ãããã³ãã¨ã³ãã«ããã®ããµã¼ãã¼ãµã¤ãã«ããã®ããç¥ããã¨ãã§ãã¾ã。
OC Web ã«ã¯、
domainLookupStart ã responseEnd ãªã©ã®ã¢ããã¼ã·ã§ã³ãä½æã、
CORS ããªãã©ã¤ã ãªã¯ã¨ã¹ãã®ã¹ãã³ãçæããããã®
Performance API ãã¼ã¿ãå«ã¾ãã¦ãã¾ã。
次ã®ã¹ã¯ãªã¼ã³ã·ã§ããã¯、
ã¦ã¼ã¶ã¼æä½ã®ãµã³ãã« ã¨ã㦠Stackdriver ã«ã¨ã¯ã¹ãã¼ããããã¬ã¼ã¹ã示ãã¦ãã¾ã。ã¢ããã¼ã·ã§ã³ãä»å ãããã¹ãã³ãèªåçæããã¦ãããããã¯ã¼ã¯å¼ã³åºããããã¤ã(ä¾:
‘Sent./sleep’ )ãããã¨ããããã¾ã。ã¾ã、ãµã¼ãã¼ãµã¤ãã®ã¹ãã³(ä¾:
‘/sleep’ 、
‘ocweb.handlerequest’ )ã、CORS ããªãã©ã¤ãã«é¢é£ããã¹ãã³ãåå¨ãã¾ã。
ã¦ã¼ã¶ã¼æä½ã¨æåã®ãã¼ã¸èªã¿è¾¼ã¿ã®ãã¬ã¼ã¹ã¨ã®é¢é£ä»ã
OC Web ã¯、å±æ§ããã³ã¹ãã³ãªã³ã¯ã¨ãã¦、ã¦ã¼ã¶ã¼ã®æä½ã«
æåã®ãã¼ã¸èªã¿è¾¼ã¿æã®ãã¬ã¼ã¹ ID ãä»å ãã¾ã。ããã«ãã、1 ã¤ã®å±æ§ã«å¯¾ããã¯ã¨ãªã§ãã¬ã¼ã¹ãæ¤ç´¢ãããã¨ã§、æåã®èªã¿è¾¼ã¿ã®ãã¬ã¼ã¹ã¨ãã®æä½ã«é¢é£ãããã¬ã¼ã¹ãæ¢ããããã«ãªãã¾ã。ã¾ã、ãããã¼ã¸ãèªã¿è¾¼ãã å¾ã®ã¢ããªã±ã¼ã·ã§ã³å
ã§ã®ã¦ã¼ã¶ã¼ã®ããã²ã¼ã·ã§ã³å
¨ä½ãç解ãããã¨ãå¯è½ã§ã。
次ã®ã¹ã¯ãªã¼ã³ã·ã§ããã¯、
initial_load_trace_id å±æ§ã使ã£ãæ¤ç´¢ã示ãã¦ãã¾ã。ããã«ã¯、æåã«ãã¼ã¸ãèªã¿è¾¼ãã å¾ã®ãã¹ã¦ã®ã¦ã¼ã¶ã¼æä½ã®ãã¬ã¼ã¹ãå«ã¾ãã¦ãã¾ã。
å®ç¾ãã
OC Web ã使ãã°、æ°è¡ã®ã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ãè¨è¿°ããã ãã§、ã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®åæ£ãã¬ã¼ã¹ãã¨ã¯ã¹ãã¼ãã§ãã¾ã。ãã²、
æåã®èªã¿è¾¼ã¿ ã¨
ã¦ã¼ã¶ã¼æä½ ã®ãµã³ãã«ã試ãã¦ã¿ã¦ãã ãã。ã½ã¼ã¹ã³ã¼ãã«æãå
¥ãã¦ã¿ãã、
Gitter ãããã£ã¼ãããã¯ãéã£ãã、ãã« ãªã¯ã¨ã¹ãã§
è²¢ç® ããããããã¨ã大æè¿ã§ã!
æ稿è
: Cristian González – OpenCensus ãã¼ã – 2019 å¹´å¤å£ Google ã½ããã¦ã§ã¢ ã¨ã³ã¸ãã¢ãªã³ã° ã¤ã³ã¿ã¼ã³、ã³ãã³ãã¢å½ç«å¤§å¦ã³ã³ãã¥ã¼ã¿ããã³ã·ã¹ãã ã¨ã³ã¸ãã¢ãªã³ã°å¦é¨ç OC Web ã®æåã®ä½æè
ã§ãã、ä»åã®éçºã®ãµãã¼ãããã¦ããã Dave Raffensperger æ°ã«æ ¼å¥ã®æè¬ãæ§ãã¾ã。
ãã®è¨äºã¯ Cristian González – OpenCensus ãã¼ã – 2019 å¹´å¤å£ Google ã½ããã¦ã§ã¢ ã¨ã³ã¸ãã¢ãªã³ã° ã¤ã³ã¿ã¼ã³、ã³ãã³ãã¢å½ç«å¤§å¦ã³ã³ãã¥ã¼ã¿ããã³ã·ã¹ãã ã¨ã³ã¸ãã¢ãªã³ã°å¦é¨çã«ãã Google Open Source Blog ã®è¨äº "OpenCensus Web: Unlocking Full End-to-End Observability for Your Entire Stack " ãå
ã«ç¿»è¨³・å çãããã®ã§ã。詳ããã¯å
è¨äºãã覧ãã ãã。
OpenCensus Web ã¯、ã¦ã¼ã¶ã¼ãã¦ã§ããã¼ã¸ã®ããã©ã¼ãã³ã¹ãã©ã®ããã«æãã¦ãããããã¬ã¼ã¹ã、ç£è¦ãããã¼ã«ã§ã。診ææ¹æ³ãããããªãããã©ã¼ãã³ã¹ã®åé¡ãã¦ã§ããã¼ã¸ã§çºçãã¦ããªããã©ãããå¤æããéã«å½¹ç«ã¡ã¾ã。
ã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®ææè
ã¯、å®éã®ã¦ã¼ã¶ã¼ãæããããã©ã¼ãã³ã¹ãç解ããããã«、ã¢ããªã±ã¼ã·ã§ã³ã®ãªãã¬ã¼ã·ã§ã³ã®å¥å
¨æ§ãç£è¦ãããã¨æã£ã¦ãã¾ã。ããã、å¤ãã®å ´å、ã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ããé¢é£ãã¼ã¿ãéããã®ã¯å°é£ã§ã。æ¬æ¥ã¯、OpenCensus Web(OC Web)ãç´¹ä»ãã¾ã。OC Web ã使ãã¨、ç°¡åãã¤èªåçã«ã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ãè¡ã、ææ¨ãåæ£ãã¬ã¼ã¹ãã¨ã¯ã¹ãã¼ããããã¨ãã§ãã¾ã。
èæ¯
OpenCensus ããã¸ã§ã¯ãã¯、ããã¤ãã®è¨èªåºæã®ã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ ã©ã¤ãã©ãªãæä¾ãã¦ãã¾ã。ãããã®ã©ã¤ãã©ãªã¯、ã¢ããªã±ã¼ã·ã§ã³ãããã¬ã¼ã¹ãææ¨ãåéã、Prometheus、Zipkin、Jaeger、Stackdriver
ãªã© ã®ãã¬ã¼ã¹ããã³ç£è¦ããã¯ã¨ã³ãã«ã¨ã¯ã¹ãã¼ããã¾ã。
OpenCensus Web ã©ã¤ãã©ãªã¯、ãã©ã¦ã¶ã§å®è¡ãããããã³ãã¨ã³ã ã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ãã«ç¹åãã OpenCensus ã®å®è£
ã§ã。OC Web ã¯ã¦ã§ããã¼ã¸ã®ã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ãè¡ã、é
延ãåæ£ãã¬ã¼ã¹ãªã©ã®ããã©ã¼ãã³ã¹ ãã¼ã¿ãã¦ã¼ã¶ã¼ãµã¤ãã§åéãã¾ã。ãããããã¼ã¯、ããã³ãã¨ã³ãã®åé¡è¨ºæã¨ã¢ããªã±ã¼ã·ã§ã³å
¨ä½ã®å¥å
¨æ§ç£è¦ã®ããã®æ
å ±ãå¾ããã¨ãã§ãã¾ã。
ãªã、OC Web 以ä¸ã«éè¦ãªã®ã¯、ããã«åºç¯ãª OpenCensus ãã¡ããªã¼ã®ããã¸ã§ã¯ãã OpenTracing ãåãè¾¼ãã§
OpenTelemetry ã«ãªãã¤ã¤ãããã¨ã§ã。ãã®ããã¸ã§ã¯ãã®æºåãæ´ã£ãæç¹ã§、OpenCensus Web ã®æ©è½ã¯
OpenTelemetry JS ã«ç§»è¡ãããè¦è¾¼ã¿ã§ã。ãã®éã、OC Web ã¯ã¢ã«ãã¡çãªãªã¼ã¹ã¨ãã¦åä½ãç¶ãã¾ã。
ã¢ã¼ããã¯ãã£
OC Web ã¯、次㮠3 ã¤ã®ã¢ããªã±ã¼ã·ã§ã³ ã³ã³ãã¼ãã³ãã¨é£ä¿ãã¦åä½ãã¾ã。
ããã³ãã¨ã³ã ã¦ã§ããµã¼ãã¼: OC Web ã®ã©ã¤ãã©ãª ã³ã¼ããæ§æãå«ãæåã® HTML ããã©ã¦ã¶ã«å¯¾ãã¦ã¬ã³ããªã³ã°ãã¾ã。é常、ãã㯠OpenCensus ãµã¼ãã¼ãµã¤ã ã©ã¤ãã©ãª(Go、Java ãªã©)ã§ã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ããã¾ã。ãµã¼ãã¼ã«ã¯、HTTP/JSON ãã¬ã¼ã¹ãåä¿¡ã㦠OpenCensus Agent ã¨ã®éä¿¡ã仲ä»ããã¨ã³ããã¤ã³ããä½æãããã¨ããå§ããã¾ã。
ãã©ã¦ã¶ã® JS: ãã©ã¦ã¶ã§å®è¡ããã OC Web ã©ã¤ãã©ãªã®ã³ã¼ãã§ã。ãã®ã³ã¼ãã¯、ã¦ã¼ã¶ã¼æä½ã®æ¸¬å®ã¨ãã©ã¦ã¶ãã¼ã¿ã®åéãè¡ã、HTTP/JSON ã使ã£ã¦ OpenCensus Agent ã«ã¹ãã³ã¨ãã¦æ¸ãè¾¼ã¿ã¾ã。
OpenCensus Agent: ããã³ãã¨ã³ã ã¦ã§ããµã¼ãã¼ã®ãããã· ã¨ã³ããã¤ã³ããã、ã¾ãã¯ãã©ã¦ã¶ã® JS ããç´æ¥ãã¬ã¼ã¹ãåãåã、ãã¬ã¼ã¹ ããã¯ã¨ã³ã(ä¾: Stackdriver、Zipkin)ã«ã¨ã¯ã¹ãã¼ããã¾ã。
OC Web ã«ã¯、
OpenCensus Agent ãå¿
è¦ã§ã。OpenCensus Agent ã¯、診æãã¼ã¿ã仲ä»ãã¦ä»»æã®ããã¯ã¨ã³ãã«åã¨ã¯ã¹ãã¼ããã¾ã。詳細ã«ã¤ãã¦ã¯、
ããã¥ã¡ã³ã ãã覧ãã ãã。
æ©è½
æåã®ãã¼ã¸èªã¿è¾¼ã¿ã®ãã¬ã¼ã¹
OC Web ã使ãã¨、æåã®ãã¼ã¸èªã¿è¾¼ã¿ã®ãã¬ã¼ã¹ãåå¾ã§ãã¾ã。ãªãã¨、OC Web ã©ã¤ãã©ãªããã©ã¦ã¶ã«èªã¿è¾¼ã¾ããåã«çºçããã¤ãã³ããåå¾ã§ãã¾ã。æåã®ãã¼ã¸èªã¿è¾¼ã¿ã®ãã¬ã¼ã¹ãè¡ãã¨、ã©ã®ãªã½ã¼ã¹ãã¦ã§ããµã¤ãã®ããã©ã¼ãã³ã¹ãä½ä¸ããã¦ããã®ãããããã¾ã。ã¾ã、é常ã¯åæ£ãã¬ã¼ã¹ ã·ã¹ãã ã§åå¾ã§ããªããã¼ã¿ãåå¾ã§ãã¾ã。
æåã®ãã¼ã¸èªã¿è¾¼ã¿ã«ããããã¹ã¦ã®ç¸äºä½ç¨ã®æéã測å®ãããã、OC Web ã¯ããã¥ã¡ã³ãã® load ã¤ãã³ããçºçããã¾ã§å¾
æ©ã、æåã®ãã¼ã¸èªã¿è¾¼ã¿ããã©ã¼ãã³ã¹ã示ãã¿ã¤ãã³ã°ããã¹ãã³ãçæãã¾ã。ãã®éã«、ãã©ã¦ã¶ã®
Navigation Timing API ã¨
Resource Timing API ã使ãã¾ã。以ä¸ã«ç¤ºãã®ã¯、
æåã®èªã¿è¾¼ã¿ãµã³ãã« ã¢ããªãããã£ããã£ãã OC Web ã®ãã¬ã¼ã¹ ãµã³ãã«ã
Zipkin ã«ã¨ã¯ã¹ãã¼ããããã®ã§ã。ãã©ã¦ã¶ã® load ã¤ãã³ããçºè¡ãããã¾ã§ã®ã¦ã¼ã¶ã¼ã®ããã²ã¼ã·ã§ã³ã®å
¨ä½ã表ã
‘nav./’ ã¹ãã³ããããã¨ã«æ³¨ç®ãã¦ãã ãã。
ãã®ãµã³ãã«ã«ã¯、ã¯ã©ã¤ã¢ã³ã ãµã¤ãã¨ãµã¼ãã¼ãµã¤ãã§æåã® HTML èªã¿è¾¼ã¿ã測å®ãã
‘/’ ã¹ãã³ãå«ã¾ãã¦ãã¾ã。ãããã®ã¹ãã³ã¯、
W3C Trace Context å½¢å¼ã§
‘window.traceparent’ å¤æ°ãéãè¿ããµã¼ãã¼ã«ãã£ã¦æ¥ç¶ããã¾ã。ãããå¿
è¦ã«ãªãã®ã¯、ãã©ã¦ã¶ã¯æåã®ãã¼ã¸èªã¿è¾¼ã¿ã®éã« Trace Context ãããã¼ãéä¿¡ããªãããã§ã。ãµã¼ãã¼ãµã¤ãã®ã¹ãã³ãã、ãã³ãã¬ã¼ãã®è§£æã¨ã¬ã³ããªã³ã°ã«ããã£ãæéããããã¾ã。
å
ã»ã©ã®ã¤ã¡ã¼ã¸ã®
long js task ã¹ãã³ ã¯、CPU ã«ããå¶ç´ãåãã JavaScript ã¤ãã³ãã«ã¼ãã« 80.095 ããªç§ããã£ããã¨ã示ãã¦ãã¾ã。ããã¯、
Long Tasks ãã©ã¦ã¶ API ã§è¨æ¸¬ãã¦ãã¾ã。
DOM ã¤ãã³ãã¨ãããã¯ã¼ã¯ ã¤ãã³ãã®ã¹ãã³ã®ã¢ããã¼ã·ã§ã³
OC Web ãåå¾ããã¹ãã³ã«ã¯、詳細ãªã¢ããã¼ã·ã§ã³ãå«ã¾ãã¦ãã¾ã。ãã¨ãã°、
`domInteractive` ã
`first-paint` ãªã©ã® DOM ã¤ãã³ãã«ã¤ãã¦ã®ã¢ããã¼ã·ã§ã³ã、domainLookupStart ã secureConnectionStart ãªã©ã®ãããã¯ã¼ã¯ ã¤ãã³ãã«ã¤ãã¦ã®ã¢ããã¼ã·ã§ã³ã§ã。次ã«ç¤ºãã®ã¯、å
ã»ã©ã¨åããã¬ã¼ã¹ã
Stackdriver Trace ã«ã¨ã¯ã¹ãã¼ãã、ã¢ããã¼ã·ã§ã³ãå±éãããã®ã§ã。
ã¦ã¼ã¶ã¼æä½
åä¸ãã¼ã¸ ã¢ããªã±ã¼ã·ã§ã³ã§ã¯、æåã®èªã¿è¾¼ã¿å¾ã«æä½(ä¾: ã¦ã¼ã¶ã¼ããã¿ã³ãã¯ãªãã¯ãã、ãã¼ã¸ã®å¥ã®ã»ã¯ã·ã§ã³ã«ç§»åãã)ãçºçããã®ãä¸è¬çã§ã。ã¨ã³ãã¦ã¼ã¶ã¼ããã©ã¦ã¶ ã¢ããªã±ã¼ã·ã§ã³å
ã§è¡ã£ãæä½ã測å®ããã¨、ã¢ããªã±ã¼ã·ã§ã³ã«ã¤ãã¦æ¬¡ã®ãããªæç¨ãªãã¼ã¿ãå¾ããã¾ã。
æåã®ãã¼ã¸ã®ã¬ã³ããªã³ã°ã¨ãã®å¾ã®ãã¼ã¸å
æä½ãé¢é£ä»ãã
ã¯ãªãã¯å¾ã«ãã¼ã¸ã®å¿çããªããªããªã©、ã¨ã³ãã¦ã¼ã¶ã¼ãèªèã§ããé度ä½ä¸ãå¯è¦åãã
ç¾å¨ã® OC Web ã¯、Angular ã®
Zone.js ã©ã¤ãã©ãªã«ã¢ã³ãã¼ããããå½ã¦ããã¨ã«ãã、ã¯ãªãã¯ã¨ã«ã¼ãã®é·ç§»ããã©ãã¯ãã¦ãã¾ã。OC Web ã¯、ãã®å¾ã®æä½ã«ãã£ã¦çºçããåæã¿ã¹ã¯ããã³éåæã¿ã¹ã¯(ä¾: setTimeout、XHR)ããã©ãã¯ãã¾ã。ããã¤ãã®æä½ãåæã«å®è¡ãããå ´åã§ã、ãã¬ã¼ã¹ãè¡ããã¾ã。
ã¯ãªã㯠ã¤ãã³ãã®èªåãã¬ã¼ã¹
ãã©ã¦ã¶ã®
click ã¤ãã³ãã¯、DOM è¦ç´ (ä¾: ãã¿ã³)ã
ã¯ãªã㯠ãã、ã¯ãªãã¯å¯¾è±¡ã®è¦ç´ ãç¡å¹ã«ãªã£ã¦ããªãéã、ãã¹ã¦ãã¬ã¼ã¹ããã¾ã。ã¦ã¼ã¶ã¼ãè¦ç´ ãã¯ãªãã¯ããã¨、æ°ãã
Zone ãä½æãã、æä½ã«ãããåè¨æéãè¨æ¸¬ããã¾ã。
ãã®ã«ã¼ãã¹ãã³ã«ååãä»ãããã、ãããããã¼ãè¦ç´ ã«
data-ocweb-id å±æ§ã追å ãã¦æä½ã®ååãã«ã¹ã¿ãã¤ãºã§ããããã«ãã¦ãã¾ã。次ã®ä¾ã§ã¯、
‘Save edit user info’ ã¨ããååã«ãªãã¾ã。
< button type= "submit" data- ocweb-id= "Save edit user info" > Save changes </ button>
ããã«ãã、ç¹å®ã®è¦ç´ ã«é¢é£ãããã¬ã¼ã¹ãåºå¥ãããããªã、ä¼¼ããããªæä½ããã£ã¦ãæ確ã«åºå¥ã§ããããã«ãªãã¾ã。ãã®å±æ§ã追å ããªãå ´å、OC Web 㯠DOM è¦ç´ ã® ID、ã¿ã°å、æä½ã«é¢é£ããã¤ãã³ãåãçµã¿åããããã®ã使ãã¾ã。ãã¨ãã°、次ã®ãã¿ã³ãã¯ãªãã¯ããã¨、
< button id= "save_changes" > Save changes </ button >
“button#save_changes click” ã¨ããååã®ã¹ãã³ãçæããã¾ã。
ã«ã¼ãé·ç§»ã®èªåãã¬ã¼ã¹
OC Web ã¯、
History API ã«ã¢ã³ãã¼ããããé©ç¨ãããã¨ã§、ãã¼ã¸ ã»ã¯ã·ã§ã³éã®ã«ã¼ãé·ç§»ããã¬ã¼ã¹ãã¾ã。OC Web ã¯、
‘Navigation /path/to/page’ ã¨ãããã¿ã¼ã³ã使ã£ã¦ãã®æä½ã«ååãä»ãã¾ã。次ã®ã¹ã¯ãªã¼ã³ã·ã§ããã¯、
ã¦ã¼ã¶ã¼æä½ãµã³ãã« ãã Stackdriver ã«ã¨ã¯ã¹ãã¼ããããã¬ã¼ã¹ã§ã。ããã«ã¯ 1 ã¤ã® Navigation ãã¬ã¼ã¹ãå«ã¾ãã¦ãã、ã«ã¼ãé·ç§»ãå®äºããåã«ããã¤ãã®ãããã¯ã¼ã¯å¼ã³åºããè¡ããã¦ãã¾ã。
ã«ã¹ã¿ã ã¹ãã³ã®ä½æ
OC Web ã§ã¯、ã¦ã¼ã¶ã¼ã®æä½ã«é¢é£ããã¿ã¹ã¯ãã³ã¼ãã®ã«ã¹ã¿ã ã¹ãã³ã使ã£ã¦ã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®ã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ãè¡ããã¨ãã§ãã¾ã。次ã«ç¤ºãã®ã¯、ãã®æ¹æ³ãä¾ç¤ºããã³ã¼ã ã¹ããããã§ã。
import { tracing } from '@opencensus/web-instrumentation-zone' ;
function handleClick () {
// ç¾å¨ã®æä½ã®ã«ã¼ãã¹ãã³ã®åã¹ãã³ãéå§
// ããã¯ãã¿ã³ãå®è¡ããã³ã¼ãã§å®è¡ããå¿
è¦ããã
const childSpan = tracing.tracer. startChildSpan ({
name : 'name of your child span'
});
// ä½ããã®ãªãã¬ã¼ã·ã§ã³ãå®è¡...
// ãªãã¬ã¼ã·ã§ã³çµäºæã«åã¹ãã³ãçµäº
childSpan. end ();
}
詳細ã«ã¤ãã¦ã¯、
OC Web ã®ããã¥ã¡ã³ã ãã覧ãã ãã。
HTTP ãªã¯ã¨ã¹ãã®èªåã¹ãã³ã¨ãã©ã¦ã¶ã®ããã©ã¼ãã³ã¹ ãã¼ã¿
OC Web ã¯、ã¦ã¼ã¶ã¼ã®æä½ã«ãã£ã¦çæããã HTTP ãªã¯ã¨ã¹ããèªåçã«ã¤ã³ã¿ã¼ã»ãããã¦ã¹ãã³ãçæãã¾ã。ããã«、OC Web ã¯ã¤ã³ã¿ã¼ã»ããããããããã® HTTP ãªã¯ã¨ã¹ãã«
W3C Trace Context å½¢å¼ã® Trace Context ãããã¼ã追å ãã¾ã。ãã®å¦çã¯、åããªãªã¸ã³ã®ãªã¯ã¨ã¹ãã¾ãã¯æä¾ãããæ£è¦è¡¨ç¾ã«ä¸è´ãããªã¯ã¨ã¹ãã«å¯¾ãã¦ã®ã¿è¡ããã¾ã。
ãµã¼ãã¼ã§ OpenCensus ã«ããã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ãè¡ã£ã¦ããå ´å、ããã¯ã¨ã³ã ãµã¼ãã¹å
¨ä½ã§ãããã®ãªã¯ã¨ã¹ãã®ãã¬ã¼ã¹ãç¶ç¶ããã¾ã。ãã®ãã、åé¡ãããã³ãã¨ã³ãã«ããã®ããµã¼ãã¼ãµã¤ãã«ããã®ããç¥ããã¨ãã§ãã¾ã。
OC Web ã«ã¯、
domainLookupStart ã responseEnd ãªã©ã®ã¢ããã¼ã·ã§ã³ãä½æã、
CORS ããªãã©ã¤ã ãªã¯ã¨ã¹ãã®ã¹ãã³ãçæããããã®
Performance API ãã¼ã¿ãå«ã¾ãã¦ãã¾ã。
次ã®ã¹ã¯ãªã¼ã³ã·ã§ããã¯、
ã¦ã¼ã¶ã¼æä½ã®ãµã³ãã« ã¨ã㦠Stackdriver ã«ã¨ã¯ã¹ãã¼ããããã¬ã¼ã¹ã示ãã¦ãã¾ã。ã¢ããã¼ã·ã§ã³ãä»å ãããã¹ãã³ãèªåçæããã¦ãããããã¯ã¼ã¯å¼ã³åºããããã¤ã(ä¾:
‘Sent./sleep’ )ãããã¨ããããã¾ã。ã¾ã、ãµã¼ãã¼ãµã¤ãã®ã¹ãã³(ä¾:
‘/sleep’ 、
‘ocweb.handlerequest’ )ã、CORS ããªãã©ã¤ãã«é¢é£ããã¹ãã³ãåå¨ãã¾ã。
ã¦ã¼ã¶ã¼æä½ã¨æåã®ãã¼ã¸èªã¿è¾¼ã¿ã®ãã¬ã¼ã¹ã¨ã®é¢é£ä»ã
OC Web ã¯、å±æ§ããã³ã¹ãã³ãªã³ã¯ã¨ãã¦、ã¦ã¼ã¶ã¼ã®æä½ã«
æåã®ãã¼ã¸èªã¿è¾¼ã¿æã®ãã¬ã¼ã¹ ID ãä»å ãã¾ã。ããã«ãã、1 ã¤ã®å±æ§ã«å¯¾ããã¯ã¨ãªã§ãã¬ã¼ã¹ãæ¤ç´¢ãããã¨ã§、æåã®èªã¿è¾¼ã¿ã®ãã¬ã¼ã¹ã¨ãã®æä½ã«é¢é£ãããã¬ã¼ã¹ãæ¢ããããã«ãªãã¾ã。ã¾ã、ãããã¼ã¸ãèªã¿è¾¼ãã å¾ã®ã¢ããªã±ã¼ã·ã§ã³å
ã§ã®ã¦ã¼ã¶ã¼ã®ããã²ã¼ã·ã§ã³å
¨ä½ãç解ãããã¨ãå¯è½ã§ã。
次ã®ã¹ã¯ãªã¼ã³ã·ã§ããã¯、
initial_load_trace_id å±æ§ã使ã£ãæ¤ç´¢ã示ãã¦ãã¾ã。ããã«ã¯、æåã«ãã¼ã¸ãèªã¿è¾¼ãã å¾ã®ãã¹ã¦ã®ã¦ã¼ã¶ã¼æä½ã®ãã¬ã¼ã¹ãå«ã¾ãã¦ãã¾ã。
å®ç¾ãã
OC Web ã使ãã°、æ°è¡ã®ã¤ã³ã¹ãã«ã¡ã³ãã¼ã·ã§ã³ãè¨è¿°ããã ãã§、ã¦ã§ã ã¢ããªã±ã¼ã·ã§ã³ã®åæ£ãã¬ã¼ã¹ãã¨ã¯ã¹ãã¼ãã§ãã¾ã。ãã²、
æåã®èªã¿è¾¼ã¿ ã¨
ã¦ã¼ã¶ã¼æä½ ã®ãµã³ãã«ã試ãã¦ã¿ã¦ãã ãã。ã½ã¼ã¹ã³ã¼ãã«æãå
¥ãã¦ã¿ãã、
Gitter ãããã£ã¼ãããã¯ãéã£ãã、ãã« ãªã¯ã¨ã¹ãã§
è²¢ç® ããããããã¨ã大æè¿ã§ã!
æ稿è
: Cristian González – OpenCensus ãã¼ã – 2019 å¹´å¤å£ Google ã½ããã¦ã§ã¢ ã¨ã³ã¸ãã¢ãªã³ã° ã¤ã³ã¿ã¼ã³、ã³ãã³ãã¢å½ç«å¤§å¦ã³ã³ãã¥ã¼ã¿ããã³ã·ã¹ãã ã¨ã³ã¸ãã¢ãªã³ã°å¦é¨ç OC Web ã®æåã®ä½æè
ã§ãã、ä»åã®éçºã®ãµãã¼ãããã¦ããã Dave Raffensperger æ°ã«æ ¼å¥ã®æè¬ãæ§ãã¾ã。
Reviewed by Yoshifumi Yamaguchi - Developer Relations Team