1. A method implemented at least in part by one or more processing devices comprising: intercepting communications between a first profiler and a profiling application program interface (API) via a second profiler, wherein the second profiler is attached to the first profiler; logging calls to functions from and to the first profiler; chaining the calls from and to the first profiler through the second profiler; utilizing the second profiler to validate use of the profiling API by the first profiler; and launching a program with the second profiler registered as the program's profiler and attaching the first profiler to the second profiler after launching the program with the second profiler registered as the program's profiler.