diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-03-06 14:41:24 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-03-06 16:20:00 +0100 |
commit | 2bd71d95b6bf2dba738ea95b4fa73d8942f21bee (patch) | |
tree | defc791d13bf767904c102c3087108329f336b6d /doc/shell/rtems.t | |
parent | score: Allow NULL for SMP lock name (diff) | |
download | rtems-2bd71d95b6bf2dba738ea95b4fa73d8942f21bee.tar.bz2 |
shell: Add PROFREPORT command
Diffstat (limited to '')
-rw-r--r-- | doc/shell/rtems.t | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/doc/shell/rtems.t b/doc/shell/rtems.t index 5ebead3e4e..b31696e3af 100644 --- a/doc/shell/rtems.t +++ b/doc/shell/rtems.t @@ -15,6 +15,7 @@ The RTEMS shell has the following rtems commands: @item @code{cpuuse} - print or reset per thread cpu usage @item @code{stackuse} - print per thread stack usage @item @code{perioduse} - print or reset per period usage +@item @code{profreport} - print a profiling report @item @code{wkspace} - Display information on Executive Workspace @item @code{config} - Show the system configuration. @item @code{itask} - List init tasks for the system @@ -383,6 +384,113 @@ extern rtems_shell_cmd_t rtems_shell_PERIODUSE_Command; @c @c @page +@subsection profreport - print a profiling report + +@pgindex profreport + +@subheading SYNOPSYS: + +@example +profreport +@end example + +@subheading DESCRIPTION: + +This command may be used to print a profiling report. + +@subheading EXIT STATUS: + +This command returns 0. + +@subheading NOTES: + +Profiling must be enabled at build configuration time to get profiling +information. + +@subheading EXAMPLES: + +The following is an example of how to use @code{profreport}: + +@smallexample +SHLL [/] $ profreport +<ProfilingReport name="Shell"> + <PerCPUProfilingReport processorIndex="0"> + <MaxThreadDispatchDisabledTime unit="ns">10447</MaxThreadDispatchDisabledTime> + <MeanThreadDispatchDisabledTime unit="ns">2</MeanThreadDispatchDisabledTime> + <TotalThreadDispatchDisabledTime unit="ns">195926627</TotalThreadDispatchDisabledTime> + <ThreadDispatchDisabledCount>77908688</ThreadDispatchDisabledCount> + <MaxInterruptDelay unit="ns">0</MaxInterruptDelay> + <MaxInterruptTime unit="ns">688</MaxInterruptTime> + <MeanInterruptTime unit="ns">127</MeanInterruptTime> + <TotalInterruptTime unit="ns">282651157</TotalInterruptTime> + <InterruptCount>2215855</InterruptCount> + </PerCPUProfilingReport> + <PerCPUProfilingReport processorIndex="1"> + <MaxThreadDispatchDisabledTime unit="ns">9053</MaxThreadDispatchDisabledTime> + <MeanThreadDispatchDisabledTime unit="ns">41</MeanThreadDispatchDisabledTime> + <TotalThreadDispatchDisabledTime unit="ns">3053830335</TotalThreadDispatchDisabledTime> + <ThreadDispatchDisabledCount>73334202</ThreadDispatchDisabledCount> + <MaxInterruptDelay unit="ns">0</MaxInterruptDelay> + <MaxInterruptTime unit="ns">57</MaxInterruptTime> + <MeanInterruptTime unit="ns">35</MeanInterruptTime> + <TotalInterruptTime unit="ns">76980203</TotalInterruptTime> + <InterruptCount>2141179</InterruptCount> + </PerCPUProfilingReport> + <SMPLockProfilingReport name="SMP lock stats"> + <MaxAcquireTime unit="ns">608</MaxAcquireTime> + <MaxSectionTime unit="ns">1387</MaxSectionTime> + <MeanAcquireTime unit="ns">112</MeanAcquireTime> + <MeanSectionTime unit="ns">338</MeanSectionTime> + <TotalAcquireTime unit="ns">119031</TotalAcquireTime> + <TotalSectionTime unit="ns">357222</TotalSectionTime> + <UsageCount>1055</UsageCount> + <ContentionCount initialQueueLength="0">1055</ContentionCount> + <ContentionCount initialQueueLength="1">0</ContentionCount> + <ContentionCount initialQueueLength="2">0</ContentionCount> + <ContentionCount initialQueueLength="3">0</ContentionCount> + </SMPLockProfilingReport> + <SMPLockProfilingReport name="Giant"> + <MaxAcquireTime unit="ns">4186</MaxAcquireTime> + <MaxSectionTime unit="ns">7575</MaxSectionTime> + <MeanAcquireTime unit="ns">160</MeanAcquireTime> + <MeanSectionTime unit="ns">183</MeanSectionTime> + <TotalAcquireTime unit="ns">1772793111</TotalAcquireTime> + <TotalSectionTime unit="ns">2029733879</TotalSectionTime> + <UsageCount>11039140</UsageCount> + <ContentionCount initialQueueLength="0">11037655</ContentionCount> + <ContentionCount initialQueueLength="1">1485</ContentionCount> + <ContentionCount initialQueueLength="2">0</ContentionCount> + <ContentionCount initialQueueLength="3">0</ContentionCount> + </SMPLockProfilingReport> +</ProfilingReport> +@end smallexample + +@subheading CONFIGURATION: + +@findex CONFIGURE_SHELL_NO_COMMAND_PROFREPORT +@findex CONFIGURE_SHELL_COMMAND_PROFREPORT + +When building a custom command set, define +@code{CONFIGURE_SHELL_COMMAND_PROFREPORT} to have this +command included. + +This command can be excluded from the shell command set by +defining @code{CONFIGURE_SHELL_NO_COMMAND_PROFREPORT} when all +shell commands have been configured. + +@subheading PROGRAMMING INFORMATION: + +The configuration structure for the @code{profreport} has the +following prototype: + +@example +extern rtems_shell_cmd_t rtems_shell_PROFREPORT_Command; +@end example + +@c +@c +@c +@page @subsection wkspace - display information on executive workspace @pgindex wkspace |