public static void mergeGarbageCollection(final Set<GarbageCollectionDTO> targetSet, final Set<GarbageCollectionDTO> toMerge) { final Map<String, GarbageCollectionDTO> storageById = new HashMap<>(); for (final GarbageCollectionDTO targetUsage : targetSet) { storageById.put(targetUsage.getName(), targetUsage); } for (final GarbageCollectionDTO usageToMerge : toMerge) { final GarbageCollectionDTO targetUsage = storageById.get(usageToMerge.getName()); if (targetUsage == null) { storageById.put(usageToMerge.getName(), usageToMerge); } else { merge(targetUsage, usageToMerge); } } targetSet.clear(); targetSet.addAll(storageById.values()); }
if (getGarbageCollection() != null) { for (final GarbageCollectionDTO gcDto : getGarbageCollection()) { gcUsage.add(gcDto.clone());
public static void updatePrettyPrintedFields(final GarbageCollectionDTO target) { target.setCollectionTime(FormatUtils.formatHoursMinutesSeconds(target.getCollectionMillis(), TimeUnit.MILLISECONDS)); }
/** * Creates a GarbageCollectionDTO from the specified GarbageCollection. * * @param name name * @param garbageCollection gc * @return dto */ public SystemDiagnosticsSnapshotDTO.GarbageCollectionDTO createGarbageCollectionDTO(final String name, final GarbageCollection garbageCollection) { final SystemDiagnosticsSnapshotDTO.GarbageCollectionDTO dto = new SystemDiagnosticsSnapshotDTO.GarbageCollectionDTO(); dto.setName(name); dto.setCollectionCount(garbageCollection.getCollectionCount()); dto.setCollectionTime(FormatUtils.formatHoursMinutesSeconds(garbageCollection.getCollectionTime(), TimeUnit.MILLISECONDS)); dto.setCollectionMillis(garbageCollection.getCollectionTime()); return dto; }
@Override public GarbageCollectionDTO clone() { final GarbageCollectionDTO other = new GarbageCollectionDTO(); other.setName(getName()); other.setCollectionCount(getCollectionCount()); other.setCollectionTime(getCollectionTime()); other.setCollectionMillis(getCollectionMillis()); return other; } }
public static void merge(final GarbageCollectionDTO target, final GarbageCollectionDTO toMerge) { target.setCollectionCount(target.getCollectionCount() + toMerge.getCollectionCount()); target.setCollectionMillis(target.getCollectionMillis() + toMerge.getCollectionMillis()); updatePrettyPrintedFields(target); }