public class ObjectProfiler extends Object
Constructor and Description |
---|
ObjectProfiler() |
Modifier and Type | Method and Description |
---|---|
static Object |
getProfiledObject(Class interfaceClazz,
Object o)
Given a class, and an interface that it implements, return a proxied version of the class that implements
the interface.
|
static String |
getTrimmedClassName(Method method)
Given a method, get the Method name, with no package information.
|
static Object |
profiledInvoke(Method target,
Object value,
Object[] args)
A profiled call
Method.invoke(java.lang.Object, java.lang.Object[]) . |
public static Object getProfiledObject(Class interfaceClazz, Object o)
The usual use of this is to profile methods from Factory objects:
public PersistenceManager getPersistenceManager() { return new DefaultPersistenceManager(); } instead write: public PersistenceManager getPersistenceManager() { return ObjectProfiler.getProfiledObject(PersistenceManager.class, new DefaultPersistenceManager()); }
A side effect of this is that you will no longer be able to downcast to DefaultPersistenceManager. This is probably a *good* thing.
interfaceClazz
- The interface to implement.o
- The object to proxypublic static Object profiledInvoke(Method target, Object value, Object[] args) throws IllegalAccessException, InvocationTargetException
Method.invoke(java.lang.Object, java.lang.Object[])
. If UtilTimerStack.isActive()
returns false, then no profiling is performed.Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.