public class AccessTracker
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
AccessTracker.Location |
static class |
AccessTracker.QueryEvent |
Modifier and Type | Field and Description |
---|---|
private static long |
DUMP_PERIOD |
private static int |
DUMP_SIZE |
private static java.io.File |
dumpFile |
private static long |
lastLogDump |
private static long |
localCount |
private static java.util.LinkedList<QueryParams> |
localSearches |
private static java.util.ArrayList<java.lang.String> |
log |
private static int |
maxAge |
private static int |
maxSize |
private static int |
minSize |
private static long |
remoteCount |
private static java.util.LinkedList<QueryParams> |
remoteSearches |
Constructor and Description |
---|
AccessTracker() |
Modifier and Type | Method and Description |
---|---|
static void |
add(AccessTracker.Location location,
QueryParams query,
int resultCount) |
private static void |
add(java.util.LinkedList<QueryParams> list,
QueryParams query,
int resultCount) |
private static void |
addToDump(QueryParams query,
int resultCount) |
static void |
addToDump(java.lang.String querystring,
java.lang.String resultcount) |
static void |
addToDump(java.lang.String querystring,
java.lang.String resultcount,
java.util.Date d) |
private static long |
binarySearch(java.io.RandomAccessFile raf,
java.util.Date date,
long l,
long r)
recursively search for a the smallest date which is equal or greater than the given date
|
static void |
dumpLog() |
static java.util.Iterator<QueryParams> |
get(AccessTracker.Location location) |
static java.io.File |
getDumpFile() |
static void |
main(java.lang.String[] args) |
private static java.util.Date |
readDate(java.io.RandomAccessFile raf,
long x)
read a date at the seek position; the seek position must be exactly at the date start
|
static java.util.List<EventTracker.Event> |
readLog(java.io.File f,
java.util.Date from,
java.util.Date to)
read the log and return a list of lines which are equal or greater than
the from-date and smaller than the to-date
|
private static long |
seekLB(java.io.RandomAccessFile raf,
long x)
find the beginning of a line
|
static void |
setDumpFile(java.io.File f) |
static long |
size(AccessTracker.Location location) |
private static final long DUMP_PERIOD
private static final int DUMP_SIZE
private static final int minSize
private static final int maxSize
private static final int maxAge
private static final java.util.LinkedList<QueryParams> localSearches
private static final java.util.LinkedList<QueryParams> remoteSearches
private static final java.util.ArrayList<java.lang.String> log
private static long lastLogDump
private static long localCount
private static long remoteCount
private static java.io.File dumpFile
public static void setDumpFile(java.io.File f)
public static java.io.File getDumpFile()
public static void add(AccessTracker.Location location, QueryParams query, int resultCount)
private static void add(java.util.LinkedList<QueryParams> list, QueryParams query, int resultCount)
public static java.util.Iterator<QueryParams> get(AccessTracker.Location location)
public static long size(AccessTracker.Location location)
private static void addToDump(QueryParams query, int resultCount)
public static void addToDump(java.lang.String querystring, java.lang.String resultcount)
public static void addToDump(java.lang.String querystring, java.lang.String resultcount, java.util.Date d)
public static void dumpLog()
public static java.util.List<EventTracker.Event> readLog(java.io.File f, java.util.Date from, java.util.Date to)
f
- the dump filefrom
- the left boundary of the sequence to search for (included)to
- the right boundary of the sequence to search for (excluded)private static long binarySearch(java.io.RandomAccessFile raf, java.util.Date date, long l, long r) throws java.io.IOException
raf
- the random access filedate
- the given datel
- first seek position to look (included, we expect a date there or after the position l)r
- last seek position to look (excluded, we do not expect that there is a date)java.io.IOException
private static long seekLB(java.io.RandomAccessFile raf, long x) throws java.io.IOException
raf
- the random access filex
- any seek position in the filejava.io.IOException
private static java.util.Date readDate(java.io.RandomAccessFile raf, long x) throws java.io.IOException
raf
- the random access filex
- the seek position of the date string start positionjava.io.IOException
public static void main(java.lang.String[] args)