I am trying to develop a multi-process system with RaspberryPi in which I want to monitor all major processes and how they are scheduled using Linux. That is, obtaining scheduler states, start time, release time etc. I have been messing with '/proc' folder in order to find such an information but I haven't able to find anything really useful so far.
For example, if you go into /proc/pid/task/pid you can see:
se.exec_start
se.vruntime
se.sum_exec_runtime
se.statistics.wait_start
se.statistics.sleep_start
se.statistics.block_start
se.statistics.sleep_max
se.statistics.block_max
se.statistics.iowait_sum
se.statistics.wakeups
and so on. Now, this looks like I am up to something, but not clear enough. I want to just see how processes are scheduled in cores. i.e, Process1 released at 0.30, then Process2 started at 0.70 (system timer values) etc.
Is something like this possible by monitoring kernel folders such as '/proc'? If not, is there a way to determine this using another tracing tools or scheduler tools for Linux?
Any guidance is greately appreciated. Please tell me if there is something else I need to provide.
Thanks in advance.
I want to find out exactly, for other processes too, when does cpu complete one iteration for every task.