/** * Updates the lower plot with the given input data. * * @param memoryData * the input data. */ private void addLowerPlotData(List<MemoryInformationData> memoryData) { for (MemoryInformationData data : memoryData) { // TODO adjust the fractional part long usedNonHeapMemoryAvg = (data.getTotalUsedNonHeapMemorySize() / data.getCount()) / 1024; nonHeapMemory.add(data.getTimeStamp().getTime(), usedNonHeapMemoryAvg, data.getMinUsedNonHeapMemorySize() / 1024.0d, data.getMaxUsedNonHeapMemorySize() / 1024.0d, false); } nonHeapMemory.fireSeriesChanged(); }
@Test void usedNonHeapMemorySizeIsCalculated() { this.mockCollectorWithDefaults(); MemoryUsage nonHeapMemoryUsage = this.memoryBean.getNonHeapMemoryUsage(); when(nonHeapMemoryUsage.getUsed()).thenReturn(10L).thenReturn(9L).thenReturn(11L).thenReturn(10L); this.cut.gather(); this.cut.gather(); this.cut.gather(); this.cut.gather(); MemoryInformationData collector = (MemoryInformationData) this.cut.get(); assertThat(collector.getMinUsedNonHeapMemorySize(), is(9L)); assertThat(collector.getMaxUsedNonHeapMemorySize(), is(11L)); assertThat(collector.getTotalUsedNonHeapMemorySize(), is(40L)); }
when(data.getMinUsedHeapMemorySize()).thenReturn(0L); when(data.getMaxUsedHeapMemorySize()).thenReturn(0L); when(data.getMinUsedNonHeapMemorySize()).thenReturn(0L); when(data.getMaxUsedNonHeapMemorySize()).thenReturn(0L); assertThat(getFields(pointBuilder), hasEntry(Series.MemoryInformation.FIELD_MIN_USED_HEAP_MEMORY, (Object) data.getMinUsedHeapMemorySize())); assertThat(getFields(pointBuilder), hasEntry(Series.MemoryInformation.FIELD_MAX_USED_NON_HEAP_MEMORY, (Object) data.getMaxUsedNonHeapMemorySize())); assertThat(getFields(pointBuilder), hasEntry(Series.MemoryInformation.FIELD_MIN_USED_NON_HEAP_MEMORY, (Object) data.getMinUsedNonHeapMemorySize()));
when(data.getMinUsedHeapMemorySize()).thenReturn(RandomUtils.nextLong()); when(data.getMaxUsedHeapMemorySize()).thenReturn(RandomUtils.nextLong()); when(data.getMinUsedNonHeapMemorySize()).thenReturn(RandomUtils.nextLong()); when(data.getMaxUsedNonHeapMemorySize()).thenReturn(RandomUtils.nextLong()); assertThat(getFields(pointBuilder), hasEntry(Series.MemoryInformation.FIELD_MIN_USED_HEAP_MEMORY, (Object) data.getMinUsedHeapMemorySize())); assertThat(getFields(pointBuilder), hasEntry(Series.MemoryInformation.FIELD_MAX_USED_NON_HEAP_MEMORY, (Object) data.getMaxUsedNonHeapMemorySize())); assertThat(getFields(pointBuilder), hasEntry(Series.MemoryInformation.FIELD_MIN_USED_NON_HEAP_MEMORY, (Object) data.getMinUsedNonHeapMemorySize()));
assertThat(memoryInformationData.getMinUsedNonHeapMemorySize(), is(Long.MAX_VALUE)); assertThat(memoryInformationData.getMaxUsedNonHeapMemorySize(), is(0L));
assertThat(memoryInformationData.getMinUsedNonHeapMemorySize(), is(20L)); assertThat(memoryInformationData.getMaxUsedNonHeapMemorySize(), is(21L));
if (usedNonHeapMemorySize < this.memoryInformationData.getMinUsedNonHeapMemorySize()) { this.memoryInformationData.setMinUsedNonHeapMemorySize(usedNonHeapMemorySize); } else if (usedNonHeapMemorySize > this.memoryInformationData.getMaxUsedNonHeapMemorySize()) {
builder.addField(Series.MemoryInformation.FIELD_MAX_USED_HEAP_MEMORY, data.getMaxUsedHeapMemorySize()); builder.addField(Series.MemoryInformation.FIELD_AVG_USED_NON_HEAP_MEMORY, usedNonHeapMemorySize); builder.addField(Series.MemoryInformation.FIELD_MIN_USED_NON_HEAP_MEMORY, data.getMinUsedNonHeapMemorySize()); builder.addField(Series.MemoryInformation.FIELD_MAX_USED_NON_HEAP_MEMORY, data.getMaxUsedNonHeapMemorySize());
newMemoryInformationData.setMinUsedNonHeapMemorySize(this.memoryInformationData.getMinUsedNonHeapMemorySize()); newMemoryInformationData.setMaxUsedNonHeapMemorySize(this.memoryInformationData.getMaxUsedNonHeapMemorySize());