W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
content-tracing
模塊是用來(lái)收集由底層的Chromium content 模塊 產(chǎn)生的搜索數(shù)據(jù). 這個(gè)模塊不具備web接口,所有需要我們?cè)赾hrome瀏覽器中添加 chrome://tracing/
來(lái)加載生成文件從而查看結(jié)果.
const contentTracing = require('electron').contentTracing;
const options = {
categoryFilter: '*',
traceOptions: 'record-until-full,enable-sampling'
}
contentTracing.startRecording(options, function() {
console.log('Tracing started');
setTimeout(function() {
contentTracing.stopRecording('', function(path) {
console.log('Tracing data recorded to ' + path);
});
}, 5000);
});
content-tracing
模塊的方法如下:
contentTracing.getCategories(callback)
callback
Function獲得一組分類組. 分類組可以更改為新的代碼路徑。
一旦所有的子進(jìn)程都接受到了getCategories
方法請(qǐng)求, 分類組將調(diào)用 callback
.
contentTracing.startRecording(options, callback)
options
ObjectcategoryFilter
StringtraceOptions
Stringcallback
Function開始向所有進(jìn)程進(jìn)行記錄.(recording)
一旦收到可以開始記錄的請(qǐng)求,記錄將會(huì)立馬啟動(dòng)并且在子進(jìn)程是異步記錄聽的. 當(dāng)所有的子進(jìn)程都收到 startRecording
請(qǐng)求的時(shí)候,callback
將會(huì)被調(diào)用.
categoryFilter
是一個(gè)過(guò)濾器,它用來(lái)控制那些分類組應(yīng)該被用來(lái)查找.過(guò)濾器應(yīng)當(dāng)有一個(gè)可選的 -
前綴來(lái)排除匹配的分類組.不允許同一個(gè)列表既是包含又是排斥.
例子:
test_MyTest*
,test_MyTest*,test_OtherStuff
,"-excluded_category1,-excluded_category2
traceOptions
控制著哪種查找應(yīng)該被啟動(dòng),這是一個(gè)用逗號(hào)分隔的列表.可用參數(shù)如下:
record-until-full
record-continuously
trace-to-console
enable-sampling
enable-systrace
前3個(gè)參數(shù)是來(lái)查找記錄模塊,并且以后都互斥.如果在traceOptions
中超過(guò)一個(gè)跟蹤 記錄模式,那最后一個(gè)的優(yōu)先級(jí)最高.如果沒(méi)有指明跟蹤 記錄模式,那么它默認(rèn)為 record-until-full
.
在 traceOptions
中的參數(shù)被解析應(yīng)用之前,查找參數(shù)初始化默認(rèn)為 (record_mode
設(shè)置為 record-until-full
, enable_sampling
和 enable_systrace
設(shè)置為 false
).
contentTracing.stopRecording(resultFilePath, callback)
resultFilePath
Stringcallback
Function停止對(duì)所有子進(jìn)程的記錄.
子進(jìn)程通常緩存查找數(shù)據(jù),并且僅僅將數(shù)據(jù)截取和發(fā)送給主進(jìn)程.這有利于在通過(guò) IPC 發(fā)送查找數(shù)據(jù)之前減小查找時(shí)的運(yùn)行開銷,這樣做很有價(jià)值.因此,發(fā)送查找數(shù)據(jù),我們應(yīng)當(dāng)異步通知所有子進(jìn)程來(lái)截取任何待查找的數(shù)據(jù).
一旦所有子進(jìn)程接收到了 stopRecording
請(qǐng)求,將調(diào)用 callback
,并且返回一個(gè)包含查找數(shù)據(jù)的文件.
如果 resultFilePath
不為空,那么將把查找數(shù)據(jù)寫入其中,否則寫入一個(gè)臨時(shí)文件.實(shí)際文件路徑如果不為空,則將調(diào)用 callback
.
contentTracing.startMonitoring(options, callback)
options
ObjectcategoryFilter
StringtraceOptions
Stringcallback
Function開始向所有進(jìn)程進(jìn)行監(jiān)聽.(monitoring)
一旦收到可以開始監(jiān)聽的請(qǐng)求,記錄將會(huì)立馬啟動(dòng)并且在子進(jìn)程是異步記監(jiān)聽的. 當(dāng)所有的子進(jìn)程都收到 startMonitoring
請(qǐng)求的時(shí)候,callback
將會(huì)被調(diào)用.
contentTracing.stopMonitoring(callback)
callback
Function停止對(duì)所有子進(jìn)程的監(jiān)聽.
一旦所有子進(jìn)程接收到了 stopMonitoring
請(qǐng)求,將調(diào)用 callback
.
contentTracing.captureMonitoringSnapshot(resultFilePath, callback)
resultFilePath
Stringcallback
Function獲取當(dāng)前監(jiān)聽的查找數(shù)據(jù).
子進(jìn)程通常緩存查找數(shù)據(jù),并且僅僅將數(shù)據(jù)截取和發(fā)送給主進(jìn)程.因?yàn)槿绻苯油ㄟ^(guò) IPC 來(lái)發(fā)送查找數(shù)據(jù)的代價(jià)昂貴,我們寧愿避免不必要的查找運(yùn)行開銷.因此,為了停止查找,我們應(yīng)當(dāng)異步通知所有子進(jìn)程來(lái)截取任何待查找的數(shù)據(jù).
一旦所有子進(jìn)程接收到了 captureMonitoringSnapshot
請(qǐng)求,將調(diào)用 callback
,并且返回一個(gè)包含查找數(shù)據(jù)的文件.
contentTracing.getTraceBufferUsage(callback)
callback
Function通過(guò)查找 buffer 進(jìn)程來(lái)獲取百分比最大使用量.當(dāng)確定了TraceBufferUsage 的值確定的時(shí)候,就調(diào)用 callback
.
contentTracing.setWatchEvent(categoryName, eventName, callback)
categoryName
StringeventName
Stringcallback
Function任意時(shí)刻在任何進(jìn)程上指定事件發(fā)生時(shí)將調(diào)用 callback
.
contentTracing.cancelWatchEvent()
取消 watch 事件. 如果啟動(dòng)查找,這或許會(huì)造成 watch 事件的回調(diào)函數(shù) 出錯(cuò).
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: