GSOC 2015: Run Time Tracing

Chris Johns chrisj at rtems.org
Sat Mar 14 01:29:12 UTC 2015


On 11/03/2015 4:17 am, Richa Sehgal wrote:
>
> I am Richa Sehgal currently pursuing Master’s at University of Illinois
> Urbana Champaign, USA. I did my undergraduate from Indian Institute of
> Technology Delhi (IIT-Delhi).
>
> I am interested in contributing to the Run Time Tracing project in GSOC
> 2015.

Thank for your interest.

>
> I went through the project details on:
> https://devel.rtems.org/wiki/Developer/Projects/Open/TraceTool.
>
> It mentions the work done in past by 2 GSOC students in 2008 and 2009.
> Further, it says to contact the community, in particular Chris Johns
> about the next logical step. This mail is regarding the same. I am very
> keen on contributing my ideas to this project. It would be great if the
> you can guide me on how I can begin with this project and what all do we
> have to implement. My IRC username is richashi.
>

The project has evolved since the last GSoC work and I will update this 
page.

We have a University student working on the project at the moment and I 
welcome the GSoC effort to the project as well. There is plenty to do.

The major change is the desire to output CTF format data. This lets us 
use tools such as Trace Compass 
(https://www.polarsys.org/solutions/tracecompass) to help visualise the 
output. Joel has recently met up with the LTTng team and this followed a 
meeting Joel and I had with them at the last GSoC Mentors summit. They 
are aware of our efforts which is nice.

The other major piece of work that now exists is the Trace Linker in the 
RTEMS Tool Project (https://git.rtems.org/rtems-tools). The trace linker 
is a symbol wrapping post link process that lets us inject code at the 
function call level to capture input and output values or even state 
information. There is a printk example which has proved useful for my work.

Further Jennifer has updated the capture engine to work in SMP environments.

The tasks remaining are to bring together each of these parts so we can 
generate a CTF file existing visualisation tools can display.

1. Integrate the trace linker to the capture engine.
2. Add enable and trigger configuration to the trace linker.
3. Extract capture engine logs from a target using gdb and python.
4. Generate command files for Babletrace from the trace linker.
5. Extend or use Babletrace to accept the capture engine output.
6. Generate function signatures by integrating libdwarf to the rtemstoolkit.

As we already have an existing person working on this code base we will 
need to work as a team and this adds a little extra overhead to the GSoC 
students and the mentors. We will need a suitable github repo of the 
rtems-tool we can all push commits to and I can then upstream into the 
RTEMS master repo. We will also need to define the various interfaces 
between the different parts so they can be worked on.

Chris


More information about the devel mailing list