Project

General

Profile

Old Road Map

This is the old version of the road map for work on the SimpleProfiler project. It is kept here for historical purposes.

Constraints

  1. SimpleProfiler works on Linux and Mac OS X systems; other Unix systems might work but are untested.
  2. The analysis tools should work wherever the underlying tools are available. Those tools are:
    • R * Ruby (Ruby 1.9); it would be good to reduce this to Ruby 1.8, by removing the use of the nested regular expressions. * SQLite3 (not yet used, but we have plans) * We should not rely on shell scripts, because that cuts out Windows users; all our other tools work on Windows

Open questions

  1. What C++ compilers do we support? For now, only GCC. Later we'll support Intel C++.
  2. What is our schedule for "cutting" release versions?
  3. There are far too many unknowns, are we going to switch to libelf to resolve function names.

Things to do

We want FAST to be useful to a wider community that its own developers. Here are the steps that seem necessary to make it so.

  1. Make SimpleProfiler easy to obtain (public access to Git repository? Download tarball of release?)
  2. Make SimpleProfiler must be easy to build on the relevant platforms, with supported compiler(s).
  3. Make the helper script that runs the user's program after loading the SimpleProfiler available.
  4. Make documentation for how SimpleProfiler works, and what is in the output files, and how to run it; this includes documenting the helper.
  5. Put instructions on the front page for "how to get things going". Include supported platforms, what external products need to be installed first, and where they could be installed. Make sure we name what versions we need (e.g. Ruby 1.8 or newer). Put links to the things people might need to install.
  6. Make the profgraph program easily installable: first from git download, later from Ruby gem.
  7. Write the documentation for profgraph
  8. Package the R scripts that make "interesting plots": * build the data frames * enumerate the interesting plots
  9. Write and package scripts that take the processed data and save them in SQLite3 databases.
  10. Include the sar data collection and integration with profiling data.