Something approaching what you want could be VICE PDB monitor for the VICE commodore 64 emulator.
Currently VICE PDB Monitor uses Vice's mmzap and mmshow between executions or breakpoints to gather execution information and generate a heat map. It's not entirely exact since Vice doesn't trap multiple executions from the same address.
So if you know where your program is installed, the "heat map" (understand: where the program counter executes the most instructions) will help you find where the program is very often running instructions from.
This isn't going to provide the timings or the function names (since it's not a symbolic tool), but if you see a routine/part of code being called very frequently, you know that you have to work on that one rather than on another one.
It's not using symbols, so you have to make address translation yourself, but it can be used on programs you don't have source code for too.