我在单独的文件中有多个生成跟踪的过程,因此我想同步它们以显示在单个时间轴上。假设我有2个文件。
agent_service_trace.json:
inversify-binding-decorators
agent_host_trace.json:
{"traceEvents":[
{"cat":"AgentService","pid":6876,"tid":6868,"ts":0,"ph":"X","name":"wWinMain","args":{},"dur":448701329},
{"cat":"","pid":6876,"tid":6868,"ts":3,"ph":"M","name":"process_name","args":{"name":"AgentService"}},
{"cat":"","pid":6876,"tid":6868,"ts":20,"ph":"M","name":"thread_name","args":{"name":"Main thread"}}
]}
它们的启动时间略有不同,从几秒钟到几分钟。当我将它们一一合并时,由于{"traceEvents":[
{"cat":"AgentHost","pid":6564,"tid":6440,"ts":0,"ph":"X","name":"wWinMain","args":{},"dur":448701329},
{"cat":"","pid":6564,"tid":6440,"ts":5,"ph":"M","name":"process_name","args":{"name":"AgentHost"}},
{"cat":"","pid":6564,"tid":6440,"ts":10,"ph":"M","name":"thread_name","args":{"name":"Main host"}}
]}
arg是从流程跟踪开始的时间,所以它们看起来好像是在同一时间点启动的。
尤其是从tracing文档和附加的clock sync中,我发现Clock Sync事件是为了处理由不同跟踪代理产生的多个跟踪日志并同步其时钟域而创建的。但据我所知ts
一次不支持多个文件。到目前为止,我尝试过的事情是在事件中添加clock_sync:
chrome://tracing
我真的不知道这应该如何工作,我尝试将{"traceEvents":[
{"ts":0,"ph":"c","name":"clock_sync","args":{"sync_id":"guid0","sync_ts":0}},
{"cat":"AgentService","pid":6876,"tid":6868,"ts":0,"ph":"X","name":"wWinMain","args":{},"dur":448701329},
{"cat":"","pid":6876,"tid":6868,"ts":3,"ph":"M","name":"process_name","args":{"name":"AgentService"}},
{"cat":"","pid":6876,"tid":6868,"ts":20,"ph":"M","name":"thread_name","args":{"name":"Main thread"}},
{"ts":0,"ph":"c","name":"clock_sync","args":{"sync_id":"guid1","sync_ts":30000}},
{"cat":"AgentHost","pid":6564,"tid":6440,"ts":0,"ph":"X","name":"wWinMain","args":{},"dur":448701329},
{"cat":"","pid":6564,"tid":6440,"ts":5,"ph":"M","name":"process_name","args":{"name":"AgentHost"}},
{"cat":"","pid":6564,"tid":6440,"ts":10,"ph":"M","name":"thread_name","args":{"name":"Main host"}}
]}
作为arg添加到事件,还尝试将sync_id
作为arg添加到pid
事件。所有的地雷操纵均无效。我虽然必须在事件和clock_sync
的{{1}}之间建立一个链接,但是却找不到任何相关信息。我将不胜感激。