wiki:GSoC/2008/RunTimeTracing

Version 5 (modified by Alanz, on Jul 10, 2008 at 12:05:00 AM) (diff)

List the deliverables completed till now.

SOC RunTime? Tracing

Project Description

Run-Time Tracing is to log the behavior of RTEMS during runtime, for analysis purpose, or dynamic debugging purpose, enabling RTEMS user to monitor the flow of RTEMS applications and to help users determine what is going on inside their multithreaded programs. It might help debug RTEMS services but it is an application tool.

Currently RTEMS has capture engine available, it only hooks RTEMS user extension and trace those events including Task creation, Task initiation, Task reinitiation, Task deletion, Task context switch, Post task context switch, Task begin, Task exits, Fatal error detection. That is introduced firstly to test the performance impact by introducing the filter, the triggering, and storage of events.

The project is to introduce function tracing point without changing any code in the libraries to be traced, and to enable user to have user tracing point.

Mentor

Chris Johns

Status

High Level Design

Current focus is, besides the details in proposal, figure out additional scenario such as returning values by pointer arguments, which should be taken into consideration.

Weekly Update

  • 04/23/2008 - Clean up items to complete the spring semester, set up RTEMS 4.9 development environment running in the laptop.
  • 05/02/2008 - Got basic idea of RTEMS knowledge by training.
  • 05/09/2008 - Got code from Chris to extract function signature, look thru the code to be prepared for code change. Have a basic idea how Python works. Drafting high level design, to be available for review by next weekend.

Project Schedule

  • Investigation and High Level Design ( Now - May 25 )
  • Section 3.1.1 – Section 3.1.3 ( May 26 – Jun 2 )
  • Section 3.1.4 ( Jun 3 – Jun 30 )
  • Section 3.1.5 – Section 3.1.7 ( Jul 1 – Jul 10 )
  • Section 3.2 – Section 3.3 ( Jul 11 – Jul 21 )
  • Section 3.4 ( Jul 22 – Jul 31 )
  • Integrated Testing ( Aug 1 – Aug 10 )

Details could be found in http://www.cs.fiu.edu/~rzeng001/proposal_tracing.html

Deliverables

Google Code Site: http://code.google.com/p/rtems-tracing/

The code is available on Google Code Site, addressing following features.

  • extract function signature by objdump, anon renamed.
  • extract typedef and struct/union by objdump, anon rename job FINISHED, recursive anon is considered.
  • log all arguments in both entry and exit, including recursive struct.
  • The log function is simply to print to console, while it will soon be changed to transfer log to host.
  • The isTriggered function simply judge whether function tracing (fenable) is enabled or not in capture engine, while new CLI is drafted in capture engine for that.

Student Information

I am Alan, the first year graduate student in Florida International University, majoring in Computer Science.