msMemScope工具提供开放接口,帮助用户进行内存分析,识别内存问题。
analyzer类是msMemScope工具新增的离线分析模块,负责所有的离线分析功能。可以从msMemScope导入对应的analyzer分析类,实现内存泄漏分析和自定义低效内存识别。
msMemScope工具提供快速分析接口和基于analyzer类的离线分析两种方式,推荐使用快速分析接口。
快速分析接口
msMemScope工具提供快速分析接口,推荐直接使用快速分析接口进行离线分析,接口列表如所示。
表 1 接口列表 [object Object][object Object]
[object Object]undefined
analyzer类
可以直接从msMemScope工具导入analyzer类,进行离线分析,涉及的接口如所示。但是代码实现较为繁琐,不推荐使用该方式。
实现示例代码如下:
[object Object]表 2 analyzer类接口说明 [object Object][object Object]
[object Object]undefined
功能说明
该接口可输出msMemScope工具当前支持的所有内存分析类型,且支持用户打印。当前仅支持内存泄漏分析和低效内存识别。
函数原型
参数说明
返回值说明
运行后会输出当前msMemScope工具支持的内存分析类型。
调用示例
功能说明
该接口可查看运行对应内存分析类型需要输入的参数。
函数原型
参数说明
返回值说明
所有参数的字典,支持直接打印。
运行后会直接输出对应内存分析类型所需的入参信息。
调用示例
功能说明
msMemScope工具提供的对外分析接口。支持内存泄漏分析和自定义低效内存识别。
内存泄漏分析
提供对指定范围内的内存泄漏进行离线分析的功能,支持对msMemScope生成的落盘csv文件进行离线分析,并在检测到指定范围内的内存泄漏时触发告警。当前功能仅适用于HAL内存泄漏分析。
使用该接口前,需要在指定范围内通过mstx的mark进行打点,并使用msMemScope启动用户进程,以获取落盘csv文件。之后,通过该接口输入待分析的csv文件、打点信息以及起始index,即可进行离线泄漏分析。
自定义低效内存识别
支持输入自定义参数,对msMemScope生成的落盘csv文件或db文件进行离线低效内存识别。根据自定义参数规范,灵活设置低效内存识别的内存块阈值、关注的低效内存类型,以及临时闲置的API间隔时间,从而准确识别落盘的csv或db文件中的低效内存。
[object Object]
函数原型
参数说明
返回值说明
无返回值。
运行后会输出分析结果。
调用示例
功能说明
msMemScope工具对外提供内存泄漏快速分析接口。
函数原型
参数说明
返回值说明
无返回值。
运行后会直接打印显示内存泄漏分析结果。
调用示例
功能说明
msMemScope工具对外提供的自定义低效内存识别快速分析接口。
函数原型
参数说明
返回值说明
无返回值。
运行后会打印提示分析过程,并识别结果写入原文件中。
调用示例