public abstract class AbstractProfilingAspect extends java.lang.Object implements Profiler
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractProfilingAspect.Accuracy |
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Enum |
accuracy |
protected java.lang.String |
aspectNodeName |
protected java.lang.String |
domain |
protected long |
limit |
protected java.lang.Class<?> |
template |
| Constructor and Description |
|---|
AbstractProfilingAspect() |
| Modifier and Type | Method and Description |
|---|---|
protected long |
calculateExecutionTime(long startTime) |
protected MBeanInfoAssembler |
getAssembler() |
protected javax.management.ObjectInstance |
getOrCreateMBean(java.lang.Object resource,
java.lang.String method)
Creates or returns a MBean instance for the specified method
|
protected javax.management.ObjectInstance |
getOrCreateResource(java.lang.Class template,
java.lang.String profiledMethod)
Wrapper method for getOrCreateMBean method.
|
protected abstract Tenant |
getOwnTenant() |
protected long |
getTime()
Returns the current time in the specified time unit
setAccuracy(String) |
void |
logException(javax.management.ObjectInstance bean)
This method will be used for incrementing an internal "failed execution counter"
|
void |
logExecutionTime(javax.management.ObjectInstance bean,
long executionTime,
long calledAt)
Logs the execution time of the currently profiled method
|
void |
setAccuracy(java.lang.String accuracy)
Setter of the time measure accuracy (use 'ns' for nano seconds , 'ms' for milliseconds [default])
|
void |
setAspectNodeName(java.lang.String aspectNodeName)
Setter of the JMX node name (this node will appear below 'hybris/{Tenant ID}')
|
void |
setAssembler(MBeanInfoAssembler assembler)
assembler for gathering required MBeanInfo object for a bean
|
void |
setDomain(java.lang.String domain)
Setter of the JMX domain.
|
void |
setLimit(long limit)
Sets the minimum method execution time.
|
void |
setTemplate(java.lang.Class<? extends ProfilingReportBean> template)
Setter for the
ProfilingReportBean instance. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitlogExecutionTimeprotected java.lang.Class<?> template
protected java.lang.String domain
protected java.lang.String aspectNodeName
protected java.lang.Enum accuracy
protected long limit
protected MBeanInfoAssembler getAssembler()
public void setAssembler(MBeanInfoAssembler assembler)
public void setTemplate(java.lang.Class<? extends ProfilingReportBean> template)
ProfilingReportBean instance.template - the templatepublic void setAspectNodeName(java.lang.String aspectNodeName)
aspectNodeName - the JMX node name (default is the class name of the aspect)public void setAccuracy(java.lang.String accuracy)
accuracy - the time unitpublic void setDomain(java.lang.String domain)
JmxUtils.DEFAULT_JMX_DOMAINpublic void setLimit(long limit)
protected long getTime()
setAccuracy(String)protected long calculateExecutionTime(long startTime)
protected javax.management.ObjectInstance getOrCreateMBean(java.lang.Object resource,
java.lang.String method)
throws javax.management.JMException,
javax.management.modelmbean.InvalidTargetObjectTypeException,
java.lang.IllegalArgumentException,
java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
resource - an implementation of ProfilingReportBeanmethod - the profiled methodjavax.management.JMExceptionjavax.management.modelmbean.InvalidTargetObjectTypeExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.IllegalAccessExceptionjava.lang.InstantiationExceptionjava.lang.IllegalArgumentExceptionprotected abstract Tenant getOwnTenant()
protected javax.management.ObjectInstance getOrCreateResource(java.lang.Class template,
java.lang.String profiledMethod)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.IllegalArgumentException,
javax.management.JMException,
javax.management.modelmbean.InvalidTargetObjectTypeException,
java.lang.reflect.InvocationTargetException
template - an implementation of ProfilingReportBeanprofiledMethod - the profiled methodjavax.management.JMExceptionjavax.management.modelmbean.InvalidTargetObjectTypeExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.IllegalAccessExceptionjava.lang.InstantiationExceptionjava.lang.IllegalArgumentExceptionpublic void logExecutionTime(javax.management.ObjectInstance bean,
long executionTime,
long calledAt)
throws javax.management.JMException,
javax.management.modelmbean.InvalidTargetObjectTypeException
bean - the used bean for "displaying" the profiled data via JMXexecutionTime - the execution timecalledAt - the start timejavax.management.JMExceptionjavax.management.modelmbean.InvalidTargetObjectTypeExceptionpublic void logException(javax.management.ObjectInstance bean)
throws javax.management.JMException,
javax.management.modelmbean.InvalidTargetObjectTypeException
bean - the JMX bean which will be notified about the notified execution of its corresponding methodjavax.management.JMExceptionjavax.management.modelmbean.InvalidTargetObjectTypeExceptionCopyright © 2018 SAP SE. All Rights Reserved.