org.jvnet.substance.utils
Class MemoryAnalyzer

java.lang.Object
  extended by java.lang.Thread
      extended by org.jvnet.lafwidget.utils.TrackableThread
          extended by org.jvnet.substance.utils.MemoryAnalyzer
All Implemented Interfaces:
java.lang.Runnable

public class MemoryAnalyzer
extends org.jvnet.lafwidget.utils.TrackableThread

Tracer for memory usage patterns of Substance look-and-feel. The tracer is started when VM has -Dsubstancelaf.traceFile flag. The value of this flag specifies the location of trace log file. When activated, the tracer runs a thread that collects information on memory usage and appends it to the trace log file every X seconds. The X (delay) is specified in the constructor. This class is for internal use only.

Author:
Kirill Grouchnikov

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Method Summary
static void commence(long delay, java.lang.String filename)
          Starts the memory tracing.
static void enqueueUsage(java.lang.String usage)
          Adds usage string.
static java.util.ArrayList<java.lang.String> getUsages()
          Returns all queued usages.
static boolean isRunning()
          Checks whether tracer is running.
 void requestStop()
          Issues request to stop tracing.
 void run()
           
 
Methods inherited from class org.jvnet.lafwidget.utils.TrackableThread
requestStopAllThreads
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

commence

public static void commence(long delay,
                            java.lang.String filename)
Starts the memory tracing.

Parameters:
delay - Sleep delay between trace log iterations.
filename - Trace logfile name.

requestStop

public void requestStop()
Issues request to stop tracing.

Specified by:
requestStop in class org.jvnet.lafwidget.utils.TrackableThread

isRunning

public static boolean isRunning()
Checks whether tracer is running.

Returns:
true if tracer is running, false otherwise.

enqueueUsage

public static void enqueueUsage(java.lang.String usage)
Adds usage string.

Parameters:
usage - Usage string. Will be output to the trace file at next iteration of the tracer.

getUsages

public static java.util.ArrayList<java.lang.String> getUsages()
Returns all queued usages.

Returns:
All queued usages.

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread