package org.gbif.occurrence.cli.common; import java.util.concurrent.TimeUnit; import com.beust.jcommander.Parameter; import com.fasterxml.jackson.annotation.JsonIgnore; import com.google.common.base.Objects; import com.yammer.metrics.reporting.GangliaReporter; /** * A configuration class which holds the host and port to connect yammer metrics to a ganglia server. */ @SuppressWarnings("PublicField") public class GangliaConfiguration { @Parameter(names = "--ganglia-host") public String gangliaHost; @Parameter(names = "--ganglia-port") public int gangliaPort; /** * Starts the GangliaReporter, pointing to the configured host and port. */ @JsonIgnore public void start() { if (gangliaHost != null && gangliaPort > 0) { GangliaReporter.enable(1, TimeUnit.MINUTES, gangliaHost, gangliaPort); } } @Override public String toString() { return Objects.toStringHelper(this).add("gangliaHost", gangliaHost).add("gangliaPort", gangliaPort).toString(); } }