The values returned are just the sum of the values returned by GetFunctionCPUUsage(handler) for all current handlers. Which means that it's not per-frame values, but per-function values. The difference is that if for example an OnUpdate handler is used by two frames A and B, and, say, B:OnUpdate() is called, both A and B get blamed for it.

It also means that if a frame's handlers change, the CPU used by the previous handlers is ignored, because only the current handlers are considered.