public class PerformanceMonitor extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable, SessionProfiler
Purpose: A tool used to provide performance monitoring information in a server environment.
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
COUNTER |
protected long |
dumpTime |
protected long |
lastDumpTime |
protected java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.Long>> |
operationStartTimesByThread |
protected java.util.Map<java.lang.String,java.lang.Object> |
operationTimings |
protected int |
profileWeight |
protected org.eclipse.persistence.internal.sessions.AbstractSession |
session |
protected static java.lang.String |
TIMER |
ALL, AssignSequence, CacheCoordination, CacheCoordinationSerialize, CacheHits, CacheMisses, CacheSize, Caching, ChangeSetsNotProcessed, ChangeSetsProcessed, ClientSessionCreated, ClientSessionReleased, ConnectionManagement, ConnectionPing, Connects, DescriptorEvent, Disconnects, DistributedMerge, HEAVY, JtsAfterCompletion, JtsBeforeCompletion, Logging, LoginTime, Merge, NONE, NORMAL, ObjectBuilding, OptimisticLockException, QueryPreparation, RcmReceived, RcmSent, RcmStatus, Register, Remote, RemoteChangeSet, RemoteLazy, RemoteMetadata, RowFetch, SessionEvent, SessionName, SqlGeneration, SqlPrepare, StatementExecute, Transaction, UowCommit, UowCommits, UowCreated, UowReleased, UowRollbacks
Constructor and Description |
---|
PerformanceMonitor()
PUBLIC:
Create a new profiler.
|
Modifier and Type | Method and Description |
---|---|
void |
checkDumpTime()
Log the results after a set amount of time has passed.
|
PerformanceMonitor |
clone() |
void |
dumpResults()
Log the results to the session's log (System.out).
|
void |
endOperationProfile(java.lang.String operationName)
INTERNAL:
End the operation timing.
|
void |
endOperationProfile(java.lang.String operationName,
DatabaseQuery query,
int weight)
INTERNAL:
End the operation timing.
|
long |
getDumpTime()
Return the number of milliseconds after which the monitor results should be logged.
|
protected java.util.Map<java.lang.String,java.lang.Long> |
getOperationStartTimes() |
protected java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.Long>> |
getOperationStartTimesByThread() |
java.lang.Object |
getOperationTime(java.lang.String operation) |
java.util.Map<java.lang.String,java.lang.Object> |
getOperationTimings() |
int |
getProfileWeight()
Return the level of profiling.
|
org.eclipse.persistence.internal.sessions.AbstractSession |
getSession() |
void |
initialize()
INTERNAL:
Initialize EclipseLink noun tree(DMS)
|
void |
occurred(java.lang.String operationName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Increase DMS Event sensor occurrence.
|
void |
occurred(java.lang.String operationName,
DatabaseQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Increase DMS Event sensor occurrence.
|
java.lang.Object |
profileExecutionOfQuery(DatabaseQuery query,
Record row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Monitoring is done on the endOperation only.
|
void |
setDumpTime(long dumpTime)
Set the number of milliseconds after which the monitor results should be logged.
|
void |
setProfileWeight(int profileWeight)
Set the level of profiling.
|
void |
setSession(Session session)
INTERNAL:
Set the session.
|
void |
startOperationProfile(java.lang.String operationName)
INTERNAL:
Start the operation timing.
|
void |
startOperationProfile(java.lang.String operationName,
DatabaseQuery query,
int weight)
INTERNAL:
Start the operation timing.
|
void |
update(java.lang.String operationName,
java.lang.Object value)
INTERNAL:
Update the value of the State sensor.
|
protected static final java.lang.String COUNTER
protected static final java.lang.String TIMER
protected transient org.eclipse.persistence.internal.sessions.AbstractSession session
protected java.util.Map<java.lang.String,java.lang.Object> operationTimings
protected java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.Long>> operationStartTimesByThread
protected long lastDumpTime
protected long dumpTime
protected int profileWeight
public PerformanceMonitor()
public long getDumpTime()
public void setDumpTime(long dumpTime)
public PerformanceMonitor clone()
clone
in class java.lang.Object
public void checkDumpTime()
public void dumpResults()
public void endOperationProfile(java.lang.String operationName)
endOperationProfile
in interface SessionProfiler
public void endOperationProfile(java.lang.String operationName, DatabaseQuery query, int weight)
endOperationProfile
in interface SessionProfiler
protected java.util.Map<java.lang.String,java.lang.Long> getOperationStartTimes()
protected java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.Long>> getOperationStartTimesByThread()
public java.lang.Object getOperationTime(java.lang.String operation)
public java.util.Map<java.lang.String,java.lang.Object> getOperationTimings()
public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
public java.lang.Object profileExecutionOfQuery(DatabaseQuery query, Record row, org.eclipse.persistence.internal.sessions.AbstractSession session)
profileExecutionOfQuery
in interface SessionProfiler
public void setSession(Session session)
SessionProfiler
setSession
in interface SessionProfiler
public void startOperationProfile(java.lang.String operationName)
startOperationProfile
in interface SessionProfiler
public void startOperationProfile(java.lang.String operationName, DatabaseQuery query, int weight)
startOperationProfile
in interface SessionProfiler
public void update(java.lang.String operationName, java.lang.Object value)
SessionProfiler
update
in interface SessionProfiler
public void occurred(java.lang.String operationName, org.eclipse.persistence.internal.sessions.AbstractSession session)
SessionProfiler
occurred
in interface SessionProfiler
public void occurred(java.lang.String operationName, DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session)
SessionProfiler
occurred
in interface SessionProfiler
public void setProfileWeight(int profileWeight)
setProfileWeight
in interface SessionProfiler
SessiobProfiler
public int getProfileWeight()
getProfileWeight
in interface SessionProfiler
SessiobProfiler
public void initialize()
SessionProfiler
initialize
in interface SessionProfiler