Show TimingParser.java syntax highlighted
/*
* This file is distributed under the GPL v2 as part of teastats site statistics package
* http://teastats.sourceforge.net
*/
package net.time4tea.webstats.parser;
import net.time4tea.webstats.record.Page;
import sun.misc.Perf;
import java.util.logging.Logger;
/**
* $$Header$
* Initially by: james on 30-Jul-2006
*/
public class TimingParser implements LogParser {
private Logger log = Logger.getLogger(TimingParser.class.getName());
private LogParser realParser;
public final Perf perf;
private long totalTime;
private int count;
private int mod = 3000;
private double divisor;
public TimingParser(LogParser realParser) {
this.realParser = realParser;
perf = Perf.getPerf();
divisor = perf.highResFrequency();
}
public Page parseLine(String input) throws ParseException {
long t0 = perf.highResCounter();
try {
return realParser.parseLine(input);
}
finally {
long t1 = perf.highResCounter();
totalTime += (t1 - t0);
count++;
if (count % mod == 0) {
log.info("Parsed " + count + " records in " + (totalTime / divisor));
totalTime = 0;
}
}
}
public int getCount() {
return count;
}
public long getTotalTime() {
return totalTime;
}
}
See more files for this project here