Java Reference
In-Depth Information
Code 4.11
continued
The log-file analyzer
public void analyzeHourlyData()
{
while (reader.hasNext()) {
LogEntry entry = reader.next();
int hour = entry.getHour();
hourCounts[hour]++;
}
}
/**
* Print the hourly counts.
* These should have been set with a prior
* call to analyzeHourlyData.
*/
public void printHourlyCounts()
{
System.out.println( "Hr: Count" );
for ( int hour = 0; hour < hourCounts.length; hour++) {
System.out.println(hour + ": " + hourCounts[hour]);
}
}
/**
* Print the lines of data read by the LogfileReader
*/
public void printData()
{
reader.printData();
}
}
The analyzer currently uses only part of the data stored in a server's log line. It provides in-
formation that would allow us to determine which hours of the day, on average, tend to be the
busiest or quietest for the server. It does this by counting how many accesses were made in each
one-hour period over the duration covered by the log.
Exercise 4.61 Explore the weblog-analyzer project by creating a LogAnalyzer object and
calling its analyzeHourlyData method. Follow that with a call to its printHourlyCounts
method, which will print the results of the analysis. Which are the busiest times of the day?
Over the course of the next few sections, we shall examine how this class uses an array to
accomplish this task.
 
Search WWH ::




Custom Search