0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

麦克泰技术 来源:麦克泰技术 2023-02-06 14:13 次阅读

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

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

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

39217fd6-a448-11ed-bfe3-dac502259ad0.png

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

39387970-a448-11ed-bfe3-dac502259ad0.png

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

394accd8-a448-11ed-bfe3-dac502259ad0.png

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

39678d0a-a448-11ed-bfe3-dac502259ad0.png

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

3988245c-a448-11ed-bfe3-dac502259ad0.png

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

39a43368-a448-11ed-bfe3-dac502259ad0.png

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

3a2e9ecc-a448-11ed-bfe3-dac502259ad0.png

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

3a573cd8-a448-11ed-bfe3-dac502259ad0.png

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

审核编辑:汤梓红

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

    关注

    68

    文章

    10824

    浏览量

    211087
  • RTOS
    +关注

    关注

    21

    文章

    809

    浏览量

    119410
  • 跟踪
    +关注

    关注

    1

    文章

    38

    浏览量

    14293
  • 可视化
    +关注

    关注

    1

    文章

    1176

    浏览量

    20882
  • 视图
    +关注

    关注

    0

    文章

    140

    浏览量

    6567

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

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何通过Tracealyzer实现Linux系统的跟踪

    Tracealyzer是Percepio 公司开发的一款可视化跟踪工具, 目前它提供了30多种相互关联的运行时行为视图,支持裸机、FreeRTOS、μC/OS-III、Zephyr、ThreadX、VxWorks、Linux系统的跟踪
    的头像 发表于 12-08 14:08 1209次阅读
    如何<b class='flag-5'>通过</b><b class='flag-5'>Tracealyzer</b>实现Linux系统的<b class='flag-5'>跟踪</b>?

    Tracealyzer 技术分享

    为什么要使用Tracealyzer???1.在使用FreeRTOS的系统进行开发的时候,在多任务开发的时候,多时序紊乱,导致系统异常Tracealyzer是一个很好的嵌入式OS时序
    发表于 01-04 21:10

    教你快递入门-Tracealyzer跟踪记录库移植

    ,然后进行显示和分析。(3).垂直时间轴视图窗口和事件记录窗口。更多技术干货可关注“麦克泰技术”Tracealyzer下载和评估:https://percepio.com/STM32F769工程下载:https://eyun.b
    发表于 07-31 14:08

    INSTRUMENTS导出和导入跟踪数据

    INSTRUMENTS调试工具的使用(三十二) —— 高级任务导出和导入跟踪数据(一)
    发表于 08-30 09:18

    使用Tracealyzer分析RTOS系统需掌握的基本概念

    自己的工程的操作方法请参考:快速入门| Tracealyzer跟踪记录库移植使用Tracealyzer对RTOS进行分析,需要掌握基础的概念
    发表于 09-27 10:10

    Tracealyzer利用CortexM的ITM实现流跟踪

    通过EWARM来实时获取跟踪数据。图 6 设置流模式的连接方式九、开启实时跟踪。需要先启动Tracealyzer,Live Stream窗口
    发表于 12-05 15:34

    如何使用Tracealyzer预先定义的记录器扩展文件实现用户应用程序跟踪

    Amazon FreeRTOS中的“Secure Socket”API函数的跟踪示例如上图所示。使用Tracealyzer记录器扩展功能,不需要对目标函数代码进行任何修改,仅需在应用程序源代码文件中添加
    发表于 12-18 13:37

    出现“丢失事件”?看Tracealyzer流模式如何调优

    Tracealyzer 针对FreeRTOS和 Micrium µC/OS的记录器库可以配置成通过可用的通信接口(例如串口)来传输跟踪数据。用户通过
    发表于 02-19 10:06

    通过Tracealyzer用户事件来了解应用程序

    Tracealyzer自动分析并可视化RTOS的行为,对软件开发者来说,可视化分析是很大的一个改进。但是,对于一些不是RTOS自动生成的事件,或者说如果你想要可视化一些应用程序数据,测
    发表于 08-20 10:11

    使用Tracealyzer跟踪FreeRTOS内核

    模式,可以跟踪单个任务和特定内核函数的内存分配和内存共享,使用这个工具,可以很方便的找到内存错误的原因。有趣的是,Tracealyzer 不仅帮助我发现并修复了我自己代码中的错误,还帮助我发现并修复了
    发表于 12-01 14:57

    如何使用Tracealyzer理解多任务调度?

    任务使用了多少CPU时间?在运行时系统中实际发生了什么?Tracealyzer是一款记录RTOS运行时行为的可视化分析工具,通过30多个相互关联的视图对记录
    发表于 12-17 16:01

    如何使用Tracealyzer流模式跟踪ThreadX?

    。(2)在ThreadX的配置文件tx_user.h中开启跟踪功能和堆栈检测功能,需要通过修改头文件中的这两条宏来开启。(3)在Tracealyzer的配置文件trcConfig.h文件中需要包含你所
    发表于 09-23 13:25

    Tracealyzer实现流跟踪最简单的方法

    Tracealyzer 实现流跟踪最简单的方法就是使用SEGGER J-Link调试器,通过RTT功能来实现数据的传送。RTT需要在RAM上建立一段缓存,在目标系统运行期间,由J-Li
    的头像 发表于 09-02 11:11 2230次阅读

    如何使用Tracealyzer的流模式来跟踪ThreadX应用

    Tracealyzer是Percepio 公司开发的一款用于RTOS的嵌入式软件系统的可视化跟踪工具,提供了30多种相互关联的可视化运行时行为视图,本文将介绍如何使用Tracealyzer的流模式来
    的头像 发表于 09-16 11:14 1372次阅读

    Tracealyzer跟踪记录库移植

    使用Tracealyzer,首先要将跟踪记录库集成到工程。安装了Tracealyzer 4之后,在安装路径下找到以RTOS名称命名的文件夹,将TraceRecorder子文件夹复制到自己的工程目录中。以FreeRTOS为例:
    的头像 发表于 11-08 11:17 1689次阅读