如何通过Tracealyzer导出的跟踪数据对任务进行分析?

描述

Tracealyzer是Percepio 公司开发的一款用于RTOS的可视化跟踪工具, 目前Tracealyzer提供了30多种相互关联的运行时行为视图,对系统运行时的行为提供了前所未有的洞察方法。能够帮助开发人员加快固件的开发,减少对系统验证和性能优化所需要的时间。

Tracealyzer流模式下支持记录长时间的Trace数据,如果仅仅在跟踪视图中手动滑动来浏览所记录的大量事件的话,效率将非常低,此外如果想对所有的数据进行更复杂的分析处理也不方便,因此Tracealyzer软件中的很多视图都支持将Trace到的数据结果以文本的形式进行导出,导出后的数据将更便于进行分析。

例如Actor Instance  Graphs视图中的数据,我们以响应时间Response Time为例,响应时间所对应的曲线中存在一个明显的高点,该位置对应的任务响应时间比其他时间要高出很多。在该位置的响应时间为32毫秒95微秒。曲线中其他位置对应的数据也不需要一个个将鼠标挪到该位置然后再通过右侧的窗口来查看具体的时间。

cpu

可以将曲线中所对应的时间数据通过view->Export to File选项以csv格式的文件进行导出。

cpu

导出后的数据如下,文件中左侧数据为对应的时间戳的位置,右侧为该时间戳所对应的任务响应时间。支持以csv文件的形式导出整个Trace记录的数据,例如当你记录了一个小时的跟踪数据,需要找到所有响应时间异常的数据,那么简单对右侧的响应时间数据进行排序即可快速找到对应位置,而不需要从一个小时的响应时间曲线视图中来手动定位。

cpu

除了Actor Instance  Graphs视图提供了数据导出功能,还可以使用File->Export Actor Data选项以文本形式导出所选择任务的一个概览数据,对这些数据进行分析可以帮助我们更好的理解任务的运行。

cpu

以HMI任务为例,从导出的任务执行概览数据中可以看到,该任务在实际运行过程中存在被其余任务打断的情况,此时任务的执行过程将被划分为多个实例片段,可以看到该任务的实例片段的数量存在多个数值。

cpu

当HMI任务(绿颜色)执行过程中存在5个实例片段时,可以看到该任务被黄颜色的Control任务和红颜色的Pos_ADC_ISR中断频繁打断,此时我们需要针对性的去分析,看此时的任务运行是否符合代码逻辑,还是我们程序设计中出现了bug。

cpu

通过Views->Statistic Report选项,可以查看并导出系统中所有任务的统计结果视图。

cpu

可以看到导出的报告结果中包含RTOS任务的CPU使用率,执行时间,响应时间,任务执行过程中的最大实例片段个数等等,该视图的数据结果可以帮助开发者对应用有更全面的了解。

cpu

Tracealyzer针对RTOS应用所提供的各种完善易用的可视化跟踪视图,能够帮助开发者提升开发效率,并开发出更高质量的应用代码。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分