/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<MemoryInformationData> aggregatedObject, MemoryInformationData objectToAdd) { aggregatedObject.aggregate(objectToAdd); }
/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<HttpTimerData> aggregatedObject, HttpTimerData objectToAdd) { if (!uriBased) { if (!objectToAdd.getHttpInfo().hasInspectItTaggingHeader()) { // use case aggregation for elements that do not have any tagged value does not // make sense, thus we ignore these. return; } } aggregatedObject.aggregate(objectToAdd); if (!includeRequestMethod) { // If we have different request methods, we set the request method to "multiple" if (!objectToAdd.getHttpInfo().getRequestMethod().equals(aggregatedObject.getData().getHttpInfo().getRequestMethod()) && !aggregatedObject.getData().getHttpInfo().getRequestMethod().equals(HttpTimerData.REQUEST_METHOD_MULTIPLE)) { aggregatedObject.getData().getHttpInfo().setRequestMethod(HttpTimerData.REQUEST_METHOD_MULTIPLE); } } }
/** * Returns aggregation results. * * @return Returns aggregation results. */ public List<E> getResultList() { List<E> returnList = new ArrayList<>(); for (IAggregatedData<E> aggregatedData : aggregationMap.values()) { returnList.add(aggregatedData.getData()); } return returnList; }
/** * Writes the oldest data to the storage. */ private void writeOldest() { IAggregatedData<E> oldest = queue.poll(); E data = oldest.getData(); map.remove(getCacheHash(data, data.getTimeStamp().getTime())); elementCount.decrementAndGet(); passToStorageWriter(data); }
/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<TimerData> aggregatedObject, TimerData objectToAdd) { aggregatedObject.aggregate(objectToAdd); }
/** * Creates new {@link TimerData} object for aggregation purposes. * * @param timerData * {@link TimerData} to clone. * @param alteredTimestamp * New altered time stamp clone to have. * @return Cloned object ready for aggregation. */ private IAggregatedData<E> clone(E timerData, long alteredTimestamp) { IAggregatedData<E> clone = dataAggregator.getClone(timerData); clone.getData().setId(timerData.getId()); clone.getData().setTimeStamp(new Timestamp(alteredTimestamp)); return clone; }
/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<ThreadInformationData> aggregatedObject, ThreadInformationData objectToAdd) { aggregatedObject.aggregate(objectToAdd); }
/** * {@inheritDoc} */ @Override public Collection<Future<Void>> flush() { Collection<Future<Void>> futures = new ArrayList<>(); IAggregatedData<E> oldest = queue.poll(); while (null != oldest) { E data = oldest.getData(); map.remove(getCacheHash(data, data.getTimeStamp().getTime())); elementCount.decrementAndGet(); Future<Void> future = passToStorageWriter(data); CollectionUtils.addIgnoreNull(futures, future); oldest = queue.poll(); } return futures; }
/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<SqlStatementData> aggregatedObject, SqlStatementData objectToAdd) { aggregatedObject.aggregate(objectToAdd); }
/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<JmxSensorValueData> aggregatedObject, JmxSensorValueData objectToAdd) { aggregatedObject.aggregate(objectToAdd); }
/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<CpuInformationData> aggregatedObject, CpuInformationData objectToAdd) { aggregatedObject.aggregate(objectToAdd); }
/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<ClassLoadingInformationData> aggregatedObject, ClassLoadingInformationData objectToAdd) { aggregatedObject.aggregate(objectToAdd); }
/** * {@inheritDoc} */ @Override public void aggregate(IAggregatedData<ExceptionSensorData> aggregatedObject, ExceptionSensorData objectToAdd) { aggregatedObject.aggregate(objectToAdd); if (null != objectToAdd.getChild()) { aggregate(aggregatedObject, objectToAdd.getChild()); } }