wiki:Projects/LoggingTools

Version 25 (modified by Aantn, on 11/23/10 at 02:33:32) (diff)

/* Statistical Analysis */

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 work out of the box with generic log files. Please note that many of them cannot run on RTEMS itself. You'll need to connect your RTEMS system to another computer for analysis.

Graphing and Visualizing Time-Series Data

Application Profiling

You can use the following tools to trace and profile your application.

  • RTEMS Trace Tool - RTEMS Trace Tool is a tool to trace your RTEMS applications and visualize an application's run process.
  • RTEMS Capture Engine - RTEMS Capture Engine is a software module for RTEMS that captures context switches.

Statistical Analysis

For complex event analysis, you may want to consider Mathematica, R, or Sage.

Monitoring Logs with Enterprise Monitoring Systems

  • Octopussy - Octopussy is a web-based server for log monitoring. It supports live monitoring, events filtering, and email alerts. Octopussy is usually used to monitor Apache and the like, however it can be customized to analyze any type of log file. See here for information on setting up Octopussy - you'll have to dump RTEMS logs into /var/lib/octopussy/logs/<device_name>/Incoming/

Notes

This page was 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.

Tuning and Analysis Utilities (TAU) - TAU was formerly included as an application profiling tool. I'm not sure if it's compatible with RTEMS. (It can automatically instrument code and log information to file - I'm not sure how to use TAU to instrument RTEMS applications.) TAU includes tools for viewing application profiles and traces. It may be worth modifying RTEMS' own trace tools so that their traces can be viewed with TAU.