ShellPkg/UefiDpLib: Support dumping cumulative data

Add a new option -c to dump cumulative data.
For example:
shell> dp -c
==[ Cumulative ]========
(Times in microsec.)     Cumulative   Average     Shortest    Longest
   Name          Count    Duration    Duration    Duration    Duration
LoadImage:         200     1000000        7000           0      100000
StartImage:        200    20000000       90000           0     7000000
  DB:Start:        200    20000000      100000           0     9000000
DB:Support:     200000      100000           0           0        7000

shell> dp -c DXE
==[ Cumulative ]========
(Times in microsec.)     Cumulative   Average     Shortest    Longest
   Name          Count    Duration    Duration    Duration    Duration
LoadImage:         200     1000000        7000           0      100000
StartImage:        200    20000000       90000           0     7000000
  DB:Start:        200    20000000      100000           0     9000000
DB:Support:     200000      100000           0           0        7000
        DXE          1    30000000    30000000           0    30000000

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cinnamon Shia <cinnamon.shia@hpe.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: El-Haj-Mahmoud Samer <samer.el-haj-mahmoud@hpe.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18728 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Cinnamon Shia
2015-11-05 01:59:24 +00:00
committed by shenshushi
parent 303ec9bc9f
commit a06795c6a6
4 changed files with 87 additions and 10 deletions

View File

@@ -172,10 +172,13 @@ GetCumulativeItem(
@post The SummaryData and CumData structures contain statistics for the
current performance logs.
@param[in, out] CustomCumulativeData The pointer to the custom cumulative data.
**/
VOID
GatherStatistics(
VOID
IN OUT PERF_CUM_DATA *CustomCumulativeData OPTIONAL
);
/**
@@ -283,11 +286,13 @@ ProcessGlobal(
For each record with a Token listed in the CumData array:<BR>
- Update the instance count and the total, minimum, and maximum durations.
Finally, print the gathered cumulative statistics.
@param[in] CustomCumulativeData The pointer to the custom cumulative data.
**/
VOID
ProcessCumulative(
VOID
IN PERF_CUM_DATA *CustomCumulativeData OPTIONAL
);
/**