Updated scripts to handle Clock-time and to deal with running Mozilla or Viewer

This commit is contained in:
attinasi%netscape.com 2000-02-23 17:58:22 +00:00
Родитель 3b564257ba
Коммит cd55577747
5 изменённых файлов: 89 добавлений и 25 удалений

Просмотреть файл

@ -24,7 +24,7 @@
#------------------------------------------------------------------------------
sub debug_print {
foreach $str (@_){
# print( $str );
print( $str );
}
}
#------------------------------------------------------------------------------
@ -36,8 +36,9 @@ $logFile = $ARGV[1];
$NumOfSites = $ARGV[2];
$buildIDFile = $ARGV[3];
$LinkURL = $ARGV[4];
$useClockTime = $ARGV[5];
$buildIDFile = '< '.$buildIDFile.'\bin\chrome\navigator\locale\en-US\navigator.dtd';
debug_print( "Arguments:[ $UrlName | $logFile | $NumOfSites | $buildIDFile | $LinkURL ]\n");
debug_print( "Arguments:[ $UrlName | $logFile | $NumOfSites | $buildIDFile | $LinkURL | $useClockTime]\n");
#------------------------------------------------------------------------------
# Open the ID file and get the build ID
@ -256,7 +257,12 @@ while (<LOG_FILE>)
if (/Content/){
if ($IsValidURL == 1){
@List = split (/ /, $ThisLine);
$Content_Time = $List[9];
if($useClockTime){
@clockTimeList = split(/:/, $List[6]);
$Content_Time = $clockTimeList[2];
} else {
$Content_Time = $List[9];
}
$Content_Flag = 1;
debug_print( "Content Time: $Content_Time\n" );
}
@ -264,7 +270,12 @@ while (<LOG_FILE>)
if (/Reflow/){
if ($IsValidURL == 1){
@List = split (/ /, $ThisLine);
$Reflow_Time = $List[8];
if($useClockTime){
@clockTimeList = split(/:/, $List[5]);
$Reflow_Time = $clockTimeList[2];
} else {
$Reflow_Time = $List[8];
}
$Reflow_Flag = 1;
debug_print( "Reflow Time: $Reflow_Time\n" );
}
@ -272,14 +283,24 @@ while (<LOG_FILE>)
if (/Frame construction plus/){
if ($IsValidURL == 1){
@List = split (/ /, $ThisLine);
$FrameAndStyle_Time = $List[12];
if($useClockTime){
@clockTimeList = split(/:/, $List[9]);
$FrameAndStyle_Time = $clockTimeList[2];
} else {
$FrameAndStyle_Time = $List[12];
}
debug_print( "Frame and Style Time: $FrameAndStyle_Time\n" );
}
}
if (/Style/){
if ($IsValidURL == 1){
@List = split (/ /, $ThisLine);
$Style_Time = $List[9];
if($useClockTime){
@clockTimeList = split(/:/, $List[6]);
$Style_Time = $clockTimeList[2];
} else {
$Style_Time = $List[9];
}
$Style_Flag = 1;
debug_print( "Style Time: $Style_Time\n" );
}
@ -287,7 +308,12 @@ while (<LOG_FILE>)
if (/Parse/){
if ($IsValidURL == 1){
@List = split (/ /, $ThisLine);
$Parse_Time = $List[8];
if($useClockTime){
@clockTimeList = split(/:/, $List[5]);
$Parse_Time = $clockTimeList[2];
} else {
$Parse_Time = $List[8];
}
$Parse_Flag = 1;
debug_print( "Parse Time: $Parse_Time\n" );
}
@ -316,6 +342,10 @@ while (<LOG_FILE>)
# Calculate the significant time values
#------------------------------------------------------------------------------
$Frame_Time = $FrameAndStyle_Time - $Style_Time;
if($Frame_Time < 0.0){
print( "\n***** ERROR: negative FrameTime *****\n");
$Frame_Time = 0;
}
$TotalLayout_Time = $Content_Time + $Reflow_Time + $Frame_Time + $Style_Time + $Parse_Time;
$Avg_Time = $Avg_Time + $TotalLayoutTime + $TotalPageLoad_Time;

Просмотреть файл

@ -38,6 +38,7 @@ sub debug_print {
$buildIDFile = $ARGV[0];
$buildIDFile = '< '.$buildIDFile.'\bin\chrome\navigator\locale\en-US\navigator.dtd';
$pullDate = $ARGV[1];
$useClockTime = $ARGV[2];
open (XUL_FILE, $buildIDFile) or die "Unable to open BuildID file $buildIDFile (header.pl)";
$BuildNo = "";
@ -88,7 +89,11 @@ print (TABLE_FILE "<BR>");
print (TABLE_FILE "<B><CENTER><font size=-1>\n");
print (TABLE_FILE "$machineStats\n");
print (TABLE_FILE "<BR>");
print (TABLE_FILE "Time is reported in Seconds of CPU time");
if($useClockTime){
print (TABLE_FILE "Time is reported in Seconds of Clock time");
} else {
print (TABLE_FILE "Time is reported in Seconds of CPU time");
}
print (TABLE_FILE "</font></CENTER></B>\n");
print (TABLE_FILE "<BR>\n\n");

Просмотреть файл

@ -26,14 +26,17 @@ $milestone = $ARGV[0];
print ($milestone);
$bldRoot = $ARGV[1];
print("BuildRoot: $bldRoot\n");
print(" BuildRoot: $bldRoot\n");
$cnt = 0;
# Backup the history file
system( ("copy", "history.txt", "history.bak" ) );
# Delete the average.txt file so we don;t get old values in the averages
system( ("del", "average.txt") );
# Run the Header script
system( ("perl", "header.pl", "$bldRoot", "$milestone" ) );
system( ("perl", "header.pl", "$bldRoot", "$milestone", "$ARGV[2]" ) );
#
# now run the average2 script for each file in the logs directory
@ -46,11 +49,11 @@ while( <Logs\\*.txt> ){
@nameParts = split( /-/, $line );
@nameNoDir = split( /\\/, $nameParts[0] );
print( "Name: $nameNoDir[1]\n" );
system( ("perl", "Averagetable2.pl", "$nameNoDir[1]", "$line", "$cnt", "$bldRoot", "$nameNoDir[1]" ) );
system( ("perl", "Averagetable2.pl", "$nameNoDir[1]", "$line", "$cnt", "$bldRoot", "$nameNoDir[1]", "$ARGV[2]" ) );
}
}
# Run the Footer script
system( ("perl", "footer.pl", "$bldRoot", "$milestone" ) );
print("Processed $cnt logs\n");
print("Processed $cnt logs\n");

Просмотреть файл

@ -28,33 +28,54 @@
# 5) Run the script history.pl to generate the history chart
# 6) Move the files to a directory just for them...
$UseViewer = 1; # set to 0 to use Mozilla
$UseClockTime=0; # if third argument is 'clock' this gets set to 1
# Get and check the arguments
@ARGV;
$ID = $ARGV[0];
$bldRoot = $ARGV[1];
$profID = $ARGV[2];
$clockTimeArg = $ARGV[2];
$profID = $ARGV[3];
$arg=0;
$cmdLineArg[$arg++] = "-f ";
$cmdLineArg[$arg++] = "S:\\mozilla\\tools\\performance\\layout\\40-url.txt ";
#$cmdLineArg[$arg++] = "-ftimeout ";
#$cmdLineArg[$arg++] = "15 ";
#$cmdLineArg[$arg++] = "-P ";
#$cmdLineArg[$arg++] = "$profID ";
if($UseViewer==0){
$cmdLineArg[$arg++] = "-ftimeout ";
$cmdLineArg[$arg++] = "10 ";
$cmdLineArg[$arg++] = "-P ";
$cmdLineArg[$arg++] = "$profID ";
}
if(!$ID || !$bldRoot || !$profID){
die "ID, Build Root and Profile Name must be provided. \n - Example: 'perl perf.pl Daily_021400 s:\\moz\\daily\\0214 Attinasi' \n";
if(!$UseViewer){
if(!$ID || !$bldRoot || !$profID || !$clockTimeArg){
die "ID, Build Root, Profile Name, and clock OR CPU must be provided. \n - Example: 'perl perf.pl Daily_021400 s:\\moz\\daily\\0214 clock|cpu Attinasi' \n";
}
} else {
if(!$ID || !$bldRoot || !$clockTimeArg){
die "ID, Build Root, Profile Name, and clock OR CPU must be provided. \n - Example: 'perl perf.pl Daily_021400 s:\\moz\\daily\\0214 clock|CPU' \n";
}
}
# build up a full path and argument strings for the invocation
$mozPath;
$logName;
#$mozPath=$bldRoot."\\bin\\Mozilla.exe";
$mozPath=$bldRoot."\\bin\\Viewer.exe";
if($UseViewer==0){
$mozPath=$bldRoot."\\bin\\Mozilla.exe";
} else {
$mozPath=$bldRoot."\\bin\\Viewer.exe";
}
$logName="Logs\\".$ID."-combined.dat";
-e $mozPath or die "$mozPath could not be found\n";
if($clockTimeArg=="clock"){
$UseClockTime=1;
print( "Charting Clock time...\n");
} else {
print( "Charting CPU time...\n");
}
# run it
$commandLine = $mozPath." ".$cmdLineArg[0].$cmdLineArg[1].$cmdLineArg[2].$cmdLineArg[3].$cmdLineArg[4].$cmdLineArg[5]."> $logName";
print("Running $commandLine\n");
@ -65,8 +86,13 @@ print("Breaking result into log files...\n");
system( ("perl", "uncombine.pl", "$logName") ) == 0 or die "Error uncombining the output\n";
# generate the chart from the logs
print("Generating performance table...\n");
system( ("perl", "genfromlogs.pl", "$ID", "$bldRoot") ) == 0 or die "Error generating the chart from the logs\n";
if($UseClockTime==1){
print("Generating performance table... (ClockTime)\n");
system( ("perl", "genfromlogs.pl", "$ID", "$bldRoot", "clock") ) == 0 or die "Error generating the clock-time chart from the logs\n";
} else {
print("Generating performance table...(CPUTime)\n");
system( ("perl", "genfromlogs.pl", "$ID", "$bldRoot") ) == 0 or die "Error generating the cpu-time chart from the logs\n";
}
# rename the output
system( ("copy", "table.html", "Tables\\$ID\.html") ) == 0 or die "Error copying table.html to Tables\\$ID\.html\n";

Просмотреть файл

@ -87,8 +87,8 @@ while(<COMBINEFILE>){
#print( " - WebShellID: $shellID\n");
@urlParts = split(/\//, $url);
if($fileURL > 0){
$urlName = $urlParts[8]; ### SENSITIVE to installation path
### eg. 'file:///S|/Mozilla/Tools/PerfTools/WebSites/amazon/index.html'
$urlName = $urlParts[9]; ### SENSITIVE to installation path
### eg. 'file:///S|/Mozilla/Tools/performance/layout/WebSites/amazon/index.html'
} else {
$urlName = $urlParts[2]; ### http://all.of.this.is.the.url.name/index.html
}