posted 14 years ago
Hi,
Can any one help me out, how to monitor performance in Service Implementation classes.
I have written a proxy class for Logging performance for method invocation, Not sure how to make this invoke for service operations.
quick help is appreciated.
Below is the Log handler class.
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import org.apache.log4j.Logger;
public class LoggHandler implements InvocationHandler {
protected Object delegate;
public LoggHandler(Object delegate) {
this.delegate = delegate;
}
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Logger log = Logger.getLogger("ServiceLogger");
long inTime = System.currentTimeMillis();
long outTime = System.currentTimeMillis();
log.debug("method entry -->"+inTime);
try {
System.out.println("Method entry for the method " + method.getName() + " at " + inTime);
Object result = method.invoke(delegate, args);
return result;
} catch (InvocationTargetException e) {
throw e.getTargetException();
} finally {
System.out.println("Method exit for the method " + method.getName() + " at " + outTime);
System.out.println();
System.out.println();
System.out.println();
System.out.println("OUT - IN time " + method.getName() + " at "
+ (outTime - inTime));
log.debug("method exit"+ outTime);
log.debug(outTime - inTime);
}
}