Code Search for Developers
 
 
  

TimingParser.java from Tea Stats at Krugle


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

Tea Stats

Web log analyzer... Written in OO Perl, provides the usual host / page analysis. Can also do site graphing using graphviz, browser, os, worm and search engine identification, and country and session tracking.

Project homepage: http://sourceforge.net/projects/teastats
Programming language(s): Java
License: other

  CommonLogParser.java
  LogParser.java
  ParseException.java
  RegexCommonLogParser.java
  TimingParser.java
  TimingParserTest.java