Профилировщик - правильный ответ, если у вас более одной функции.
Еще одна проблема, которую я вижу со всеми приведенными на данный момент предложениями, заключается в том, что они отлично работают для одной функции, но ваш код будет изобиловать функциями синхронизации, которые нельзя отключить.
Если вы знаете, как выполнять аспектно-ориентированное программирование, это хороший способ сохранить временный код в одном месте и применять его декларативно. Если вы используете что-то вроде Log4J для вывода значений, у вас будет возможность выключить или включить его. Это профиль бедняка.
Посмотрите на AspectJ или Spring AOP.