org.tranche.logs
Class ConnectionDiagnosticsLog

java.lang.Object
  extended by org.tranche.logs.ConnectionDiagnosticsLog

public class ConnectionDiagnosticsLog
extends java.lang.Object

A log to help understand and diagnose connections to servers.

All output is thread safe.

Author:
Bryan Smith - bryanesmith@gmail.com

Constructor Summary
ConnectionDiagnosticsLog(java.lang.String description)
          Create a new log.
 
Method Summary
 void logBanned(java.lang.String host, long timestamp)
           
 void logConnection(java.lang.String host, long timestamp)
           
 void logException(java.lang.Exception ex, long timestamp, java.lang.String description)
          Add exception, timestamp, and string to the log.
 void logServerRequest(java.lang.String host, long delta, java.lang.String description)
          Add the host, delta from beginning of connection, and description of message to the log.
 void logUnbanned(java.lang.String host, long timestamp)
           
 void printSummary()
          Print out a summary of logged information, including useful averages and ranges.
 void printSummary(java.io.PrintStream out)
          Print out a summary of logged information, including useful averages and ranges.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConnectionDiagnosticsLog

public ConnectionDiagnosticsLog(java.lang.String description)

Create a new log.

All output is thread safe.

Method Detail

logServerRequest

public void logServerRequest(java.lang.String host,
                             long delta,
                             java.lang.String description)
Add the host, delta from beginning of connection, and description of message to the log.

Parameters:
host -
delta -
description -

logException

public void logException(java.lang.Exception ex,
                         long timestamp,
                         java.lang.String description)
Add exception, timestamp, and string to the log.

Parameters:
ex -
timestamp -
description -

printSummary

public void printSummary()

Print out a summary of logged information, including useful averages and ranges. Can call at anytime.

Prints to standard out.


logConnection

public void logConnection(java.lang.String host,
                          long timestamp)
Parameters:
host -

logBanned

public void logBanned(java.lang.String host,
                      long timestamp)
Parameters:
host -

logUnbanned

public void logUnbanned(java.lang.String host,
                        long timestamp)
Parameters:
host -

printSummary

public void printSummary(java.io.PrintStream out)

Print out a summary of logged information, including useful averages and ranges. Can call at anytime.

Parameters:
out - PrintStream to write out summary


This code is free for use both commercially and non-commercially as stated in the project's license