Class PerformanceMonitor
- java.lang.Object
-
- org.eclipse.persistence.tools.profiler.PerformanceMonitor
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,SessionProfiler
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.
- Since:
- EclipseLink 2.2
- Author:
- James Sutherland
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.eclipse.persistence.sessions.SessionProfiler
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 Summary
Constructors Constructor Description PerformanceMonitor()
PUBLIC: Create a new profiler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.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.(DMS)void
occurred(java.lang.String operationName, DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Increase DMS Event sensor occurrence.(DMS)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.(DMS)
-
-
-
Method Detail
-
getDumpTime
public long getDumpTime()
Return the number of milliseconds after which the monitor results should be logged.
-
setDumpTime
public void setDumpTime(long dumpTime)
Set the number of milliseconds after which the monitor results should be logged.
-
clone
public PerformanceMonitor clone()
-
checkDumpTime
public void checkDumpTime()
Log the results after a set amount of time has passed.
-
dumpResults
public void dumpResults()
Log the results to the session's log (System.out).
-
endOperationProfile
public void endOperationProfile(java.lang.String operationName)
INTERNAL: End the operation timing.- Specified by:
endOperationProfile
in interfaceSessionProfiler
-
endOperationProfile
public void endOperationProfile(java.lang.String operationName, DatabaseQuery query, int weight)
INTERNAL: End the operation timing.- Specified by:
endOperationProfile
in interfaceSessionProfiler
-
getOperationTime
public java.lang.Object getOperationTime(java.lang.String operation)
-
getOperationTimings
public java.util.Map<java.lang.String,java.lang.Object> getOperationTimings()
-
getSession
public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
-
profileExecutionOfQuery
public java.lang.Object profileExecutionOfQuery(DatabaseQuery query, Record row, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Monitoring is done on the endOperation only.- Specified by:
profileExecutionOfQuery
in interfaceSessionProfiler
- Returns:
- the execution result of the query.
-
setSession
public void setSession(Session session)
Description copied from interface:SessionProfiler
INTERNAL: Set the session.- Specified by:
setSession
in interfaceSessionProfiler
-
startOperationProfile
public void startOperationProfile(java.lang.String operationName)
INTERNAL: Start the operation timing.- Specified by:
startOperationProfile
in interfaceSessionProfiler
-
startOperationProfile
public void startOperationProfile(java.lang.String operationName, DatabaseQuery query, int weight)
INTERNAL: Start the operation timing.- Specified by:
startOperationProfile
in interfaceSessionProfiler
-
update
public void update(java.lang.String operationName, java.lang.Object value)
Description copied from interface:SessionProfiler
INTERNAL: Update the value of the State sensor.(DMS)- Specified by:
update
in interfaceSessionProfiler
-
occurred
public void occurred(java.lang.String operationName, org.eclipse.persistence.internal.sessions.AbstractSession session)
Description copied from interface:SessionProfiler
INTERNAL: Increase DMS Event sensor occurrence.(DMS)- Specified by:
occurred
in interfaceSessionProfiler
-
occurred
public void occurred(java.lang.String operationName, DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session)
Description copied from interface:SessionProfiler
INTERNAL: Increase DMS Event sensor occurrence.(DMS)- Specified by:
occurred
in interfaceSessionProfiler
-
setProfileWeight
public void setProfileWeight(int profileWeight)
Set the level of profiling. One of ALL, HEAVY, NORMAL, NONE. The higher the level, the more operations are profiled.- Specified by:
setProfileWeight
in interfaceSessionProfiler
- See Also:
SessionProfiler
-
getProfileWeight
public int getProfileWeight()
Return the level of profiling. One of ALL, HEAVY, NORMAL, NONE.- Specified by:
getProfileWeight
in interfaceSessionProfiler
- See Also:
SessionProfiler
-
initialize
public void initialize()
Description copied from interface:SessionProfiler
INTERNAL: Initialize EclipseLink noun tree(DMS)- Specified by:
initialize
in interfaceSessionProfiler
-
-