I want to measure how long a task was placed in a block state. Is there any easy way to do this.
I have a very complicated call sequecne and various parts of the sequence could block.
Basically I want to measure how long the task had been placed in the block state for so I can know if the task was ever asleep.
I am considering using vTaskSetTimeOutState() but doing this will effectly measure not only the block time but the processing time for the code execution. But there certain parts of the code that could spin doing some very heavy work.
Probably the simplest way would be to have the task measure it itself -
it can store the time both before and after calling a blocking function
and then compare the two when it exits the blocking function.
Hi Richard
the trace tool looks very powerful.
For now I went with the simple approach I wrapped all the blocking calls so I can measure the time it blocked.
This seems to be working well.
Thanks for the input.