MPE (Multi-Processing Environment) is a software package for performance analysis of MPI programs. Running MPE-instrumented code produces log files that can be post-processed to get a graphical representation of the communication pattern in an MPI program. By looking at the time course of the MPI calls by the different processes, it is possible to see problems with synchronization or load-balancing.
In the simplest MPE usage your source code does not need to be modified, but, is recompiled to link with MPE libraries and then run as usual. It is also possible to call the MPE routines explicitly for more control over what kind of tracing and logging is performed. For other details about MPE, see Performance Visualization for Parallel Programs.
MPE is available on a couple of WestGrid systems, although the implementation is rather old: