/** * Creates a new instance of this filter. * * @param numberOfEntries * Maximal number of entries in a XYPlot * @param warningIntervals * The intervals for the colors displayed in a XYPlot * @param recordsTimeUnit * Time unit to interpret the timestamp of a record passed to the input port */ public CPUUtilizationDisplayFilter(final int numberOfEntries, final Number[] warningIntervals, final TimeUnit recordsTimeUnit) { this.warningIntervals = warningIntervals.clone(); this.recordsTimeUnit = recordsTimeUnit; // Create the display objects this.meterGauge = new MeterGauge(); this.xyplot = new XYPlot(numberOfEntries); }
private void updateDisplays(final CPUUtilizationRecord record) { // Calculate the minutes and seconds of the logging timestamp of the record final Date date = new Date(TimeUnit.MILLISECONDS.convert(record.getLoggingTimestamp(), super.recordsTimeUnitFromProjectContext)); final String minutesAndSeconds = date.toString().substring(14, 19); final String id = record.getHostname() + " - " + record.getCpuID(); this.meterGauge.setIntervals(id, Arrays.asList(this.warningIntervals), Arrays.asList("66cc66", "E7E658", "cc6666")); this.meterGauge.setValue(id, record.getTotalUtilization() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.TOTAL_UTILIZATION, minutesAndSeconds, record.getTotalUtilization() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.IDLE, minutesAndSeconds, record.getIdle() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.IRQ, minutesAndSeconds, record.getIrq() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.NICE, minutesAndSeconds, record.getNice() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.SYSTEM, minutesAndSeconds, record.getSystem() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.USER, minutesAndSeconds, record.getUser() * 100); }
/** * Tests if the meter gauge received the correct values. */ @Test public void meterGaugeValueShouldBeCorrect() { StageTester.test(this.cpuUtilFilter).and().send(this.record).to(this.cpuUtilFilter.getInputPort()).start(); Assert.assertThat(this.cpuUtilFilter.getMeterGauge().getValue(this.id).doubleValue() / 100, Is.is(TOTAL_UTILISATION)); }
private void updateDisplays(final CPUUtilizationRecord record) { // Calculate the minutes and seconds of the logging timestamp of the record final Date date = new Date(TimeUnit.MILLISECONDS.convert(record.getLoggingTimestamp(), super.recordsTimeUnitFromProjectContext)); final String minutesAndSeconds = date.toString().substring(14, 19); final String id = record.getHostname() + " - " + record.getCpuID(); this.meterGauge.setIntervals(id, Arrays.asList(this.warningIntervals), Arrays.asList("66cc66", "E7E658", "cc6666")); this.meterGauge.setValue(id, record.getTotalUtilization() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.TOTAL_UTILIZATION, minutesAndSeconds, record.getTotalUtilization() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.IDLE, minutesAndSeconds, record.getIdle() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.IRQ, minutesAndSeconds, record.getIrq() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.NICE, minutesAndSeconds, record.getNice() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.SYSTEM, minutesAndSeconds, record.getSystem() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.USER, minutesAndSeconds, record.getUser() * 100); }
private void updateDisplays(final CPUUtilizationRecord record) { // Calculate the minutes and seconds of the logging timestamp of the record final Date date = new Date(TimeUnit.MILLISECONDS.convert(record.getLoggingTimestamp(), this.recordsTimeUnit)); final String minutesAndSeconds = date.toString().substring(14, 19); final String id = record.getHostname() + " - " + record.getCpuID(); this.meterGauge.setIntervals(id, Arrays.asList(this.warningIntervals), Arrays.asList("66cc66", "E7E658", "cc6666")); this.meterGauge.setValue(id, record.getTotalUtilization() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.TOTAL_UTILIZATION, minutesAndSeconds, record.getTotalUtilization() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.IDLE, minutesAndSeconds, record.getIdle() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.IRQ, minutesAndSeconds, record.getIrq() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.NICE, minutesAndSeconds, record.getNice() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.SYSTEM, minutesAndSeconds, record.getSystem() * 100); this.xyplot.setEntry(id + " - " + CPUUtilizationDisplayFilter.USER, minutesAndSeconds, record.getUser() * 100); }
public CPUUtilizationDisplayFilter(final Configuration configuration, final IProjectContext projectContext) { super(configuration, projectContext); // Read the configuration this.numberOfEntries = configuration.getIntProperty(CONFIG_PROPERTY_NAME_NUMBER_OF_ENTRIES); final String[] warningIntervalsAsString = configuration.getStringArrayProperty(CONFIG_PROPERTY_NAME_DISPLAY_WARNING_INTERVALS); this.warningIntervals = new Number[warningIntervalsAsString.length]; for (int i = 0; i < warningIntervalsAsString.length; i++) { this.warningIntervals[i] = Long.parseLong(warningIntervalsAsString[i]); } // Create the display objects this.meterGauge = new MeterGauge(); this.xyplot = new XYPlot(this.numberOfEntries); }
public CPUUtilizationDisplayFilter(final Configuration configuration, final IProjectContext projectContext) { super(configuration, projectContext); // Read the configuration this.numberOfEntries = configuration.getIntProperty(CONFIG_PROPERTY_NAME_NUMBER_OF_ENTRIES); final String[] warningIntervalsAsString = configuration.getStringArrayProperty(CONFIG_PROPERTY_NAME_DISPLAY_WARNING_INTERVALS); this.warningIntervals = new Number[warningIntervalsAsString.length]; for (int i = 0; i < warningIntervalsAsString.length; i++) { this.warningIntervals[i] = Long.parseLong(warningIntervalsAsString[i]); } // Create the display objects this.meterGauge = new MeterGauge(); this.xyplot = new XYPlot(this.numberOfEntries); }