Interceptorpublic class BenchmarkInterceptor extends java.lang.Object implements Interceptor
getCalls()and
statistic()API.
def proxy = ProxyMetaClass.getInstance(ArrayList.class)
proxy.interceptor = new BenchmarkInterceptor()
proxy.use {
def list = (0..10000).collect{ it }
4.times { list.size() }
4000.times { list.set(it, it+1) }
}
proxy.interceptor.statistic()
Which produces the following output:
[[size, 4, 0], [set, 4000, 21]]
| Modifier and Type | Field | Description |
|---|---|---|
protected java.util.Map |
calls |
| Constructor | Description |
|---|---|
BenchmarkInterceptor() |
| Modifier and Type | Method | Description |
|---|---|---|
java.lang.Object |
afterInvoke(java.lang.Object object,
java.lang.String methodName,
java.lang.Object[] arguments,
java.lang.Object result) |
This code is executed after the method is optionally called.
|
java.lang.Object |
beforeInvoke(java.lang.Object object,
java.lang.String methodName,
java.lang.Object[] arguments) |
This code is executed before the method is optionally called.
|
boolean |
doInvoke() |
|
java.util.Map |
getCalls() |
Returns the raw data associated with the current benchmark run.
|
void |
reset() |
Resets all the benchmark data on this object.
|
java.util.List |
statistic() |
Returns benchmark statistics as a List<Object[]>.
|
public java.util.Map getCalls()
public void reset()
public java.lang.Object beforeInvoke(java.lang.Object object,
java.lang.String methodName,
java.lang.Object[] arguments)
InterceptorbeforeInvoke in interface Interceptorobject - receiver object for the method callmethodName - name of the method to callarguments - arguments to the method callpublic java.lang.Object afterInvoke(java.lang.Object object,
java.lang.String methodName,
java.lang.Object[] arguments,
java.lang.Object result)
InterceptorafterInvoke in interface Interceptorobject - receiver object for the called methodmethodName - name of the called methodarguments - arguments to the called methodresult - result of the executed method call or result of beforeInvoke if method was not calledpublic boolean doInvoke()
doInvoke in interface Interceptorpublic java.util.List statistic()