package rocks.inspectit.server.influx.builder; import org.influxdb.dto.Point.Builder; import org.springframework.stereotype.Component; import rocks.inspectit.server.influx.constants.Series; import rocks.inspectit.shared.all.communication.data.CpuInformationData; /** * Point builder for the {@link CpuInformationData}. * * @author Ivan Senic * @author Alexander Wert * */ @Component public class CpuInformationPointBuilder extends DefaultDataPointBuilder<CpuInformationData> { /** * {@inheritDoc} */ @Override public Class<CpuInformationData> getDataClass() { return CpuInformationData.class; } /** * {@inheritDoc} */ @Override protected String getSeriesName() { return Series.CpuInformation.NAME; } /** * {@inheritDoc} */ @Override protected void addFields(CpuInformationData data, Builder builder) { float cpuAverage = data.getTotalCpuUsage() / data.getCount(); // fields builder.addField(Series.CpuInformation.FIELD_AVG_CPU_UTIL, cpuAverage); builder.addField(Series.CpuInformation.FIELD_MIN_CPU_UTIL, data.getMinCpuUsage()); builder.addField(Series.CpuInformation.FIELD_MAX_CPU_UTIL, data.getMaxCpuUsage()); } }