Bytecode Instrumentation
| 2004 JavaOne
SM
Conference | Session 3042 Copyright Hewlett Packard Co., 2004.
58
MyAgent.update() – 1
Find the class and method to instrument
public static void update() {
Class[] loadedClass = null;
Instrumentation inst = MyAgent.getMyInst();
loadedClass = inst.getAllLoadedClasses();
Class classOfInterest = null;
ClassAndMethod hotClassAndMethod =
MyMon.getHotClassAndMethod();
String classToInstrument = hotClassAndMethod.getMyClass();
String classToFind = new String("class " + classToInstrument);
// Find classToFind in loadedClass[]
classOfInterest = loadedClass[i];
String methodToInstrument = hotClassAndMethod.getMyMethod();
byte[] newClass =
MyTransformer.mytransform(
classToInstrument, methodToInstrument);