package de.is24.util.monitoring.statsd; import de.is24.util.monitoring.tools.LocalHostNameResolver; public abstract class StatsdMessageFormatter { private final String appName; private final String localHostName; public StatsdMessageFormatter(final String appName, final String localHostName) { this.appName = appName; this.localHostName = localHostName; } public StatsdMessageFormatter(final String appName, LocalHostNameResolver localHostNameResolver) { this(appName, localHostNameResolver.getLocalHostName().replaceAll("\\.", "_")); } public StatsdMessageFormatter(final String appName) { this(appName, new LocalHostNameResolver().getLocalHostName().replaceAll("\\.", "_")); } public abstract String formatSampledValue(String stat, double sampleRate); public abstract String formatUnsampledValue(String stat); String getAppName() { return appName; } String getLocalHostName() { return localHostName; } }