summaryrefslogtreecommitdiffstats
path: root/doc/shell/rtems.t
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-03-06 14:41:24 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-03-06 16:20:00 +0100
commit2bd71d95b6bf2dba738ea95b4fa73d8942f21bee (patch)
treedefc791d13bf767904c102c3087108329f336b6d /doc/shell/rtems.t
parentscore: Allow NULL for SMP lock name (diff)
downloadrtems-2bd71d95b6bf2dba738ea95b4fa73d8942f21bee.tar.bz2
shell: Add PROFREPORT command
Diffstat (limited to '')
-rw-r--r--doc/shell/rtems.t108
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