En profiler er et program, der kan overvåge kørslen af et andet program og foretage forskellige målinger undervejs. Disse målinger kan bruges som grundlag for optimering af programmet eller som grundlag for fejlsøgning. En profiler kan optælle antallet af kald til hver procedure eller funktion, antallet af gange en given instruktion eller sætning kaldes, tiden brugt på hver procedure eller funktion, antal og varighed af databasekald eller I/O-kald eller hukommelsesforbruget. Oplysningerne fra profileren kan vise, om man under en aftestning er kommet igennem de ønskede dele af programmet, om der allokeres hukommelse, der ikke bliver frigivet, og pege på de dele af programmet, hvor der bruges mest tid, og hvor programmet måske skal optimeres.