JSRUN 用代码说话

contentTracing 模块

编辑教程

contentTracing 模块

content-tracing 模块是用来收集由底层的Chromium content 模块 产生的搜索数据. 这个模块不具备web接口,所有需要我们在chrome浏览器中添加 chrome://tracing/ 来加载生成文件从而查看结果.

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)

callbackFunction

获得一组分类组. 分类组可以更改为新的代码路径。

一旦所有的子进程都接受到了getCategories方法请求, 分类组将调用callback.

contentTracing.startRecording(options, callback)

optionsObject
categoryFilterString
traceOptionsString
callbackFunction

开始向所有进程进行记录.(recording)

一旦收到可以开始记录的请求,记录将会立马启动并且在子进程是异步记录听的. 当所有的子进程都收到startRecording请求的时候,callback将会被调用.

categoryFilter是一个过滤器,它用来控制那些分类组应该被用来查找.过滤器应当有一个可选的-前缀来排除匹配的分类组.不允许同一个列表既是包含又是排斥.

例子:

test_MyTest*,
test_MyTest*,test_OtherStuff,
"-excluded_category1,-excluded_category2

traceOptions控制着哪种查找应该被启动,这是一个用逗号分隔的列表.可用参数如下:

record-until-full
record-continuously
trace-to-console
enable-sampling
enable-systrace

前3个参数是来查找记录模块,并且以后都互斥.如果在traceOptions中超过一个跟踪 记录模式,那最后一个的优先级最高.如果没有指明跟踪 记录模式,那么它默认为record-until-full.

在traceOptions中的参数被解析应用之前,查找参数初始化默认为 (record_mode设置为record-until-full,enable_sampling和enable_systrace设置为false).

contentTracing.stopRecording(resultFilePath, callback)

resultFilePathString
callbackFunction

停止对所有子进程的记录.

子进程通常缓存查找数据,并且仅仅将数据截取和发送给主进程.这有利于在通过 IPC 发送查找数据之前减小查找时的运行开销,这样做很有价值.因此,发送查找数据,我们应当异步通知所有子进程来截取任何待查找的数据.

一旦所有子进程接收到了stopRecording请求,将调用callback,并且返回一个包含查找数据的文件.

如果resultFilePath不为空,那么将把查找数据写入其中,否则写入一个临时文件.实际文件路径如果不为空,则将调用callback.

contentTracing.startMonitoring(options, callback)

optionsObject
categoryFilterString
traceOptionsString
callbackFunction

开始向所有进程进行监听.(monitoring)

一旦收到可以开始监听的请求,记录将会立马启动并且在子进程是异步记监听的. 当所有的子进程都收到startMonitoring请求的时候,callback将会被调用.

contentTracing.stopMonitoring(callback)

callbackFunction

停止对所有子进程的监听.

一旦所有子进程接收到了stopMonitoring请求,将调用callback.

contentTracing.captureMonitoringSnapshot(resultFilePath, callback)

resultFilePathString
callbackFunction

获取当前监听的查找数据.

子进程通常缓存查找数据,并且仅仅将数据截取和发送给主进程.

因为如果直接通过 IPC 来发送查找数据的代价昂贵,我们宁愿避免不必要的查找运行开销.

因此,为了停止查找,我们应当异步通知所有子进程来截取任何待查找的数据.

一旦所有子进程接收到了captureMonitoringSnapshot请求,将调用callback,并且返回一个包含查找数据的文件.

contentTracing.getTraceBufferUsage(callback)

callbackFunction

通过查找 buffer 进程来获取百分比最大使用量.当确定了TraceBufferUsage 的值确定的时候,就调用callback.

contentTracing.setWatchEvent(categoryName, eventName, callback)

categoryNameString
eventNameString
callbackFunction

任意时刻在任何进程上指定事件发生时将调用callback.

contentTracing.cancelWatchEvent()

取消 watch 事件. 如果启动查找,这或许会造成 watch 事件的回调函数 出错.

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