/** * Aggregates other class loading object info this object. * * @param other * Object to aggregate data from. */ @Override public void aggregate(ThreadInformationData other) { count += other.count; minDaemonThreadCount = Math.min(other.getMinDaemonThreadCount(), minDaemonThreadCount); minPeakThreadCount = Math.min(other.getMinPeakThreadCount(), minPeakThreadCount); minThreadCount = Math.min(other.getMinThreadCount(), minThreadCount); minTotalStartedThreadCount = Math.min(other.getMinTotalStartedThreadCount(), minTotalStartedThreadCount); maxDaemonThreadCount = Math.max(other.getMaxDaemonThreadCount(), maxDaemonThreadCount); maxPeakThreadCount = Math.max(other.getMaxPeakThreadCount(), maxPeakThreadCount); maxThreadCount = Math.max(other.getMaxThreadCount(), maxThreadCount); maxTotalStartedThreadCount = Math.max(other.getMaxTotalStartedThreadCount(), maxTotalStartedThreadCount); totalDaemonThreadCount += other.getTotalDaemonThreadCount(); totalPeakThreadCount += other.getTotalPeakThreadCount(); totalThreadCount += other.getTotalThreadCount(); totalTotalStartedThreadCount += other.getTotalTotalStartedThreadCount(); }
@Test void totalStartedThreadCountIsCalculated() { when(this.threadBean.getTotalStartedThreadCount()).thenReturn(10L).thenReturn(9L).thenReturn(11L).thenReturn(10L); this.cut.gather(); this.cut.gather(); this.cut.gather(); this.cut.gather(); ThreadInformationData collector = (ThreadInformationData) this.cut.get(); assertThat(collector.getMinTotalStartedThreadCount(), is(9L)); assertThat(collector.getMaxTotalStartedThreadCount(), is(11L)); assertThat(collector.getTotalTotalStartedThreadCount(), is(40L)); }
assertThat(threadInformationData.getMinTotalStartedThreadCount(), is(14L)); assertThat(threadInformationData.getMaxTotalStartedThreadCount(), is(15L));
assertThat(threadInformationData.getMinTotalStartedThreadCount(), is(Long.MAX_VALUE)); assertThat(threadInformationData.getMaxTotalStartedThreadCount(), is(0L));
if (totalStartedThreadCount < this.threadInformationData.getMinTotalStartedThreadCount()) { this.threadInformationData.setMinTotalStartedThreadCount(totalStartedThreadCount); } else if (totalStartedThreadCount > this.threadInformationData.getMaxTotalStartedThreadCount()) {
/** * {@inheritDoc} */ @Override public SystemSensorData get() { ThreadInformationData newThreadInformationData = new ThreadInformationData(); newThreadInformationData.setPlatformIdent(this.threadInformationData.getPlatformIdent()); newThreadInformationData.setSensorTypeIdent(this.threadInformationData.getSensorTypeIdent()); newThreadInformationData.setCount(this.threadInformationData.getCount()); newThreadInformationData.setTotalDaemonThreadCount(this.threadInformationData.getTotalDaemonThreadCount()); newThreadInformationData.setMinDaemonThreadCount(this.threadInformationData.getMinDaemonThreadCount()); newThreadInformationData.setMaxDaemonThreadCount(this.threadInformationData.getMaxDaemonThreadCount()); newThreadInformationData.setTotalPeakThreadCount(this.threadInformationData.getTotalPeakThreadCount()); newThreadInformationData.setMinPeakThreadCount(this.threadInformationData.getMinPeakThreadCount()); newThreadInformationData.setMaxPeakThreadCount(this.threadInformationData.getMaxPeakThreadCount()); newThreadInformationData.setTotalThreadCount(this.threadInformationData.getTotalThreadCount()); newThreadInformationData.setMinThreadCount(this.threadInformationData.getMinThreadCount()); newThreadInformationData.setMaxThreadCount(this.threadInformationData.getMaxThreadCount()); newThreadInformationData.setTotalTotalStartedThreadCount(this.threadInformationData.getTotalTotalStartedThreadCount()); newThreadInformationData.setMinTotalStartedThreadCount(this.threadInformationData.getMinTotalStartedThreadCount()); newThreadInformationData.setMaxTotalStartedThreadCount(this.threadInformationData.getMaxTotalStartedThreadCount()); newThreadInformationData.setTimeStamp(this.threadInformationData.getTimeStamp()); return newThreadInformationData; }