6. 希姆计算stc-vprof使用说明

6.1. 版本历史

版本 对应产品版本 作者 日期 描述
V1.7.1 STCRP V1.5.1 希姆计算 2024-01-15 配套HPE V1.7.0的功能验证文档。
V1.7.0 STCRP V1.4.0 希姆计算 2023-03-21 配套HPE V1.6.0的功能更新文档,其中包括: 增加消息通知。
启动时stc-vprof.properties校验。
导入多个文件时支持中断取消。
Project Summary增加详细信息。
通用配置界面增加文件导入是否弹窗时间范围选择框。
工具栏设置界面支持可调节顺序并保存。
代码编辑器支持Clangd语言服务。
V1.6.0 STCRP V1.3.0 希姆计算 2023-01-16 补充HPE V1.5.0的功能,其中包括: 提供hc文件、json文件简单代码编辑界面。
国际化支持。
中英文切换。
虚拟机内存监控。
resoure cache merge功能。
增加阈值调节方式开启缓存。
远程文件增加hc、json、log类型下载。
V1.5.0 STCRP V1.2.0 希姆计算 2022-11-24 配套HPE V1.5.0的功能更新文档: 支持启动时过滤功能。
gem5 log文件转换格式。
核函数对比。
正则表达式搜索。
导入文件树结构。
新增一对垂直标尺参考线。
Resource 菜单导入功能。
数据储存目录配置。
V1.4.0 HPE 1.4.0 希姆计算 2022-08-29 配套HPE V1.4.0的功能更新文档: 支持远程采样。
回传显示。
调整新建项目布局以及工具栏设置。
添加session菜单。
V1.3.0 HPE 1.3.0 希姆计算 2022-07-07 配套HPE V1.3.0的功能更新文档: 支持更多启动参数。
带参数执行目标程序。
支持执行TensorTurbo模型用例。
显示执行日志。
切换全屏模式。
切换皮肤。
V1.2.0 HPE 1.2.0 希姆计算 2022-04-11 初始对外版本。

6.2. 概述

stc-vprof(Stream Computing Visual Profiler)是希姆计算推出的可视化性能分析工具,您可以使用stc-vprof加载本地或远程服务器的目标程序获取性能分析结果,查看程序各阶段的耗时以及包含的指令等,并支持查看多个阶段的汇总数据、核函数数据等信息。此外,工具还支持gem5日志文件转换、hc文件代码编辑、管理性能分析资源、多语言切换等功能。

6.3. 前提条件

  • 服务器已安装JDK 11或以上版本。

  • 服务器已安装HPE V1.7.0或以上版本。

  • 如果需要执行TensorTurbo测试用例,请确保服务器已安装TensorTurbo V1.12.0。

说明:安装HPE与TensorTurbo的具体的步骤,请参见希姆计算异构环境安装指南

6.4. 启动stc-vprof

  1. 登录服务器,stc-vprof支持显示图形界面,可使用远程连接的方式登录,例如可通过MobaXterm登录。

  2. 前往stc-vprof可执行文件所在的目录。

    $ cd /usr/local/hpe/bin
    
  3. 启动stc-vprof。

    $ stc-vprof
    

6.5. 界面简述

stc-vprof工具用户界面主要分为四部分:菜单栏、Project Explorer、分析结果页面和状态栏。

img

6.6. 管理项目和分析结果

6.6.1. 新建项目并采集数据

  1. 菜单栏选择File > New Project,或左侧Project Explorer空白处右击并选择New Project

  2. Server下拉框选择本地或远程服务器。

    • 若新建本地项目,选择localhost connection下的本地服务器。

    • 若新建远程项目,选择SSH connections下的已添加的远程服务器,单击右侧Connect连接服务器,输入密码完成验证,图标变为绿色表示连接成功。此外,单击右侧Manage管理最近连接的远程服务器。在弹窗内,可对远程服务器连接进行新建、删除、编辑、连接服务器等操作。单击Create a new connection,填入远程服务器的hostname或ip地址、端口和用户名,新建新连接。

      img

  3. 点击open,选择目标程序。目前工具支持c、cpp、hc文件、hc编译后的二进制elf文件和基于TensorTurbo执行的模型测试用例。

    说明:若选择的目标程序为c、c++、hc文件时,点击下方出现的目标程序链接,将弹出一个代码编辑器。详细介绍可参考更多功能中的代码编辑器章节

  4. 根据需求在Args右侧选择执行程序的参数(如不需要,可不选)。

  5. 根据需求在Collect profiling data下拉菜单选择分析结果页面展示的数据类型。

    说明:其中可选择Host trace data(默认必选项,trace数据)、Kernel function data(核函数数据)、Streams data(流数据)、Npc data(npc数据)、Range data(自定义埋点)。

  6. 根据需求勾选stcpti选项,是否执行preload库。

  7. 单击start,执行目标程序,采集并显示性能分析结果。采集时,项目文件、分析结果、日志文件都会存到本地。状态栏中显示文件路径及是否使用缓存的提示语。

  8. 点击view log,查看运行日志和报错。

