wiki:GSoC/2016/RTEMStraceimprovements

Version 1 (modified by Vivek Kukreja, on May 3, 2016 at 2:08:44 PM) (diff)

--

Improvements to RTEMS Tracing Framework

Table of Contents

    Error: Page GSoC/2016/rtems_trace_improvements does not exist

Mentors:

Chris Johns, Isaac, Mathieu Desnoyers

Student:

Vivek Kukreja

Abstract

The aim of this project is to modify the current tracing framework under RTEMS to produce traces in standardised Common Trace format. Next, I will demonstrate new transports like Ethernet, Serial and implement live trac-reading capability on a subset of these transports.

Project Description

First RTEMS will be modified to generate traces for system events and applications in the standardized CTF format. User Extensions are routines which are triggered on occurrence of system events. The capturing engine uses these routines to trace the system events. I will make necessary changes to generate CTF traces for these events. For Application tracing, I will modify RTEMS trace-linker to auto-generate tracing functions that generate CTF traces and corresponding metadata. The application code will be instrumented with these tracing functions. I will make corresponding changes needed in the Capture Engine to buffer the CTF traces in SMP safe manner. I will test and verify that the traces are compatible with visualization tools such as Babeltrace. In the next phase, I will implement live tracing on RTEMS. For this, existing support for simultaneous read/write support for trace in Capture Engine will be investigated. Further, I will also implement an interface to allow transport mechanisms to be developed as adapters to the Capture Engine. These adapters will periodically take data from the buffers and transport them over to the host machine, where they can be visualized at run-time. The configuration of the transport mechanisms, will be controlled with a CLI at run-time.

Requirements:

List the requirements and level of expertise you estimate are required by the developer tackling this project will have to have: Required level of programming language(s), specific areas of RTEMS or tools, level of familiarity with RTEMS, cross-development, GNU/Linux, etx., development/documentation/testing tools, mathematical/algorithmic background, other desirable skills.

Other sections

If you have more to say about the project that doesn't fit in the proposed sections of this template, feel free to add other sections at will.