Hi Chris,
It depends on your use case. If you are looking to monitor the execution times of threads for debugging and/or benchmarking purposes, you can use our kernel benchmarking support, detailed here [1].
Otherwise, you could consider using the mcs branch of the kernel, which allows you to obtain the execution time of a thread via the seL4_SchedContext_Consumed invocation [2].
If you need to use the master branch of the kernel, then you would need to intercept the scheduler on thread switch, by running a high priority thread which enables other threads.
Cheers
Anna.
[1] https://docs.sel4.systems/BenchmarkingGuide.html#cpu-utilisation
[2] https://github.com/seL4/seL4/releases/tag/9.0.0-mcs