
Rich Fought wrote:
IIRC the timestamps ignore time spent in GC and time spent sampling the heap, so they measure runtime of the program only.
So if I have a server that is idle most of the time waiting for requests, the timestamps recorded in the heap profile will not be "real time" but program execution time?
That's right - the general idea is to make the profile insensitive to other loading on the machine. I can see there might be an argument for making this tweakable, though.
Still, it does look a little strange. Maybe you could send us the output of +RTS -S?
Alloc Collect Live GC GC TOT TOT Page Flts bytes bytes bytes user elap user elap 264424 262144 20592 0.00 0.00 0.03 0.01 0 0 (Gen: 1) 311540 270336 63732 0.00 0.00 3.84 5.25 0 0 (Gen: 0)
So between these first two GCs, your program spent nearly 4 seconds doing something, but only allocated 300k. What was it doing? Cheers, Simon