This page and it's child pages describe the reuse and continuation of the work on the advanced invocation sequence sensor.
This whole section should be considered as an summary of different ideas, concepts, and thoughts regarding reaching the goal and NOT as part of any kind of formal software documentation.
The pages provide a overview about the state of this project after the first iteration.
Based on this, new targets and approaches will be developed or old approaches will be reused and improved.
(Work in progress)
The goal
The goal is to extend InspectIT to make it possible to trace transactions (use cases) that go over the border of one JVM.
The planed capabilities include the following:
Functional requirements:
- Tracing invocation sequences that span over multiple threads (including synchronous and asynchronous method invocations)
- Tracing invocation sequences that span over multiple JVMs
- Efficient continuous sending of invocation sequence data to the CRM
- Possibility to store the invocation sequences in memory and as files (if requested by the user)
(This is already addressed with the new storage (In Memory Storage))
Non-functional requirements:
- High performance of the sensor (to put at less load as possible on the target application)
- Agent extension without adding further frameworks
- Reduction of method sensor storage (only save method sensors if they are configured)
- Runs on Java 1.5 - 1.7
There also some requirements about the tools and processes to use during this project:
- Git
- Continues Integration
- Eclipse 3.7
Extension topics
This section provides an overview upon all topics, tasks and problems that have to be addressed to reach the goal.
General
Agent related
Inner-Thread tracing (synchronous methods)
Inter-Thread tracing (asynchronous methods)
CMR related
Data structure to handle invocation data
Persistence Layer for handling this big amount of data
GUI client related
Representation of collected data
References
This work is based on Christian Herzog's Master Thesis "Tracing of Method Invocations in Java Applications" and his notes(IS advanced).