Aggregation of DefaultData(s) on the agent
The CoreService contains several getXXX() methods (XXX is the placeholder for subclasses of DefaultData like MethodSensorData) which provide DefaultData instances stored within the ConcurrentHashMap (current Agent Queue Realisation). This allows aggregation of DefaultData which is gathered during the time between sending intervals (currently 5 seconds).
With installation of the Disruptor Framework, the aggregation will most likely be removed competely. However, it is unknown if the aggregation can be removed complete or if special cases still need to be handled with aggregation on the agent. Below the aggregation points on the Agent are summarized in order to decide if the aggregation can be removed or needs to be retained.
Method | Calling Method | Calling Classes | What is aggregated | Remarks | Decision |
---|---|---|---|---|---|
getMethodSensorData | secondAfterBody | AverageTimerHook | TimerData | Ivan told that the AverageTimerHook is currently not available anymore | ![]() |
PreparedStatementHook | SqlStatementData | ![]() | |||
StatementHook | SqlStatementData | ![]() | |||
getPlatformSensorData | update | ClassLoadingInformation | ClassLoadingInformationData | Do we really need 1 second granularity? Currently this means that 5 measurements are aggregated. Correct? Why not measure each 5 seconds and send the one value. Exceptions might be CPU and Memory | ![]() |
CompilationInformation | CompilationInformationData | ![]() | |||
CpuInformation | CpuInformationData | ![]() | |||
MemoryInformation | MemoryInformationData | ![]() | |||
RuntimeInformation | RuntimeInformationData | ![]() | |||
ThreadInformation | ThreadInformationData | ![]() | |||
getExceptionSensorData | - | - | - | ![]() | |
getObjectStorage | secondAfterBody | TimerHook | TimerRawVO -> AggregateTimerStorage TimerData -> OptimizedTimerStorage TimerRawVO -> PlainTimerStorage | ![]() |