/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.monitoring.system.api.model; import java.io.Serializable; import de.rcenvironment.core.utils.common.StringUtils; /** * Immutable holder of system load data. * * @author Robert Mischke */ public final class SystemLoadInformation implements Serializable { private static final long serialVersionUID = 2948329066192197697L; private final AverageOfDoubles cpuLoadAvg; private final double cpuLoad; private final long availableRam; public SystemLoadInformation(AverageOfDoubles cpuLoadAvg, double cpuLoad, long availableRam) { this.cpuLoadAvg = cpuLoadAvg; this.cpuLoad = cpuLoad; this.availableRam = availableRam; } public AverageOfDoubles getCpuLoadAvg() { return cpuLoadAvg; } public double getCpuLoad() { return cpuLoad; } public long getAvailableRam() { return availableRam; } @Override public String toString() { return StringUtils.format("CPU load average: %f (n=%d), Available RAM: %s kiB", cpuLoadAvg.getAverage(), cpuLoadAvg.getNumSamples(), availableRam); } }