Client-side profiler