Andreas Schropp wrote:
Are there plans for profiling concurrent programs or even interactions of threads?
Makarius and I have discussed more detailed instrumentation of concurrent programs but so far nothing has been implemented. It requires some sort of graphical performance monitoring rather like the Windows perfmon because it's more about the change in properties over time than simple counts.
What happens if the thread is inside the RTS (but not engaged in GC, which is counted) when the timer goes off? Are those samples just ignored or do they count as UNKNOWN?
When the timer goes off the interrupt handler attempts to trace the stack to find out the Poly function that was executing. If it is in the RTS it will report the function that called the RTS. Because the timer can go off at any point it's possible that the handler won't be able to find a function in which case it will report UNKNOWN.
David