#include "Literals.h"\r
#include "DpInternal.h"\r
\r
-/** Collect verbose statistics about the logged performance measurements.\r
- *\r
- * General Summary information for all Trace measurements is gathered and\r
- * stored within the SummaryData structure. This information is both\r
- * used internally by subsequent reporting functions, and displayed\r
- * at the end of verbose reports.\r
- *\r
- * @pre The SummaryData and CumData structures must be initialized\r
- * prior to calling this function.\r
- *\r
- * @post The SummaryData and CumData structures contain statistics for the\r
- * current performance logs.\r
+/** \r
+ Collect verbose statistics about the logged performance measurements.\r
+ \r
+ General Summary information for all Trace measurements is gathered and\r
+ stored within the SummaryData structure. This information is both\r
+ used internally by subsequent reporting functions, and displayed\r
+ at the end of verbose reports.\r
+ \r
+ @pre The SummaryData and CumData structures must be initialized\r
+ prior to calling this function.\r
+ \r
+ @post The SummaryData and CumData structures contain statistics for the\r
+ current performance logs.\r
**/\r
VOID\r
GatherStatistics(\r
}\r
}\r
\r
-/** Gather and print ALL Trace Records.\r
- *\r
- * Displays all "interesting" Trace measurements in order.<BR>\r
- * The number of records displayed is controlled by:\r
- * - records with a duration less than mInterestThreshold microseconds are not displayed.\r
- * - No more than Limit records are displayed. A Limit of zero will not limit the output.\r
- * - If the ExcludeFlag is TRUE, records matching entries in the CumData array are not\r
- * displayed.\r
- *\r
- * @pre The mInterestThreshold global variable is set to the shortest duration to be printed.\r
- * The mGaugeString and mUnicodeToken global arrays are used for temporary string storage.\r
- * They must not be in use by a calling function.\r
- *\r
- * @param[in] Limit The number of records to print. Zero is ALL.\r
- * @param[in] ExcludeFlag TRUE to exclude individual Cumulative items from display.\r
- *\r
+/** \r
+ Gather and print ALL Trace Records.\r
+ \r
+ Displays all "interesting" Trace measurements in order.<BR>\r
+ The number of records displayed is controlled by:\r
+ - records with a duration less than mInterestThreshold microseconds are not displayed.\r
+ - No more than Limit records are displayed. A Limit of zero will not limit the output.\r
+ - If the ExcludeFlag is TRUE, records matching entries in the CumData array are not\r
+ displayed.\r
+ \r
+ @pre The mInterestThreshold global variable is set to the shortest duration to be printed.\r
+ The mGaugeString and mUnicodeToken global arrays are used for temporary string storage.\r
+ They must not be in use by a calling function.\r
+ \r
+ @param[in] Limit The number of records to print. Zero is ALL.\r
+ @param[in] ExcludeFlag TRUE to exclude individual Cumulative items from display.\r
+ \r
**/\r
VOID\r
DumpAllTrace(\r
}\r
}\r
\r
-/** Gather and print Raw Trace Records.\r
- *\r
- * All Trace measurements with a duration greater than or equal to\r
- * mInterestThreshold are printed without interpretation.\r
- *\r
- * The number of records displayed is controlled by:\r
- * - records with a duration less than mInterestThreshold microseconds are not displayed.\r
- * - No more than Limit records are displayed. A Limit of zero will not limit the output.\r
- * - If the ExcludeFlag is TRUE, records matching entries in the CumData array are not\r
- * displayed.\r
- *\r
- * @pre The mInterestThreshold global variable is set to the shortest duration to be printed.\r
- *\r
- * @param[in] Limit The number of records to print. Zero is ALL.\r
- * @param[in] ExcludeFlag TRUE to exclude individual Cumulative items from display.\r
- *\r
+/** \r
+ Gather and print Raw Trace Records.\r
+ \r
+ All Trace measurements with a duration greater than or equal to\r
+ mInterestThreshold are printed without interpretation.\r
+ \r
+ The number of records displayed is controlled by:\r
+ - records with a duration less than mInterestThreshold microseconds are not displayed.\r
+ - No more than Limit records are displayed. A Limit of zero will not limit the output.\r
+ - If the ExcludeFlag is TRUE, records matching entries in the CumData array are not\r
+ displayed.\r
+ \r
+ @pre The mInterestThreshold global variable is set to the shortest duration to be printed.\r
+ \r
+ @param[in] Limit The number of records to print. Zero is ALL.\r
+ @param[in] ExcludeFlag TRUE to exclude individual Cumulative items from display.\r
+ \r
**/\r
VOID\r
DumpRawTrace(\r
}\r
}\r
\r
-/** Gather and print Major Phase metrics.\r
- *\r
- * @param[in] Ticker The timer value for the END of Shell phase\r
- *\r
+/** \r
+ Gather and print Major Phase metrics.\r
+ \r
+ @param[in] Ticker The timer value for the END of Shell phase\r
+ \r
**/\r
VOID\r
ProcessPhases(\r
)\r
{\r
MEASUREMENT_RECORD Measurement;\r
- UINT64 BdsTimeoutValue = 0;\r
- UINT64 SecTime = 0;\r
- UINT64 PeiTime = 0;\r
- UINT64 DxeTime = 0;\r
- UINT64 BdsTime = 0;\r
- UINT64 ShellTime = 0;\r
+ UINT64 BdsTimeoutValue;\r
+ UINT64 SecTime;\r
+ UINT64 PeiTime;\r
+ UINT64 DxeTime;\r
+ UINT64 BdsTime;\r
+ UINT64 ShellTime;\r
UINT64 ElapsedTime;\r
UINT64 Duration;\r
UINT64 Total;\r
EFI_STRING StringPtr;\r
UINTN LogEntryKey;\r
\r
+ BdsTimeoutValue = 0;\r
+ SecTime = 0;\r
+ PeiTime = 0;\r
+ DxeTime = 0;\r
+ BdsTime = 0;\r
+ ShellTime = 0; \r
//\r
// Get Execution Phase Statistics\r
//\r
PrintToken (STRING_TOKEN (STR_DP_TOTAL_DURATION), Total);\r
}\r
\r
-/** Gather and print Handle data.\r
- *\r
- * @param[in] ExcludeFlag TRUE to exclude individual Cumulative items from display.\r
- *\r
- * @return Status from a call to gBS->LocateHandle().\r
+/** \r
+ Gather and print Handle data.\r
+ \r
+ @param[in] ExcludeFlag TRUE to exclude individual Cumulative items from display.\r
+ \r
+ @return Status from a call to gBS->LocateHandle().\r
**/\r
EFI_STATUS\r
ProcessHandles(\r
return Status;\r
}\r
\r
-/** Gather and print PEIM data.\r
- *\r
- * Only prints complete PEIM records\r
- *\r
+/** \r
+ Gather and print PEIM data.\r
+ \r
+ Only prints complete PEIM records\r
+ \r
**/\r
VOID\r
ProcessPeims(\r
}\r
}\r
\r
-/** Gather and print global data.\r
- *\r
- * Strips out incomplete or "Execution Phase" records\r
- * Only prints records where Handle is NULL\r
- * Increment TIndex for every record, even skipped ones, so that we have an\r
- * indication of every measurement record taken.\r
- *\r
- *\r
+/** \r
+ Gather and print global data.\r
+ \r
+ Strips out incomplete or "Execution Phase" records\r
+ Only prints records where Handle is NULL\r
+ Increment TIndex for every record, even skipped ones, so that we have an\r
+ indication of every measurement record taken.\r
+ \r
**/\r
VOID\r
ProcessGlobal(\r
}\r
}\r
\r
-/** Gather and print cumulative data.\r
- *\r
- * Traverse the measurement records and:<BR>\r
- * For each record with a Token listed in the CumData array:<BR>\r
- * - Update the instance count and the total, minimum, and maximum durations.\r
- * Finally, print the gathered cumulative statistics.\r
- *\r
+/** \r
+ Gather and print cumulative data.\r
+ \r
+ Traverse the measurement records and:<BR>\r
+ For each record with a Token listed in the CumData array:<BR>\r
+ - Update the instance count and the total, minimum, and maximum durations.\r
+ Finally, print the gathered cumulative statistics.\r
+ \r
**/\r
VOID\r
ProcessCumulative(\r
VOID\r
)\r
{\r
- UINT64 avgval; // the computed average duration\r
+ UINT64 Avgval; // the computed average duration\r
EFI_STRING StringPtr;\r
UINTN TIndex;\r
\r
PrintToken (STRING_TOKEN (STR_DP_DASHES));\r
\r
for ( TIndex = 0; TIndex < NumCum; ++TIndex) {\r
- avgval = DivU64x32 (CumData[TIndex].Duration, CumData[TIndex].Count);\r
+ Avgval = DivU64x32 (CumData[TIndex].Duration, CumData[TIndex].Count);\r
PrintToken (STRING_TOKEN (STR_DP_CUMULATIVE_STATS),\r
CumData[TIndex].Name,\r
CumData[TIndex].Count,\r
DurationInMicroSeconds(CumData[TIndex].Duration),\r
- DurationInMicroSeconds(avgval),\r
+ DurationInMicroSeconds(Avgval),\r
DurationInMicroSeconds(CumData[TIndex].MinDur),\r
DurationInMicroSeconds(CumData[TIndex].MaxDur)\r
);\r