Profiling is achieved by instrumenting either the program source code or its binary executable form using a tool called a Code profiler