- contentTracing
- 方法
- contentTracing.getCategories(callback)
- contentTracing.startRecording(options, callback)
- contentTracing.stopRecording(resultFilePath, callback)
- contentTracing.startMonitoring(options, callback)
- contentTracing.startMonitoring(options, callback)
- contentTracing.startMonitoring(options, callback)
- contentTracing.startMonitoring(options, callback)
- 方法
contentTracing
从Chromium的内容模块收集跟踪数据,以查找性能瓶颈和缓慢的操作。
进程:主进程
该模块不包含网页接口,所以你需要在Chrome浏览器打开chrome://tracing/
页面,然后加载生成的文件来查看结果。
注意:在应用程序模块的 ready
事件触发之前,您不应该使用此模块。
const { app, contentTracing } = require('electron')
app.on('ready', () => {
const options = {
categoryFilter: '*',
traceOptions: 'record-until-full,enable-sampling'
}
contentTracing.startRecording(options, () => {
console.log('Tracing started')
setTimeout(() => {
contentTracing.stopRecording('', (path) => {
console.log('Tracing data recorded to ' + path)
})
}, 5000)
})
})
方法
contentTracing
模块包含以下方法:
contentTracing.getCategories(callback)
callback
Function - 回调函数categories
String[]
获取一个类别组的集合。随着能访问的新的代码路径不一样,获取的类别组对象也会不一样。
一旦所有子进程确认getCategories
请求之后,传递类别组数组参数的callback
就会被调用。
contentTracing.startRecording(options, callback)
options
(TraceCategoriesAndOptions | TraceConfig)callback
Function
在所有进程上开始记录
一旦收到EnableRecording请求,记录立即在本地开始进行,并在子进程上异步执行。 一旦所有子进程都确认了startRecording
请求,callback
就会被调用。
contentTracing.stopRecording(resultFilePath, callback)
resultFilePath
Stringcallback
Function - 回调函数resultFilePath
String
停止所有进程记录。
子进程通常缓存跟踪数据,并且很少清空和发送跟踪数据回到主进程。 这有助于最小化运行时间开销,因为通过IPC发送跟踪数据可能是一个开销巨大的操作。 所以,为了结束跟踪,我们必须异步地要求所有子进程清空任何等待跟踪数据。
一旦所有子进程确认了 stopRecording
请求,将传递包含跟踪数据的文件作为参数调用callback
。
如果resultFilePath
不为空,则跟踪数据会被写入该路径,否则就被写入一个临时文件。实际的文件路径如果不为null
的话就被传递给callback
函数了。
contentTracing.startMonitoring(options, callback)
options
ObjectcategoryFilter
StringtraceOptions
String
callback
Function
开始记录所有进程。
一旦收到startMonitoring
请求,监控立即在本地和异步的子进程上立即开始。
一旦所有子进程都确认了 startMonitoring
请求, 就会调用 callback
。
contentTracing.startMonitoring(options, callback)
callback
Function
停止对所有进程的监视。
一旦所有子进程都确认了 startMonitoring
请求, 就会调用 callback
。
contentTracing.startMonitoring(options, callback)
resultFilePath
Stringcallback
Function - 回调函数resultFilePath
String
获取当前监控的跟踪数据
子进程通常缓存跟踪数据,并且很少清空和发送跟踪数据回到主进程。 通过IPC发送跟踪数据可能是一个开销巨大的操作,我们想避免跟踪时不必要的运行时开销。 因此, 为了结束跟踪, 我们必须异步请求所有子进程刷新所有挂起的跟踪数据。
一旦所有子进程都确认了 captureMonitoringSnapshot
请求, 就会使用包含跟踪数据的文件来调用 callback
。
contentTracing.startMonitoring(options, callback)
callback
Function - 回调函数value
Numberpercentage
Number
获取跟踪缓冲区进程的最大使用率,以百分比表示完整状态。当 TraceBufferUsage 值被确定后, 将调用callback
。