img

6.6.2. 打开项目或分析结果

左侧Project Explorer面板中选中最近打开的文件项目(Project)或分析结果(Report),右键并单击Open,再次打开项目或分析结果。

img

6.6.3. 删除项目或分析结果

左侧Project Explorer面板中选中一个或多个最近打开的文件项目(Project)或分析结果(Report),右键并单击Remove,删除项目或分析结果。

  • 标签栏中选中项目(Project)或分析结果(Report),单击关闭按钮。

  • 菜单栏单击File > Close <编辑器当前页面名>

  • 标签页中右键点击项目(Project)或分析结果(Report):

    • 单击Close,可关闭当前项目(Project)或分析结果(Report)。

    • 单击Close All Tabs,可关闭所有打开的项目(Project)或分析结果(Report)。

    • 单击Close Other Tabs,只保留右键对应页面,其他的项目(Project)或分析结果(Report)关闭。

img

6.6.4. 导入项目或分析结果

导入项目或分析结果时:

  • 菜单栏单击File > Import Report。选择需要导入的一个或多个文件。

  • 菜单栏单击File > Import Recent。选择最近导入过的文件。

    说明:目前只记录通过Import Report导入的资源文件路径,最多记录5条,且记录顺序按导入时间从近到远进行排序。

  • 菜单栏单击File > Download & Import Remote Report。下载导入远程服务器上的文件。在弹出对话框中填写远程服务器地址、用户名和密码后,点击open连接远程服务器。连接成功后,选择需要导入的一个或多个文件。

img

导入过程中,点击cancel,可中断导入进程,结果页面将会显示已加载的内容。

img

6.7. 管理性能分析资源

性能分析资源的包括数据库文件(DB)、日志文件(Logs)、缓存文件(Cache)、项目文件(Project)和Json文件。单击Resource > <对应类型的性能分析资源>,可对相应类型的资源进行导入和删除操作。此外,缓存文件(Cache)还支持合并操作。

说明: 日志文件(Logs)不支持导入操作。

工具还支持管理远程服务器上的相关性能分析资源。单击Resource > Remote,连接远程服务后,对相应类型的资源的操作与本地性能分析资源步骤类似。

6.7.1. 导入性能分析资源

下面以数据库文件(DB)为例,介绍导入操作。

  1. 菜单栏单击Resource > DB,显示本地所有的DB文件。

  2. 勾选需要导入的DB文件。您还可以进行以下的操作:

    • 上方文本框输入字符,显示匹配到关键字的资源名称。

    • 右侧查看DB文件的总数量和已选DB文件的数量。

    • 右侧选中Only Show Selected,仅显示已选中的DB文件。

    • 右侧单击Selected All快速全选,或单击UnSelected All取消全选。

  3. 单击import,导入勾选的文件。

  4. 导入成功后,状态栏中显示文件路径及是否使用缓存的提示语。

说明:仅支持导入系统内部生成的文件,一般为显示/<user_dir>/stcvprof/文件夹下对应的类型的文件。

img

6.7.2. 清理性能分析资源

下面以数据库文件(DB)为例,介绍删除操作。

  1. 菜单栏单击Resource > DB,显示本地所有的DB文件。

  2. 勾选需要删除的DB文件。您还可以进行以下的操作:

    • 上方文本框输入字符,显示匹配到关键字的资源名称。

    • 右侧查看DB文件的总数量和已选DB文件的数量。

    • 右侧选中Only Show Selected,仅显示已选中的DB文件。。

  3. 单击delete,删除勾选的文件。

