|
EclipseLink 2.4.0, build 'v20120608-r11652' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.tools.profiler.oracle.DMSPerformanceProfiler
public class DMSPerformanceProfiler
Purpose: Define the interface of EclipseLink profiler for using DMS gate.
Description: A mechanism used to provide a link for EclipseLink performance profiling by using the DMS tool. The predefined EclipseLink metrics will be monitored by using DMS sensors. EclipseLink library instrumentation will be done by inserting DMS calls for the purpose of measuring its performance
Responsibilities:
Field Summary | |
---|---|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> |
allWeightNouns
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
allWeightSensors
|
static java.lang.String |
CACHE
|
static java.lang.String |
CacheNounType
|
static java.lang.String |
CONNECT
|
static java.lang.String |
ConnectionInUse
|
static java.lang.String |
ConnectionNounType
|
static java.lang.String |
DistributedMergeDmsDisplayName
|
static java.lang.String |
EclipseLinkRootNoun
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> |
heavyWeightNouns
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
heavyWeightSensors
|
protected static boolean |
isDMSSpyInitialized
|
static java.lang.String |
MergeTime
|
static java.lang.String |
MiscellaneousNounType
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
normalAndHeavyWeightSensors
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
normalHeavyAndAllWeightSensors
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> |
normalWeightNouns
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
normalWeightSensors
|
protected java.lang.ThreadLocal |
operationStartTokenThreadLocal
|
static java.lang.String |
RcmNounType
|
protected oracle.dms.instrument.Noun |
root
|
static java.lang.String |
Sequencing
|
protected org.eclipse.persistence.internal.sessions.AbstractSession |
session
|
static java.lang.String |
SessionNounType
|
static java.lang.String |
TransactionNounType
|
static java.lang.String |
UnitOfWorkRegister
|
protected int |
weight
|
Fields inherited from interface org.eclipse.persistence.sessions.SessionProfiler |
---|
ALL, AssignSequence, CachedObjects, CacheHits, CacheMisses, Caching, ChangeSetsNotProcessed, ChangeSetsProcessed, ClientSessionCreated, ConnectionManagement, ConnectionPing, Connects, DescriptorEvent, Disconnects, DistributedMerge, HEAVY, JtsAfterCompletion, JtsBeforeCompletion, Logging, LoginTime, Merge, NONE, NORMAL, ObjectBuilding, OptimisticLockException, QueryPreparation, RcmReceived, RcmSent, RcmStatus, Register, RemoteChangeSet, RowFetch, SessionEvent, SessionName, SqlGeneration, SqlPrepare, StatementExecute, Transaction, UowCommit, UowCommits, UowCreated, UowRollbacks |
Constructor Summary | |
---|---|
DMSPerformanceProfiler()
PUBLIC: Create a new dms profiler. |
|
DMSPerformanceProfiler(Session session)
PUBLIC: Create a new dms profiler. |
Method Summary | |
---|---|
protected void |
createRootNoun()
INTERNAL: Create root noun for TopLink dms metrics. |
protected void |
destroyNounsByWeight(int weight)
INTERNAL: Destroy nouns based on dms weight when user changes the weight at runtime. |
protected void |
destroySensorsByWeight(int weight)
INTERNAL: Destroy sensors based on dms weight when user changes the weight at runtime. |
void |
endOperationProfile(java.lang.String operationName)
INTERNAL: Link to the dms PhaseEvent api stop(). |
void |
endOperationProfile(java.lang.String operationName,
DatabaseQuery query,
int weight)
INTERNAL: Link to the dms PhaseEvent api stop(). |
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> |
getAllWeightNouns()
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
getAllWeightSensors()
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> |
getHeavyWeightNouns()
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
getHeavyWeightSensors()
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
getNormalAndHeavyWeightSensors()
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
getNormalHeavyAndAllWeightSensors()
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> |
getNormalWeightNouns()
|
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> |
getNormalWeightSensors()
|
protected oracle.dms.instrument.Noun |
getNounByType(java.lang.String type,
oracle.dms.instrument.Noun parentNoun,
int weight)
INTERNAL: Look for noun based on the given type and weight. |
protected java.lang.ThreadLocal |
getOperationStartTokenThreadLocal()
|
protected oracle.dms.instrument.Sensor |
getPhaseEventForQuery(java.lang.String operationName,
DatabaseQuery query,
int weight)
INTERNAL: Look for sensor for the name: TopLink_ |
protected java.util.HashMap |
getPhaseEventStartToken()
|
int |
getProfileWeight()
INTERNAL: Return current TopLink dms weight. |
protected oracle.dms.instrument.Sensor |
getSensorByName(java.lang.String operationName)
INTERNAL: Return dms sensor which created by pre-defined TopLink metrics. |
org.eclipse.persistence.internal.sessions.AbstractSession |
getSession()
|
java.lang.String |
getSessionName()
|
void |
initialize()
INTERNAL: Initialize TopLink noun tree by default (DMSConsole.getSensorWeight()) |
protected void |
initializeAllWeightSensors()
INTERNAL: Build dms ALL weight sensors for TopLink dms metrics. |
protected void |
initializeHeavyWeightSensors()
INTERNAL: Build dms HEAVY weight sensors for TopLink dms metrics. |
protected void |
initializeNormalWeightSensors()
INTERNAL: Build dms NORMAL weight sensors for TopLink dms metrics. |
protected void |
initializeNounTree(int newWeight)
INTERNAL: Initialize TopLink noun tree based on dms weight. |
protected void |
initSpy()
INTERNAL: This method is useful for standalone TopLink application Initialize DMS, should be called once and should be called before any other DMS calls. |
void |
occurred(java.lang.String operationName)
INTERNAL: Link to the dms Event api occurred(). |
void |
occurred(java.lang.String operationName,
DatabaseQuery query)
INTERNAL: Increase DMS Event sensor occurrence. |
java.lang.Object |
profileExecutionOfQuery(DatabaseQuery query,
Record row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Finish a profile operation if profiling. |
void |
setProfileWeight(int newWeight)
INTERNAL: Api for changing dms weight dynamically. |
void |
setSession(Session session)
INTERNAL: Set the session. |
void |
startOperationProfile(java.lang.String operationName)
INTERNAL: Link to the dms PhaseEvent api start(). |
void |
startOperationProfile(java.lang.String operationName,
DatabaseQuery query,
int weight)
INTERNAL: Link to the dms PhaseEvent api start(). |
void |
update(java.lang.String operationName,
java.lang.Object value)
INTERNAL: Link to the dms State api update(). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String EclipseLinkRootNoun
public static final java.lang.String SessionNounType
public static final java.lang.String TransactionNounType
public static final java.lang.String RcmNounType
public static final java.lang.String ConnectionNounType
public static final java.lang.String CacheNounType
public static final java.lang.String MiscellaneousNounType
public static final java.lang.String ConnectionInUse
public static final java.lang.String MergeTime
public static final java.lang.String UnitOfWorkRegister
public static final java.lang.String DistributedMergeDmsDisplayName
public static final java.lang.String Sequencing
public static final java.lang.String CONNECT
public static final java.lang.String CACHE
protected org.eclipse.persistence.internal.sessions.AbstractSession session
protected oracle.dms.instrument.Noun root
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> normalWeightSensors
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> heavyWeightSensors
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> allWeightSensors
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> normalAndHeavyWeightSensors
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> normalHeavyAndAllWeightSensors
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> normalWeightNouns
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> heavyWeightNouns
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> allWeightNouns
protected java.lang.ThreadLocal operationStartTokenThreadLocal
protected static boolean isDMSSpyInitialized
protected int weight
Constructor Detail |
---|
public DMSPerformanceProfiler()
public DMSPerformanceProfiler(Session session)
Method Detail |
---|
protected void initializeNounTree(int newWeight)
public void setProfileWeight(int newWeight)
setProfileWeight
in interface SessionProfiler
public void initialize()
initialize
in interface SessionProfiler
public int getProfileWeight()
getProfileWeight
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 endOperationProfile(java.lang.String operationName)
endOperationProfile
in interface SessionProfiler
public void endOperationProfile(java.lang.String operationName, DatabaseQuery query, int weight)
endOperationProfile
in interface SessionProfiler
public void update(java.lang.String operationName, java.lang.Object value)
update
in interface SessionProfiler
public void occurred(java.lang.String operationName)
occurred
in interface SessionProfiler
public void occurred(java.lang.String operationName, DatabaseQuery query)
occurred
in interface SessionProfiler
protected oracle.dms.instrument.Sensor getPhaseEventForQuery(java.lang.String operationName, DatabaseQuery query, int weight)
protected oracle.dms.instrument.Noun getNounByType(java.lang.String type, oracle.dms.instrument.Noun parentNoun, int weight)
protected oracle.dms.instrument.Sensor getSensorByName(java.lang.String operationName)
protected void createRootNoun()
protected void initializeNormalWeightSensors()
protected void initializeHeavyWeightSensors()
protected void initializeAllWeightSensors()
protected void initSpy()
protected void destroySensorsByWeight(int weight)
protected void destroyNounsByWeight(int weight)
protected java.util.HashMap getPhaseEventStartToken()
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> getNormalWeightSensors()
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> getHeavyWeightSensors()
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> getAllWeightSensors()
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> getNormalAndHeavyWeightSensors()
protected java.util.Map<java.lang.String,oracle.dms.instrument.Sensor> getNormalHeavyAndAllWeightSensors()
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> getNormalWeightNouns()
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> getHeavyWeightNouns()
protected java.util.Map<java.lang.String,oracle.dms.instrument.Noun> getAllWeightNouns()
protected java.lang.ThreadLocal getOperationStartTokenThreadLocal()
public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
public java.lang.String getSessionName()
public void setSession(Session session)
SessionProfiler
setSession
in interface SessionProfiler
public java.lang.Object profileExecutionOfQuery(DatabaseQuery query, Record row, org.eclipse.persistence.internal.sessions.AbstractSession session)
SessionProfiler
profileExecutionOfQuery
in interface SessionProfiler
|
EclipseLink 2.4.0, build 'v20120608-r11652' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |