An Approach For Fine-Grained Profiling Of Parallel Applications