说明:仅支持导入系统内部生成的文件,一般为显示/<user_dir>/stcvprof/文件夹下对应的类型的文件。

img

6.7.3. 开启缓存配置

针对文件较大的情况,可通过配置项选择开启缓存机制,当再次打开文件时,可自行选择是否从历史缓存中获取。

  1. 配置项页面中的General CFG中勾选cache,并设置缓存开启阈值。阈值默认值为500MB。启动配置文件中设置为BUFFER_THRESHOLD=500。

  2. 文件导入加载时,触发缓存机制后生成缓存,并在标签页上文件名后增加**+****cache**标识。

说明:若导入的文件为json文件或log文件,可在弹出的对话框内自行选择数据的起止时间以及是否从缓存中加载。

  • 勾选is from history cache,工具从缓存中加载对应的结果文件导入,在标签页上文件名后会增加cache标识。

  • 不勾选is from history cache,工具直接加载文件,同时生成缓存。在标签页上文件名后增加**+cache**标识。

6.7.4. 合并缓存文件

工具提供合并两个相同类型(log文件、json文件)的缓存文件的功能。

  1. 菜单栏单击Resource > Caches,显示本地所有的缓存文件。

  2. 勾选两个相同类型文件。

  3. 单击merge按钮,合并两个缓存文件。合并成功后,状态栏中显示文件合并完成。

说明:合并后的新文件是以第一个目录名称+“&”+第二个目录名称来命名的,例如:perf-1.log&perf-2.log。

img

6.8. 查看性能分析结果

6.8.1. 分析结果页面简述

性能分析结果页面中包含了工具栏、设备列表、时间轴图表、属性列表,如下所示:

img

以查看tid_3459943(kernel)为例:

  1. 在设备列表区域,选择cpu&npuprofile > proess_3459943 > tid_3459943(kernel)

  2. 在时间轴图表区域,自动同步以浅蓝色高亮显示tid_3459943(kernel)的时间轴,方便查看各阶段的耗时。支持高亮显示已选中的阶段、放大缩小时间轴范围等操作,以便更直观清晰地查看相关信息。以选中其中一个matmul操作为例:

    img

  3. 属性列表区域,自动同步显示已选中操作的各项属性,包括起始时间、结束时间、资源、指令等。

    img

  4. 单击tid_3459943(kernel)的父节点proess_3459943,则收起其包含的节点,时间轴图表自动同步以浅蓝色高亮显示proess_3459943的时间轴。

6.8.1.1. 调整分析结果页面尺寸

菜单栏中,选择View > SmallView > Large可以调整分析结果页面尺寸:

  • Small视图:左侧设备列表及右侧时间轴图表的高度为24像素。

  • Large视图:左侧设备列表及右侧时间轴图表的高度为44像素。

说明:分析结果页面的尺寸默认为Small视图。

img

6.8.1.2. 全屏模式

菜单栏中选择View > Full Screen进入全屏模式,全屏模式下收起左侧的Project Explorer面板并且仅保留当前的标签页,分析结果显示的区域更大。再单击页面右上角的缩小按钮即可返回常规模式。

img

6.8.2. 设备列表

设备列表中列出了运行程序时的进程和设备信息。您可以选择节点,然后在时间轴图表、属性列表中查看相应的分析结果。

以下图为例,设备列表所包含节点的含义为:

  • tid_1095219:主机端Host CPU Trace。

  • stream_0(cluster_0):执行核函数时所在的流。

  • tid_1095219(kernel):核函数。

  • npc_0~npc_7:在设备端使用的NPC。对STCP920,每个cluster包含8个NPC。

img

6.8.3. 时间轴图表

时间轴图表中显示了运行程序时各阶段的耗时等信息。您可以选择图形bar查看详细信息,同时支持放缩图形bar、多选、查看核函数并行度等操作。选择图形后会以橘黄色高亮显示该阶段,并在属性列表中显示其属性信息。

6.8.3.1. 缩放条形图

工具支持针对单个条形图和多个条形图进行操作,缩放条形图后可以拖动下方滚动条查看各时间范围内的条形图。

  • 针对单个条形图,将鼠标悬浮在待放缩的图形上,滚轮上滚放大图形,滚轮下滚缩小图形,时间轴会同步按比例放缩。

  • 针对多个条形图,拖动鼠标框选多个条形图即可同时放大范围内的条形图。

此外,工具还支持键盘快捷键进行缩放。英文输入模式下,按压键盘A时间轴往左滑动,按压键盘D时间轴往右滑动,按压键盘W时间轴放大,按压键盘S时间轴缩小。

img

6.8.3.2. 查看核函数并行度

工具支持查看核函数的并行度,核函数并行有利于加快处理效率。

  1. 图表里,右击选中核函数线程所在行。

  2. 单击NPC PAL,查看并行度柱形图。柱形图中列出了每个NPC上计算的并行度,并支持切换以下模式:

    • PAL(ALL):并行执行MTE、MME、VME指令的并行度,即wall-clock time的占百分比。

    • PAL(MTE/MME):并行执行MTE、MME指令的并行度,即wall-clock time的占百分比。

    • PAL(MTE/VME):并行执行MTE、VME指令的并行度,即wall-clock time的占百分比。

    • PAL(VME/MME):并行执行MME、VME指令的并行度,即wall-clock time的占百分比。

img

6.8.3.3. 对比核函数时间轴数据

当多文件对比时,工具支持核函数执行数据锚点时间轴上下对齐,提供两个report的Timeline数据对比功能,方便对比时间轴图表。

  1. 生成两个用于对比的报告页面,拖动其中一个报告页面,使其上下分屏放置。

  2. 在菜单栏单击Compare > Show ComparePanel,页面底部出现ComparePanel, 最左是**<按钮,中间是滑动面板,最右是>**按钮。

  3. 点击底部的ComparePanel两侧按钮后,分屏时间轴自动根据上分屏对齐,并左右移动。ComparePanel滑动面板左右拖动时,上下分屏对齐左右移动报告视图。

  4. 点击菜单栏Compare > Hide ComparePanel后底部ComparePanel操作图标隐藏显示。

img

6.8.3.4. 对比核函数数据(npc/cycle)

工具支持核函数数据(npc/cycle)对比,提供核函数运行参数的对比功能。

  1. 鼠标框选模式在Pan以外的任意模式中,右键单击选中的npu核函数,显示NPC Compare菜单及其子菜单SourceTarget

  2. 点击Source,设定选中的核函数为Source内容,左侧显示对应核函数信息。

  3. 再选择其他NPC的核函数块右键点击NPC Compare > Target,设定为Target内容,右侧显示对应核函数信息。

  4. 设置Source和Target对应的npu核函数后,弹窗中勾选Syn Scroll复选框后,滑动左侧框中内容,右侧框中的内容会同步滑动。不勾选Syn Scroll复选框时,可分别单独滑动查看左右两侧框中的内容,左右两边内容不联动。

img

6.8.4. 属性列表

属性列表中列出了所选bar中包括的操作。属性列表中,您可执行以下任一操作:

  • 属性列表中,单击某个操作,右侧会显示各项属性,包括起始时间、结束时间、资源、指令等。若单击的是某个核函数块,勾选BarChart复选框,可切换条形图显示。

  • 属性列表中,右键某个操作,单击Show current on timeline,反向定位到图表中。

  • 搜索框中关键字,单击Search,检索到的数据高亮显示在列表中,点击上下箭头可以切换选中搜索结果。点击圆形图标可在时间轴图表中高亮所有搜索结果。

img

6.8.5. 工具栏

6.8.5.1. 切换信息显示

选择工具栏中的下拉框,然后执行以下任一操作:

  • 如果查看分析结果的甘特图,请选择Timeline View

  • 如果查看项目信息(summary,local envirment,stop reason),请选择Summary

  • 如果查看项目日志信息,请选择Log

说明:若导入非.properties(如:db文件、json文件),只有能查看分析结果的甘特图。

img

6.8.5.2. 检索关键字

  1. 工具栏的搜索框中输入关键字,单击search

  2. 高亮显示检索到的行或bar,时间轴图表和属性列表也会同步显示其信息。

  3. 单击 <> 切换至其他下一个搜索结果。

说明:关键字大小写敏感,支持模糊查询和正则表字符串。

img

6.8.5.3. 调节行间距

选择工具栏中Vertical spacing的下拉框,选择行间距。

img

6.8.5.4. 切换鼠标框选模式

选择工具栏中Marquee的下拉框,然后执行以下任一操作:

  • 选择Selection:拖动鼠标框选多个bar,查看多个bar的汇总信息。

    说明:当所选过多时,在等待统计过程中边框底部进度条显示当前统计进度。

  • 选择Zoom:拖动鼠标框选图表内容,选取的内容被放大。

  • 选择Pan:按住左右键,鼠标图标变成一个小手模样后,可对图表进行左右的拖动。

  • 选择Duration:冻结图表窗口框选的范围,并显示所选范围时间长度。

    说明:释放鼠标后除非用W\S快捷键否则不会改变图表时间轴的开始结束范围。

img

6.8.5.5. 切换时间轴展示方式

选择工具栏中Format的下拉框,然后执行以下任一操作:

  • 选择**Number:**时间轴刻度展示单位为ms,向上滚动鼠标滚轮可以放大时间轴刻度,时间轴刻度单位会依次变为ms/us/ns。

  • 选择**Time:**时间轴刻度单位为mm:ss,向上滚动鼠标滚轮可以放大时间轴刻度,时间轴刻度单位会变为mm:ss:sss。继续放大时间轴刻度,时间轴刻度单位会变成ms/us/ns。

img

6.8.5.6. 垂直标尺参考线

  1. 单击Show Ruler为选中状态时,鼠标移动到图表中,将会出现一条移动的垂直标尺参考线,时刻跟随鼠标。

  2. 点击图表后,创建一条红色垂直标尺的参考线A,参考线顶部显示所对应的时间轴值。

  3. 再次点击图表的其它地方,出现另一条红色垂直标尺的参考线B。若再次点击时,将会创建一条新的红色垂直标尺的参考线C,而参考线A将会消失。

img

6.8.5.7. 恢复默认状态

单击Restore,时间轴图表恢复到默认状态。

6.8.5.8. 显示或隐藏工具栏

选择菜单栏中View,然后执行以下任一操作**:**

  • 如果隐藏工具栏,请选择Hide Toolbar

  • 如果显示工具栏,请选择Show Toolbar

6.8.5.9. 定制工具栏

  1. 菜单栏中选择View > Custom Toolbar

  2. 打开工具栏配置窗口,您可执行以下操作:

    • 勾选需要显示或隐藏的工具栏条目。

    • 单击上下按钮,对工具栏条目进行位置顺序移动。单击重置按钮,恢复工具栏条目的默认顺序和全选状态。

  3. 单击**Apply and Close,**对定制后的工具栏进行保存及应用。

img

6.9. 更多功能

6.9.1. 更改新建项目页面布局

新建项目页面中:

  • 单击居中布局,布局会切换为居中布局。

  • 单击左右布局,布局会切换为左右布局,左侧显示项目选项栏,右侧显示开始按钮。

img

6.9.2. Gem5日志文件转换

工具支持将gem5生成的log文件转换成json文件或者缓存文件。

  1. 菜单栏中选择Resource > Gem5log > Gem5log to json/Gem5log to cache

  2. 弹出的对话框中,执行以下任一操作:

    • 单击Open,选择需转换的Gem5 log文件。

    • 单击Save,选择转换后json/cache文件的存放地址,默认地址为stc-vprof工具目录下的json/cache文件夹。

  3. 日志文件列表中,勾选一个或多个转换的文件。

    说明:最多勾选10个日志文件进行转换。转换成cache文件时, 限制选择的文件总大小不能超过5GB。

  4. 单击Start,开始转换文件格式,转换成功后,状态栏中提示转换成功。在转换过程中,单击Stop,停止转换任务,再次单击Start,停止的任务再次从头开始转换。

说明:当转换文件超过5个时,工具会先并发执行前5个文件,剩下的文件自动进入等待队列,待有任务完成或暂停时,自动从等待队列中获取任务继续执行。

img

6.9.3. 代码编辑器

当目标程序为hc文件时,工具提供了一个hc文件代码编辑器。您可以使用该编辑器对源文件代码进行编辑、编译、运行等操作。代码编辑器包括以下操作:

