package io.vertigo.commons.plugins.analytics.analytica; import io.analytica.agent.plugins.net.influx.InfluxProcessConnector; import io.analytica.api.KProcessCollector; import io.vertigo.commons.impl.analytics.AnalyticsAgentPlugin; import io.vertigo.lang.Assertion; import java.net.InetAddress; import java.net.UnknownHostException; import javax.inject.Inject; import javax.inject.Named; public final class AnalyticaAnalyticsAgentPlugin implements AnalyticsAgentPlugin { private final KProcessCollector processCollector; /** * Constructeur. * @param appName * @param location System location (Environment, Server, Jvm, ..) */ @Inject public AnalyticaAnalyticsAgentPlugin(@Named("appName") final String appName /*, @Named("location") final String location*/) { Assertion.checkArgNotEmpty(appName); //----------------------------------------------------------------- String location; try { location = InetAddress.getLocalHost().getHostName(); } catch (final UnknownHostException e) { location = "unknown"; } processCollector = new KProcessCollector(appName, location, new InfluxProcessConnector(appName)); } /** {@inheritDoc} */ @Override public void startProcess(final String type, final String category) { processCollector.startProcess(type, category); } /** {@inheritDoc} */ @Override public void incMeasure(final String measureType, final double value) { processCollector.incMeasure(measureType, value); } /** {@inheritDoc} */ @Override public void setMeasure(final String measureType, final double value) { processCollector.setMeasure(measureType, value); } /** {@inheritDoc} */ @Override public void addMetaData(final String metaDataName, final String value) { processCollector.addMetaData(metaDataName, value); } @Override public void stopProcess() { processCollector.stopProcess(); } }