Search in sources :

Example 1 with CpuUtilStatPoint

use of com.cisco.trex.stl.gui.models.CpuUtilStatPoint in project trex-stateless-gui by cisco-system-traffic-generator.

the class CPUUtilizationChartController method render.

public void render(Map<String, ArrayHistory<CpuUtilStatPoint>> cpuUtilizationHistoryMap) {
    chart.getData().clear();
    final List<XYChart.Series<Double, Number>> seriesList = new LinkedList<>();
    final AtomicInteger index = new AtomicInteger(0);
    cpuUtilizationHistoryMap.entrySet().stream().limit(colors.length).forEach(entry -> {
        String core = entry.getKey();
        ArrayHistory<CpuUtilStatPoint> history = entry.getValue();
        XYChart.Series<Double, Number> series = new XYChart.Series<>();
        series.setName(core);
        double lastTime = history.last().getTime();
        int size = history.size();
        for (int i = 0; i < size; ++i) {
            final CpuUtilStatPoint point = history.get(i);
            final double time = point.getTime();
            series.getData().add(new XYChart.Data<>(time - lastTime, point.getValue()));
        }
        setSeriesColor(series, colors[index.getAndIncrement()]);
        seriesList.add(series);
    });
    chart.getData().addAll(seriesList);
}
Also used : CpuUtilStatPoint(com.cisco.trex.stl.gui.models.CpuUtilStatPoint) LinkedList(java.util.LinkedList) CpuUtilStatPoint(com.cisco.trex.stl.gui.models.CpuUtilStatPoint) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) XYChart(javafx.scene.chart.XYChart)

Example 2 with CpuUtilStatPoint

use of com.cisco.trex.stl.gui.models.CpuUtilStatPoint in project trex-stateless-gui by cisco-system-traffic-generator.

the class UtilizationStorage method handleUtilizationReceived.

private void handleUtilizationReceived(final WorkerStateEvent event) {
    final UtilizationService service = (UtilizationService) event.getSource();
    final Utilization receivedUtilization = service.getValue();
    if (receivedUtilization == null) {
        return;
    }
    synchronized (utilizationStatsMonitor) {
        synchronized (dataLock) {
            List<UtilizationCPU> cpuUtilizationStats = receivedUtilization.getCpu();
            int idx = 0;
            for (UtilizationCPU cpuUtilizationStat : cpuUtilizationStats) {
                String ports = cpuUtilizationStat.getPorts().stream().map(Objects::toString).collect(joining(", "));
                String key = String.format("Socket %s (%s)", idx, ports);
                String socketKey = String.format("Socket %s", idx);
                Optional<Map.Entry<String, ArrayHistory<CpuUtilStatPoint>>> entryOptional = cpuUtilizationHistoryMap.entrySet().stream().filter(entry -> entry.getKey().startsWith(socketKey)).findFirst();
                ArrayHistory<CpuUtilStatPoint> history;
                if (entryOptional.isPresent()) {
                    history = entryOptional.get().getValue();
                    cpuUtilizationHistoryMap.remove(entryOptional.get().getKey());
                } else {
                    history = new ArrayHistory<>(303);
                }
                int value = cpuUtilizationStat.getHistory().get(0);
                double time = System.currentTimeMillis() / 1000.0;
                history.add(new CpuUtilStatPoint(value, time));
                cpuUtilizationHistoryMap.put(key, history);
                idx++;
            }
        }
        cpuUtilsModels = toCPUUtilModel(receivedUtilization.getCpu());
        memUtilsModels.clear();
        memUtilsModels.add(totalMemUtilization(receivedUtilization.getMbufStats()));
        memUtilsModels.addAll(toMemUtilModel(receivedUtilization.getMbufStats()));
        memUtilsModels.add(percentageMemUtilization(receivedUtilization.getMbufStats()));
    }
    handleUtilizationChanged();
}
Also used : UtilizationCPUModel(com.cisco.trex.stl.gui.models.UtilizationCPUModel) Duration(javafx.util.Duration) java.util(java.util) Utilization(com.cisco.trex.stateless.model.stats.Utilization) UtilizationService(com.cisco.trex.stl.gui.services.UtilizationService) UtilizationCPU(com.cisco.trex.stateless.model.stats.UtilizationCPU) ArrayHistory(com.exalttech.trex.util.ArrayHistory) CpuUtilStatPoint(com.cisco.trex.stl.gui.models.CpuUtilStatPoint) MemoryUtilizationModel(com.cisco.trex.stl.gui.models.MemoryUtilizationModel) WorkerStateEvent(javafx.concurrent.WorkerStateEvent) Collectors(java.util.stream.Collectors) UtilizationService(com.cisco.trex.stl.gui.services.UtilizationService) CpuUtilStatPoint(com.cisco.trex.stl.gui.models.CpuUtilStatPoint) CpuUtilStatPoint(com.cisco.trex.stl.gui.models.CpuUtilStatPoint) Utilization(com.cisco.trex.stateless.model.stats.Utilization) UtilizationCPU(com.cisco.trex.stateless.model.stats.UtilizationCPU)

Aggregations

CpuUtilStatPoint (com.cisco.trex.stl.gui.models.CpuUtilStatPoint)2 Utilization (com.cisco.trex.stateless.model.stats.Utilization)1 UtilizationCPU (com.cisco.trex.stateless.model.stats.UtilizationCPU)1 MemoryUtilizationModel (com.cisco.trex.stl.gui.models.MemoryUtilizationModel)1 UtilizationCPUModel (com.cisco.trex.stl.gui.models.UtilizationCPUModel)1 UtilizationService (com.cisco.trex.stl.gui.services.UtilizationService)1 ArrayHistory (com.exalttech.trex.util.ArrayHistory)1 java.util (java.util)1 LinkedList (java.util.LinkedList)1 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 Collectors (java.util.stream.Collectors)1 WorkerStateEvent (javafx.concurrent.WorkerStateEvent)1 XYChart (javafx.scene.chart.XYChart)1 Duration (javafx.util.Duration)1