genode/repos/os/src/app/trace_subject_reporter
Martin Stein 181c78d482 timeout: use uint64_t for all plain time values
This enforces the use of unsigned 64-bit values for time in the duration type,
the timeout framework, the timer session, the userland timer-drivers, and the
alarm framework on all platforms. The commit also adapts the code that uses
these tools accross all basic repositories (base, base-*, os. gems, libports,
ports, dde_*) to use unsigned 64-bit values for time as well as far as this
does not imply profound modifications.

Fixes #3208
2019-05-06 16:15:26 +02:00
..
main.cc timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00
README Trace-subject reporter 2015-06-22 14:43:38 +02:00
target.mk Deprecate Genode::config() 2017-01-13 13:06:54 +01:00

This component obtains the information about the existing trace subjects from
core's "TRACE" service and delivers a report to a "Report" server. The report,
in turn, can be used by top-like applications to present the consumed execution
time per thread.

Configuration
-------------

The interval of report generation can be defined via the 'period_ms' attribute
of the '<config>' node. The value is specified in milliseconds.

The level of detail of the generated reports can be influenced by the
'<report>' sub node of the configuration. The following example shows the
default values.

! <config period_ms="5000" >
!   <report activity="no" affinity="no"/>
! </config>

When setting 'activity' to "yes", the report contains an '<activity>' sub node
for each subject. The sub node has the two attributes 'total' and 'recent'. The
'recent' value represents the execution time consumed in the last period.

When setting 'affinity' to "yes", the report contains an '<affinity>' sub node
for each subject. The sub node shows the thread's physical CPU affinity,
expressed via the 'xpos' and 'ypos' attributes.