This page describes all problems, tasks and solution approaches regarding tracing of method invocations in the same thread.
Main topics
How to access information about the current method in a reliable way?
- How to associate a called method with it's caller?
- How to collect and filter the invocation information without much overhead in the target application and network?
Current solution (state)
(Previous solution approaches regarding this topic were already discussed in the master thesis.)
Currently the sequence sensor is implemented as container, which collects all sensor(e.g. timer sensor) data starting from an defined start point (execution of a predefined method).
This collected data is chronologically ordered, to allow to trace the invocation sequence.
But this is not suitable for asynchronous methods. TODO: Validate if this is the current state of the sequence sensor. Possibly there were improvements in the meantime.
New approaches / solution
Coming soon...
Questions / Possible Problems
- Do we have to modify the ClassLoaders and therefore keep them thread safe?
- Do we have to modify Java core classes?
- Which JVM implementations (e.g Sun JVM/ Sun Open JVM/ BEA JRockit/ Kaffe) can Javassist instrument / can be used on? (Is Javassist really platform independent?)
- What, when Javassist does not work on a JVM?