操作 描述
File > save 保存当前代码文件。
Search > Find 搜索字符串,其中包括大小写匹配、正则匹配和全词匹配三种匹配模式;正序、逆序和循环查找三种查找顺序模式;标记匹配结果功能;输入框支持保留历史记录等功能。
Search > Replace 搜索并替换字符串,支持单个替换和全部替换。
Search > Go To Line 输入行号,快速定位到指定行。
View 编辑器代码配置。
Style 编辑器皮肤风格。
Setting > Language Server 添加语言服务。配置Clangd语言服务,指定Clangd的路径后,可在代码编辑器内使用代码提示,代码校验、代码补全等功能。
Setting > Compile Prefer 打开首选项编译配置界面,支持自定义配置编译命令行,可对编译命令进行修改、重置、保存。
Help > Shortcut Key 查看快捷键。
Help > About RSyntaxTextArea 查看RSyntaxTextArea控件license。
stcpti insert 在文件中智能添加stcpti代码。
compile 编译当前hc文件,编译结果显示在输出窗口。
profiler 运行当前hc文件, 成功后在分析结果页面显示性能分析结果。

说明:对于本地的hc文件,支持源代码编辑和Clangd语言服务功能,而远程服务器上的hc文件,只支持代码编辑功能。

您在使用过程中,编辑器的相关提示信息会出现在下方的控制台里,右键单击C****lear,清除控制台内信息。

img

6.9.4. 工具皮肤

菜单栏中选择Tools > Options > LookFeel,根据您的喜好选择工具皮肤,目前支持Light(默认)、Dark、Metal、System。下图为Dark皮肤示例:

img

6.9.5. 内存监控

菜单栏中选择View > Memory Indicator,工具界面的右下角状态栏中会出现内存指示器,显示工具使用的内存与JVM内存情况。

img

6.9.6. 多语言切换

菜单栏中选择Tools > Options > Language,可自行切换工具显示语言。目前工具默认语言为英文。

img

6.9.7. 导出核函数的运行数据

  1. Project Explorer中选中导出数据所属的Report,右键单击Export Excel

  2. 对话框的左侧Kernel Functions中,显示Report中包含的NPC核函数实例。

  3. 选取需要导出的核函数实例,点击**>>,放到右侧Export Result中。点击<<,选取的核函数重新放回左侧Kernel Functions**栏中。

    说明:工具还支持在Filter输入框中输入特定字符筛选包含该字符串的核函数实例。点击Clear Filter,所有核函数重新显示。

  4. 单击OK,选择保存csv文件的地址和文件名。

  5. 单击Save,导出核函数的运行数据。

img

6.10. 配置项说明

菜单栏中单击Tools > **Default Settings,**打开可视化配置项页面。其中包括通用配置、渲染配置、SSH配置、字体配置和路径配置。

  • 通用配置(General CFG)中配置项有LOAD_DATA_MODE、CACHE、CHECKSUM和SHOW_TIME_SCOPE,各项详细介绍请参考启动配置的各项说明。

  • 渲染配置(Render CFG)中配置项有GAP、HW_ACCELS、TID_RENDER_SAMPLES和PRE_COUNT,各项详细介绍请参考启动配置的各项说明。

  • 远程配置(SSH CFG)中主要包括所有的远程连接列表。

  • 字体配置(Font CFG)中主要配置项是Timeline View、Summary和Log显示的字体和字号。

  • 路径配置(Path CFG)中主要配置项是生成文件存储路径,主要包括DB文件、远端连接下载的文件、日志文件、临时缓存文件、json文件的储存路径。默认存放在/<user_dir>/stcvprof/下对应的文件夹里。

说明:选择的储存路径权限受限时,输入框出现红边提示。

配置项各项说明如下:

