Function Coverage Instrumentation

Function coverage provides the lowest code instrumentation overhead, only the beginning of function bodies are enriched with probes.

Each function body (from standalone functions, class member functions, constructors and destructors, lambda functions at global scope) is logically instrumented as follows:
{
   INCREMENT_START_COUNTER;
   {original body}
}