Basic Support for Trace Compass
Table of Contents
Student: Ravindra Kumar Meena
Mentors: Sebastian Huber, Gedare Bloom, Chris Johns
Ticket: https://devel.rtems.org/ticket/3696
Development Blog: https://rmeena840.github.io/
Introduction
The Trace Compass is a software developed by Eclipse to analyze and display trace data. Trace data can be gathered from RTEMS applications via various means, for example, RTEMS Trace Linker, Capture Engine and Event Recording. For the scope of the project, Event Recording infrastructure will be used to generate trace data.
Project
Project Goal
The goal of the project is to enable the Trace Compass to analyze and display some basic information using Event Recording infrastructure. Trace Compass is a software for viewing and analyzing any type of logs or traces. The basic information to analyze and display information may include CPU usage, IRQ analysis(IRQ Statistics, IRQ Table, IRQ vs Count, IRQ vs Time), Linux Kernel(Control Flow, Resources), etc.
Project Prerequisite
- Knowledge of C/C++ language
- Basic knowledge about tracing
- Familiarity of Trace Compass software
- Basic knowledge of Operating System(e.g kernel, thread) and Computer Networks(eg. TCP/UDP)
- Debugging skill
- Knowledge of Git
- Knowledge of YAML and XML is helpful
Development Environement Prerequisite
- rtems-libbsd
- QEMU
Design Development
It can be divided into two phases:
- Generation of trace data in Common Trace Format. The conversion can be done on the target or the host. The host is more powerful so it is better to convert it on the host(If you are converting on the host then first the generated trace data must be transferred from the target to host via TCP/UDP transfer methods).
- The transfer of trace data(or converted Common Trace Format(CTF) data) from the target to the host via TCP/UDP transfer methods.
Blog
Development Blog: https://rmeena840.github.io/
References
- https://diamon.org/ctf/
- https://diamon.org/babeltrace/
- https://github.com/efficios/barectf
- https://docs.rtems.org/branches/master/user/tracing/eventrecording.html
- https://www.eclipse.org/tracecompass/
- https://github.com/tuxology/tracevizlab
- https://devel.rtems.org/ticket/2961
- https://devel.rtems.org/ticket/3028