gerazo / pipert

Real-Time meets High-Delay: A hybrid scheduling and dataflow framework for DSP applications
GNU General Public License v3.0
6 stars 5 forks source link

Profiler #35

Closed gerazo closed 3 years ago

gerazo commented 3 years ago

So I have implemented our measurement module concept outlined in https://github.com/gerazo/pipert/issues/6

What is in it:

What is missing:

Hossam-Abdin commented 3 years ago

Questions:

Comments:

gerazo commented 3 years ago

@Hossam-Abdin Check out https://github.com/gerazo/pipert/blob/profiler/src/Endianness.h for endianness. It is called from the serializing functions in the introduced monitoring classes. Also check out thread_local variables in https://github.com/gerazo/pipert/blob/profiler/src/ThreadId.h These are also always static. So there is one single instance of them between every objects, but there is a separate one for every thread. This is how thread are identified. Basically, the thread governing Scheduler tags them before every job execution and this value is just used by the monitoring.

Hossam-Abdin commented 3 years ago

Thank you, these were my concerns, but otherwise, the work looks super great