= Basic Support for Trace Compass = [[TOC(GSoC/2019/Basic_Support_for_Trace_Compass , depth=2)]] '''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, [https://docs.rtems.org/branches/master/user/tracing/eventrecording.html 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 [https://www.eclipse.org/tracecompass/ 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 == * [https://github.com/RTEMS/rtems-libbsd rtems-libbsd] * QEMU = Design Development = It can be divided into two phases: 1. Generation of trace data in [https://diamon.org/ctf/ 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). 2. 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