From 1e2110c7183ec28410cd93e40c421c5641624855 Mon Sep 17 00:00:00 2001 From: zhangsizheng Date: Mon, 28 Apr 2025 15:14:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3use-jsvm-ab?= =?UTF-8?q?out-v8-trace.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangsizheng --- zh-cn/application-dev/napi/Readme-CN.md | 2 ++ .../napi/use-jsvm-about-v8-trace.md | 29 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 zh-cn/application-dev/napi/use-jsvm-about-v8-trace.md diff --git a/zh-cn/application-dev/napi/Readme-CN.md b/zh-cn/application-dev/napi/Readme-CN.md index f8a5a1fbd99..7dcd3a01229 100644 --- a/zh-cn/application-dev/napi/Readme-CN.md +++ b/zh-cn/application-dev/napi/Readme-CN.md @@ -96,6 +96,8 @@ - [使用JSVM-API接口创建多个引擎执行JS代码并销毁](use-jsvm-runtime-task.md) - [使用 code cache 加速编译](use-jsvm-about-code-cache.md) - [JSVM 通用调优实践](jsvm-optimizations.md) + - JSVM性能调试指导 + - [使用HiSmartPerf采集V8 trace](use-jsvm-about-v8-trace.md) - OpenMP支持 - [OpenMP简介](openmp-overview.md) - [OpenMP应用构建和运行指南](openmp-guideline.md) diff --git a/zh-cn/application-dev/napi/use-jsvm-about-v8-trace.md b/zh-cn/application-dev/napi/use-jsvm-about-v8-trace.md new file mode 100644 index 00000000000..8fd61dab58d --- /dev/null +++ b/zh-cn/application-dev/napi/use-jsvm-about-v8-trace.md @@ -0,0 +1,29 @@ +# 使用HiSmartPerf采集V8 trace + +## 简介 + +V8 的 trace 是 V8 引擎提供的一种用于分析和调试 JavaScript 代码执行过程的工具。它可以记录并输出关于代码执行的详细信息,包括函数调用、执行时间、内存使用情况等,帮助开发者了解代码的性能、诊断潜在问题,进行优化。 + +HiSmartPerf 目前已经对接了 V8的 compile、runtime、builtin、JS_Execution 类别的 trace 点,可以在 SmartPerf 中直接看到这些类别 event 的相关信息。 + +## 使用方法 + +### 默认状态 +V8 的 trace 是否采集通过运行时开关“web.debug.rcs”控制。默认状态下该开关为关闭状态。启动 web 场景,在 hilog 中观察到有“RCS is off”日志打印出。 + +### 采集 V8 trace +1. 要采集 V8 的 trace,需要在启动 web 场景前,打开“web.debug.rcs”开关。 +2. 在启动 web 场景前,执行以下命令: + +``` cpp +hdc shell setenforce 0 +hdc shell param set web.debug.rcs true +``` +3. 启动web场景,可以看到 hilog 中有“RCS is on”的日志打印出 +4. 使用 hitrace 工具抓取对应场景的 trace。hitrace使用方法可参考[hitrace使用指导文档](../dfx/hitrace.md)。 +5. 使用 SmartPerf 工具解析抓取到的 trace,可以看到有“RCS_”前缀的 trace 点,即为 V8 对接到 HiSmartPerf 中的 Trace 点。 +6. 要查看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 \ No newline at end of file -- Gitee