wiki:Projects/LoggingTools

Version 10 (modified by Aantn, on 11/23/10 at 00:01:24) (diff)

LoggingTools

Introduction

When creating, testing, and running RTEMS appplications, many developers use the printf family of functions to log information. For large applications, viewing logs is a pain. Logs are often cluttered, making it difficult to find the information that you need. This page suggests some uses for logging information and describes open source tools that can be used to view and manage logs.

Common Uses for Logging

  • Debugging embedded applications
  • Offline tuning of PID (or arbitrary) control loops
  • Real time monitoring and/or maintenance of embedded systems
  • Optimizing applications by profiling them, analyzing performance, and identifying possible speed improvements

Open Source Logging Tools

All of these tools should be able to work out of the box with RTEMS, or can be customized to read log files from your RTEMS application. Unfortunately, at the moment, I can't test any of this. If you're using one of these tools in your own RTEMS-based project, please add any information that will be helpful to other users.

  • Tuning and Analysis Utilities (TAU) - TAU is a set of libraries and tools for profiling and analyzing applications. Events can be logged manually or automatically with Fortran, C++, C, Java, and Python. It provides a' variety of tools for analysis, visualization, and data-mining. TAU is the recommended tool for event logging and application profiling. Former QNX users will find that TAU is a viable alternative to QNX's Application Profiler.
  • Log2Timeline - Log2Timeline is a tool for converting log files to "timeline body files," which can be viewed with tools like Simile Timeline and Simile Timeplot. Log2Timeline is the recommended tool for creating pretty visualizations of log information. (This is probably not the right tool to use if you're dealing with large amounts of information.)

Ideas for Future Improvements to RTEMS

TODO

Notes

This page is a work-in-progress. It is being written as part of the Google Code-In 2010 contest. Please see http://www.google-melange.com/gci/task/show/google/gci2010/rtems/t129018536044 for more information.