跳到主要内容

使用HiSmartPerf采集jsvm trace

简介

jsvm的trace是jsvm引擎提供的一种用于分析和调试JavaScript代码执行过程的工具。它可以记录并输出关于代码执行的详细信息,包括函数调用、执行时间、内存使用情况等,帮助开发者了解代码的性能、诊断潜在问题,进行优化。

HiSmartPerf目前已经对接了jsvm的compile、runtime、builtin、JS_Execution类别的trace点,可以在HiSmartPerf中直接看到这些类别event的相关信息。

使用方法

默认状态

jsvm是否采集trace由运行时开关“web.debug.rcs”控制,默认状态下该开关为关闭状态。启动web场景,在hilog中可以观察到有“RCS is off”日志打印输出。

采集jsvm trace

  1. 要采集jsvm的trace,需要在启动web场景前,打开“web.debug.rcs”开关。在启动web场景前,执行以下命令:

    hdc shell setenforce 0
    hdc shell param set web.debug.rcs true
  2. 启动web场景,可以看到hilog中有“RCS is on”的日志打印输出

  3. 使用hitrace工具抓取对应场景的trace,hitrace使用方法可参考hitrace使用指导文档。

  4. 使用HiSmartPerf工具解析抓取到的trace,可以看到有“RCS_”前缀的trace点,即为jsvm对接到HiSmartPerf中的trace点。

  5. 要查看compile、runtime、builtin、JS_Execution不同类别的trace数据,可使用以下关键字进行过滤:

    • compile:RCS_v8.compile
    • runtime:RCS_V8.Runtime
    • builtin:RCS_v8.runtime_V8.Builtin
    • JS_Execution:RCS_JS_Execution