Class MemoryAnalyzer
java.lang.Object
java.lang.Thread
org.pushingpixels.radiance.theming.internal.utils.TrackableThread
org.pushingpixels.radiance.theming.internal.utils.MemoryAnalyzer
- All Implemented Interfaces:
Runnable
Tracer for memory usage patterns of Radiance look-and-feel. The
tracer is started when
RadianceThemingCortex.GlobalScope.setTraceFilename(String)
is called before setting Radiance of the look and feel. 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.-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate long
Sleep delay between trace log iterations.private String
Trace logfile name.private static MemoryAnalyzer
Singleton instance.private static boolean
Iftrue
,this
tracer has received a request to stop.private static SimpleDateFormat
Formatting object.Usage strings collected during the sleep time.Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
MemoryAnalyzer
(long delay, String filename) Simple constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Starts the memory tracing.static void
enqueueUsage
(String usage) Adds usage string.Returns all queued usages.private static boolean
Checks whether a request to stop tracing has been issued.static boolean
Checks whether tracer is running.void
Issues request to stop tracing.void
run()
Methods inherited from class org.pushingpixels.radiance.theming.internal.utils.TrackableThread
requestStopAllThreads
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
-
Field Details
-
delay
private long delaySleep delay between trace log iterations. -
filename
Trace logfile name. -
instance
Singleton instance. -
isStopRequest
private static boolean isStopRequestIftrue
,this
tracer has received a request to stop. -
usages
Usage strings collected during the sleep time. -
sdf
Formatting object.
-
-
Constructor Details
-
MemoryAnalyzer
Simple constructor.- Parameters:
delay
- Sleep delay between trace log iterations.filename
- Trace logfile name.
-
-
Method Details
-
commence
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 classTrackableThread
-
hasStopRequest
private static boolean hasStopRequest()Checks whether a request to stop tracing has been issued.- Returns:
true
if a request to stop tracing has been issued,false
otherwise.
-
isRunning
public static boolean isRunning()Checks whether tracer is running.- Returns:
true
if tracer is running,false
otherwise.
-
enqueueUsage
Adds usage string.- Parameters:
usage
- Usage string. Will be output to the trace file at next iteration of the tracer.
-
getUsages
Returns all queued usages.- Returns:
- All queued usages.
-
run
public void run()
-