Skip to main content

函数:set_stamp_trace_message

功能介绍

功能

当用户需要定位应用程序或上层框架程序的性能瓶颈时,可在Profiling采集进程内(acl.prof.start接口、acl.prof.stop接口之间)调用Profiling pyACL API扩展接口(统称为msproftx功能),开启记录应用程序执行期间特定事件发生的时间跨度,并将数据写入Profiling数据文件,再使用Profiling工具解析该文件,并导出展示性能分析数据。

Profiling工具解析导出操作请参见《性能分析工具使用指南》下的“Profiling数据解析”和“Profiling数据导出”。

接口调用方式:在acl.prof.startacl.prof.stop接口之间调用acl.prof.create_stampacl.prof.set_stamp_trace_messageacl.prof.markacl.prof.pushacl.prof.popacl.prof.range_startacl.prof.range_stopacl.prof.destroy_stamp接口。该方式可获取应用程序执行期间特定时间发生的事件并记录事件发生的时间跨度。

一个进程内,可以根据需求多次调用这些接口。

接口约束说明

父主题: Profiling pyACL API for Extension(Profiling pyACL API扩展接口)

函数:create_stamp

C函数原型void *aclprofCreateStamp()
Python函数stamp = acl.prof.create_stamp()
函数功能创建msproftx事件标记。后续调用函数:mark函数:set_stamp_trace_message函数:push函数:range_start接口时需要以描述该事件的指针地址作为输入,表示记录该事件发生的时间跨度。同步接口。 与函数:destroy_stamp接口配对使用,需提前调用函数:start接口。
输入说明
返回值说明stamp:int,指针地址。
- 返回0表示失败。
- 返回void类型的指针地址表示成功。
约束说明
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Extension(Profiling pyACL API扩展接口)

函数:set_stamp_trace_message

C函数原型aclError aclprofSetStampTraceMessage(void *stamp, const char *msg, uint32_t msgLen)
Python函数ret = acl.prof.set_stamp_trace_message(stamp, msg, msg_len**)**
函数功能为msproftx事件标记携带字符串描述,在Profiling解析并导出结果中msprof_tx summary数据展示。同步接口。 Profiling解析并导出结果请参见《性能分析工具使用指南》下的“性能数据文件参考>msproftx数据说明”。
输入说明stamp:int,Stamp指针地址,指代msproftx事件标记。指定函数:create_stamp接口的指针地址。 msg:int,字符串内容地址。 msg_len:int,字符串长度。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明函数:create_stamp接口和函数:destroy_stamp接口之间调用。
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Extension(Profiling pyACL API扩展接口)

函数:mark

C函数原型aclError aclprofMark(void *stamp)
Python函数ret = acl.prof.mark(stamp)
函数功能msproftx标记瞬时事件。同步接口。 调用此接口后,Profiling自动在Stamp中加上当前时间戳,将Event type设置为Mark,表示开始一次msproftx采集。
输入说明stamp:int,Stamp指针地址,指代msproftx事件标记。指定函数:create_stamp接口的指针地址。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明函数:create_stamp接口和函数:destroy_stamp接口之间调用。
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Extension(Profiling pyACL API扩展接口)

函数:push

C函数原型aclError aclprofPush(void *stamp)
Python函数ret = acl.prof.push(stamp)
函数功能msproftx用于记录事件发生的时间跨度的开始时间。同步接口。 调用此接口后,Profiling自动在Stamp中记录开始的时间戳,将Event type设置为Push/Pop。
输入说明stamp:int,Stamp指针地址,指代msproftx事件标记。指定acl.prof.create_stamp接口的指针地址。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明- 与函数:pop接口成对使用,表示时间跨度的开始和结束。
- 不能跨线程调用,若需要跨线程可使用函数:range_start/函数:range_stop接口。
- 在函数:create_stamp接口和函数:destroy_stamp接口之间调用。
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Extension(Profiling pyACL API扩展接口)

函数:pop

C函数原型aclError aclprofPop()
Python函数ret = acl.prof.pop()
函数功能msproftx用于记录事件发生的时间跨度的结束时间。同步接口。 调用此接口后,Profiling自动在Stamp中记录采集结束的时间戳。
输入说明
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明- 与函数:push接口成对使用,表示时间跨度的开始和结束。
- 不能跨线程调用。若需要跨线程可使用函数:range_start/函数:range_stop接口。
- 在函数:create_stamp接口和函数:destroy_stamp接口之间调用。
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Extension(Profiling pyACL API扩展接口)

在线提单