Agent registers to CMR
- When Agent configuration is created new use time-stamp of creation for the Agent Configuration last update time.
Class loaded on Agent
Synchronous sending mode
- No need to mark class as being sending in the cache, cause cache only knows about classes that should not be sent
Asynchronous sending mode
- We only need to send each class once, thus sent class is always marked as non-sending in the cache.. We will only send if we get the not-known hash basically.
Class sent to CMR
Based on the synchronous or asynchronous mode invoked, sending of instrumentation points at the end of the activity is in fact:
- sending to Agent (synchronous mode) or
- sending to queue Agent is reading from (asynchronous mode)
Missing from the activity diagram:
possible saving of the changed byte code to the diskpossible sending of the additional byte-code for classes that need to be updated
Questions / Remarks: (Clear this after discussion and add to decisions or what ever chapter )
- What if an interface is added that would affect the instrumentation of already loaded classes? (your second point above?)
- When nothing is changed we can return null and not send the bytecode again
- I think the saving of bytecode to disc must be added to this chart right away
- Below path (so new class), how would we added methods Ids before we know if we have instrumentations points?