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.cmr.model.JmxDefinitionDataIdent; import rocks.inspectit.shared.all.communication.data.JmxSensorValueData; /** * Point builder for the {@link JmxSensorValueData}. * * @author Ivan Senic * @author Alexander Wert * */ @Component public class JmxPointBuilder extends DefaultDataPointBuilder<JmxSensorValueData> { /** * {@inheritDoc} */ @Override public Class<JmxSensorValueData> getDataClass() { return JmxSensorValueData.class; } /** * {@inheritDoc} */ @Override protected String getSeriesName() { return Series.Jmx.NAME; } /** * {@inheritDoc} */ @Override protected void addTags(JmxSensorValueData data, Builder builder) { super.addTags(data, builder); JmxDefinitionDataIdent jmxDefinitionDataIdent = cachedDataService.getJmxDefinitionDataIdentForId(data.getJmxSensorDefinitionDataIdentId()); if (null != jmxDefinitionDataIdent) { builder.tag(Series.Jmx.TAG_JMX_ATTRIBUTE_FULL_NAME, jmxDefinitionDataIdent.getDerivedFullName()); } } /** * {@inheritDoc} */ @Override protected void addFields(JmxSensorValueData data, Builder builder) { // fields builder.addField(Series.Jmx.FIELD_VALUE, data.getValueAsDouble()); } }