/**
*
*/
package com.github.lpezet.antiope.metrics.aws;
import java.util.Set;
import com.amazonaws.regions.Regions;
import com.github.lpezet.antiope.metrics.MetricType;
import com.github.lpezet.antiope.metrics.aws.spi.CompositeMetricTransformer;
import com.github.lpezet.antiope.metrics.aws.spi.IMetricTransformer;
import com.github.lpezet.antiope.metrics.aws.spi.PredefinedMetricTransformer;
/**
* @author Luc Pezet
*
*/
public class MetricsConfig {
public static final String DEFAULT_METRIC_NAMESPACE = "APISDK/Java";
private boolean mMachineMetricExcluded;
private String mMetricNameSpace;
private boolean mPerHostMetricEnabled;
private boolean mSingleMetricNamespace;
private String mHostMetricName;
private String mJvmMetricName;
private Regions mRegion;
private MetricsRegistry mMetricsRegistry = new MetricsRegistry();
private IMetricTransformer mMetricTransformer = new CompositeMetricTransformer().with( new PredefinedMetricTransformer() );
public boolean isMachineMetricExcluded() {
return mMachineMetricExcluded;
}
public void setMachineMetricExcluded(boolean pMachineMetricExcluded) {
mMachineMetricExcluded = pMachineMetricExcluded;
}
public String getMetricNameSpace() {
return mMetricNameSpace;
}
public void setMetricNameSpace(String pMetricNameSpace) {
mMetricNameSpace = pMetricNameSpace;
}
public boolean isPerHostMetricEnabled() {
return mPerHostMetricEnabled;
}
public void setPerHostMetricEnabled(boolean pPerHostMetricEnabled) {
mPerHostMetricEnabled = pPerHostMetricEnabled;
}
public boolean isSingleMetricNamespace() {
return mSingleMetricNamespace;
}
public void setSingleMetricNamespace(boolean pSingleMetricNamespace) {
mSingleMetricNamespace = pSingleMetricNamespace;
}
public String getHostMetricName() {
return mHostMetricName;
}
public void setHostMetricName(String pHostMetricName) {
mHostMetricName = pHostMetricName;
}
public String getJvmMetricName() {
return mJvmMetricName;
}
public void setJvmMetricName(String pJvmMetricName) {
mJvmMetricName = pJvmMetricName;
}
public MetricsConfig withJvmMetricName(String pValue) {
mJvmMetricName = pValue;
return this;
}
public Regions getRegion() {
return mRegion;
}
public void setRegion(Regions pRegion) {
mRegion = pRegion;
}
public MetricsConfig withRegion(Regions pValue) {
mRegion = pValue;
return this;
}
public MetricsRegistry getMetricsRegistry() {
return mMetricsRegistry;
}
public void setMetricsRegistry(MetricsRegistry pMetricsRegistry) {
mMetricsRegistry = pMetricsRegistry;
}
public MetricsConfig withMetricsRegistry(MetricsRegistry pValue) {
mMetricsRegistry = pValue;
return this;
}
public Set<MetricType> getPredefinedMetrics() {
return mMetricsRegistry.predefinedMetrics();
}
public IMetricTransformer getMetricTransformer() {
return mMetricTransformer;
}
public void setMetricTransformer(IMetricTransformer pMetricTransformer) {
mMetricTransformer = pMetricTransformer;
}
public MetricsConfig withMetricTransformer(IMetricTransformer pValue) {
mMetricTransformer = pValue;
return this;
}
}