配置项 说明
LOAD_DATA_MODE standard(默认):标准模式,对应启动配置文件的LOAD_DATA_MODE=1。标准模式下,从多个数据文件加载数据后,每个数据文件都在内存中独立存在互不影响,在服务器内存充足的情况下可以提升stc-vprof的响应速度。
singleton:单窗口模式,对应启动配置文件的LOAD_DATA_MODE=0。单窗口模式下,从多个数据文件加载数据后,内存中始终只保留最近一次加载的数据,stc-vprof通过切换数据源获取渲染视图所需的数据,在主机内存不充足的情况下可以有效避免因数据文件过大造成的内存溢出。
CACHE 选中cache:开启缓存,对应启动配置文件的STARTUP_CACHE=1。开启缓存时,stc-vprof会使用主机的虚拟内存来保存从数据文件中加载的数据,并将一部分数据加载到内存中。
未选中cache(默认):不开启缓存,对应启动配置文件的STARTUP_CACHE=0。
CHECKSUM 选中checksum:开启MD5校验,对应启动配置文件的CHECK_MD5=1,其中name和size为必选项,可选择是否使用MD5来检验文件内容是否改变。开启校验后,导入数据文件时进行MD5校验 ,如果两次数据文件相同,则会使用缓存数据文件。如果不一致,则会重新加载数据文件。
未选择checksum(默认):不开启MD5校验,对应启动配置文件的CHECK_MD5=0。
GAP 选中automatic(默认):自动调节GAP,对应启动配置文件的AUTO_DATA_GAP=1。自动调节GAP时,stc-vprof会自动调节分析结果页面中设备列表和时间轴图表的上下间距。
未选中automatic:手动调节GAP,对应启动配置文件的AUTO_DATA_GAP=0。
HW_ACCELS 选中opengl:开启硬件加速,对应启动配置文件的HW_ACCELS=1。开启硬件加速时,stc-vprof在渲染分析结果页面时会启用OpenGL硬件加速功能,从而提升渲染效率。
未选中opengl(默认):不开启硬件加速,对应启动配置文件的HW_ACCELS=0。
TID_RENDER_SAMPLES 渲染时间轴图表时使用的数据采样率,采样率越大渲染出的图形越精细,在甘特图长度很短时也能正常显示。默认为500,对应启动配置文件的TID_RENDER_SAMPLES=500。目前采样率支持500、600、700、800、900、1000。
PRE_COUNT Timeline渲染时时间轴预渲染长度。默认值为5,取值范围为5-50。
HOSTS 远程主机连接信息,多台主机中间用逗号隔开。例如:HOSTS= [email protected],[email protected]
ACTIVE_THEME 当前使用中的主题编号,0-Light、1-Dark、2-Metal、3-System。例如:ACTIVE_THEME=0
TOOLBAR 当前Report界面显示的工具条中的工具项、1-显示、0-隐藏,多个工具项中间用逗号隔开,其中排列顺序从左到右对应工具栏配置页面的从上到下。例如:TOOLBAR=view\:1,search\:1,vertical spacing\:1,marquee\:1,format\:1,restore\:1
SHOW_TIME_SCOPE 选中show time scope(默认):导入json文件或者日志文件时,开启时间范围选择框,自行选择需要加载的时间段内的文件内容。对应启动配置文件的SHOW_TIME_SCOPE。
未选择show time scope:导入json文件或者日志文件时,不开启时间范围选择框。对应启动配置文件的SHOW_TIME_SCOPE。

保存可视化配置页面中修改的配置项,自动会更新到配置文件中,配置文件为在/<user_dir>/stcvprof/conf/stc-vprof.properties。也可自行修改配置文件,重新打开stc-vprof工具配置项生效。

若删除配置文件,再次打开stc-vprof工具时,在原位置新建默认启动配置文件,工具的配置页面中的配置项也会被初始化。其中默认启动配置如下:

# 0:单窗口式,1:标准模式
LOAD_DATA_MODE=1
# 0:手动调节GAP,1:自动调节GAP
AUTO_DATA_GAP=1
# 0:没有开启缓存,1:开启缓存
STARTUP_CACHE=0
# 0:没有开启硬件加速,1:开启硬件加速
HW_ACCELS=0
# 500~1000,每个tid的最大采样渲染数量
TID_RENDER_SAMPLES=500

6.11. 常见问题

  • 目前stc-vprof工具还提供查看用户手册功能,目前该功能属于试用功能,可保证基本功能但是没有经过完整测试,如有兴趣请联系希姆计算技术支持获取详细使用说明。

  • 单台服务器同时只允许启动一个界面。如果已启动了stc-vprof,再次尝试启动时会出现以下报错。

img

  • 如果文件类型不匹配,例如新建项目时选择并执行分析结果文件(.db、.json),则出现以下报错。分析结果文件(.db、.json)应该通过导入项目的形式打开,新建项目时需要选择可执行的目标程序,例如Python脚本、C++执行程序等。

img