Portable profiling and tracing for parallel, scientific applications using C++ | Synapse