Make it possible to distinguish between samples from different shared objects
The profile.proto data format does not have a specific way to note which shared object a sample is associated with.
When using pprof on perf.data files, it should be possible to determine which shared object a sample is associated with, and this should be exposed to users.
The concept of SharedObjects in perf.data is similar to the concept of mappings in the profile.proto.
So we want to expose ways to group by filenames.
Shared objects are not perf.data concept, it's basic Unix / Linux thing - http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html. Mappings in profile.proto represent how portions of shared objects / libraries are mapped into the process address space, see http://www.skyfree.org/linux/references/ELF_Format.pdf.