Ticket #29 (new feature) | |||||||||||||||||||||
Thread performance/runtime assessment
Description
A performance assessment system is needed to allow for centralized collection of information that describe the overall performance of the system.
The idea is to use the central ThreadCollector (which is implemented by the FawkesThreadManager) to get timing information of all threads. This information can then be represented for example by a Gantt chart. This should give clear information on the overall performance allowing to identify dead spots in the code and crowded regions (too many threads active at the same time).
An idea is to add functionality to a thread to collect this information by itself in a memory region it shares with the thread collector. The thread collector can then access this memory region just from time to time to have minimum interference of the measuring and the normal loops of the threads. If we assume to collect only the times for the begin and end of a Thread::loop() run 16 bytes are required per loop run.
Using a memory region and not neither calling a handler in the a performance assessment class to collect the information nor writing to a file should give minimum influence of the measurement on the actual software behavior. Change History
Note: See
TracTickets for help on using
tickets.
| This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Subscriber, Participant
| ||||||||||||||||||||

