package com.jsonde.instrumentation.profiler;
import com.jsonde.api.Message;
import com.jsonde.api.MessageListener;
import com.jsonde.api.methodCall.MethodCallDto;
import com.jsonde.api.methodCall.MethodCallSummaryDto;
import com.jsonde.profiler.Profiler;
import com.jsonde.profiler.network.NetworkServerException;
import java.util.Collection;
import java.util.List;
public class InvocationCountingProfiler extends Profiler {
public int describeClassImplCounter;
public int enterMethodImplCounter;
public int enterConstructorImplCounter;
public int preEnterConstructorImplCounter;
public int leaveMethodImplCounter;
public int registerMethodCounter;
public int registerClassCounter;
protected void describeClassImpl(long classId, Class clazz) {
describeClassImplCounter++;
}
@Override
public void describeRedefinableClass(long classId, Class clazz) {
//To change body of implemented methods use File | Settings | File Templates.
}
protected void enterMethodImpl(long methodId, Object object, Object[] arguments) {
enterMethodImplCounter++;
}
protected void preEnterConstructorImpl(long methodId) {
preEnterConstructorImplCounter++;
}
protected void leaveMethodImpl(boolean isVoid, boolean isThrowsException, Object result) {
leaveMethodImplCounter++;
}
public long registerMethod(long classId, int access, String name, String desc, String signature, String[] exceptions) {
registerMethodCounter++;
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
public long registerClass(int version, int access, String name, String signature, String superName, String[] interfaces, ClassLoader classLoader) {
registerClassCounter++;
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
public void startServer() {
//To change body of implemented methods use File | Settings | File Templates.
}
public void stopServer() throws NetworkServerException {
//To change body of implemented methods use File | Settings | File Templates.
}
public void addMessageListener(MessageListener messageListener) {
//To change body of implemented methods use File | Settings | File Templates.
}
public void removeMessageListener(MessageListener messageListener) {
//To change body of implemented methods use File | Settings | File Templates.
}
protected void enterConstructorImpl(long methodId, Object object, Object[] arguments) {
enterConstructorImplCounter++;
}
public void redefineClass(byte[] bytecode, String className, ClassLoader classLoader) {
//To change body of implemented methods use File | Settings | File Templates.
}
public Collection<Long> getProfilerThreadIds() {
return null; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public long generateMethodCallId() {
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
protected void processMethodCall(List<MethodCallDto> methodCallDto, MethodCallSummaryDto methodCallSummaryDto, boolean complete) {
}
@Override
public long generateClassId(ClassLoader classLoader, String className) {
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public long generateClassIdAndRegisterIfAbsent(Class clazz) {
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public void sendMessage(Message registerMethodMessage) {
//To change body of implemented methods use File | Settings | File Templates.
}
}