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.


MethodCalling MethodCalling ClassesWhat is aggregatedRemarksDecision
getMethodSensorDatasecondAfterBodyAverageTimerHookTimerDataIvan told that the AverageTimerHook is currently not available anymore(tick) delete whole class


PreparedStatementHookSqlStatementData
(tick) no aggregation anymore should be done


StatementHookSqlStatementData
(tick) no aggregation anymore should be done
getPlatformSensorDataupdateClassLoadingInformationClassLoadingInformationData

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

(tick) First of all, we don't store temporary data centrally anymore but per sensor which cares about updating and aggregation. there will be an update and a retrieveData method which will trigger the aggregation process and the retrieve will implicitely delete the current available data object so that it starts over.


CompilationInformationCompilationInformationData(tick)


CpuInformationCpuInformationData(tick)


MemoryInformationMemoryInformationData(tick)


RuntimeInformationRuntimeInformationData(tick)


ThreadInformationThreadInformationData(tick)
getExceptionSensorData---
(tick) (no aggregation here)
getObjectStoragesecondAfterBodyTimerHook

TimerRawVO -> AggregateTimerStorage

TimerData -> OptimizedTimerStorage

TimerRawVO -> PlainTimerStorage


(tick) no aggregation anymore should be done (remove all classes that are not needed anymore)