Skip to content

Commit

Permalink
[HWKMETRICS-689] make collection interval configurable
Browse files Browse the repository at this point in the history
The collection interval for internal metrics is interpreted in seconds and
defaults to 3 minutes.

I also fixed the flags for enabling internal metrics reporting so that they
are disabled by default.
  • Loading branch information
John Sanda committed Jun 28, 2017
1 parent 0fc14c0 commit 59759b2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,14 @@
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.COMPRESSION_JOB_ENABLED;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.COMPRESSION_QUERY_PAGE_SIZE;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.DEFAULT_TTL;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.DISABLE_METRICS_JMX;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.INGEST_MAX_RETRIES;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.INGEST_MAX_RETRY_DELAY;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.JMX_REPORTING_ENABLED;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.METRICS_EXPIRATION_DELAY;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.METRICS_EXPIRATION_JOB_ENABLED;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.METRICS_EXPIRATION_JOB_FREQUENCY;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.METRICS_REPORTING_DISABLED;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.METRICS_REPORTING_COLLECTION_INTERVAL;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.METRICS_REPORTING_ENABLED;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.METRICS_REPORTING_HOSTNAME;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.PAGE_SIZE;
import static org.hawkular.metrics.api.jaxrs.config.ConfigurationKey.WAIT_FOR_SERVICE;
Expand Down Expand Up @@ -242,8 +243,8 @@ public enum State {

@Inject
@Configurable
@ConfigurationProperty(DISABLE_METRICS_JMX)
private String disableMetricsJmxReporting;
@ConfigurationProperty(JMX_REPORTING_ENABLED)
private String jmxReportingEnabled;

@Inject
@Configurable
Expand Down Expand Up @@ -287,8 +288,13 @@ public enum State {

@Inject
@Configurable
@ConfigurationProperty(METRICS_REPORTING_DISABLED)
private String metricsReportingDisabled;
@ConfigurationProperty(METRICS_REPORTING_ENABLED)
private String metricsReportingEnabled;

@Inject
@Configurable
@ConfigurationProperty(METRICS_REPORTING_COLLECTION_INTERVAL)
private String collectionIntervalConfig;

@Inject
@Configurable
Expand Down Expand Up @@ -446,9 +452,10 @@ private void startMetricsService() {

new CassandraDriverMetrics(session, metricRegistry).registerAll();

if (!Boolean.valueOf(metricsReportingDisabled)) {
if (Boolean.valueOf(metricsReportingEnabled)) {
DropWizardReporter reporter = new DropWizardReporter(metricRegistry, metricNameService, metricsService);
reporter.start(1, MINUTES);
int interval = Integer.getInteger(collectionIntervalConfig, 180);
reporter.start(interval, SECONDS);
}

metricsServiceReady.fire(new ServiceReadyEvent(metricsService.insertedDataEvents()));
Expand All @@ -457,7 +464,7 @@ private void startMetricsService() {

initGCGraceSecondsManager();

if (!Boolean.parseBoolean(disableMetricsJmxReporting)) {
if (Boolean.parseBoolean(jmxReportingEnabled)) {
Map<String, MetaData> map = metricRegistry.getMetaDataMap();
HawkularObjectNameFactory JMXObjNameFactory = new HawkularObjectNameFactory(map);
JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,15 @@ public enum ConfigurationKey {
COMPRESSION_JOB_ENABLED("hawkular.metrics.jobs.compression.enabled", null, "COMPRESSION_JOB_ENABLED", false),
WAIT_FOR_SERVICE("hawkular.metrics.waitForService", null, null, true),
DEFAULT_TTL("hawkular.metrics.default-ttl", "7", "DEFAULT_TTL", false),
DISABLE_METRICS_JMX("hawkular.metrics.disable-metrics-jmx-reporting", null, "DISABLE_METRICS_JMX", true),
JMX_REPORTING_ENABLED("hawkular.metrics.jmx-reporting-enabled", null, "JMX_REPORTING_ENABLED", true),

//Admin
ADMIN_TOKEN("hawkular.metrics.admin-token", null, "ADMIN_TOKEN", false),
ADMIN_TENANT("hawkular.metrics.admin-tenant", "admin", "ADMIN_TENANT", false),
METRICS_REPORTING_HOSTNAME("hawkular.metrics.reporting.hostname", null, "METRICS_REPORTING_HOSTNAME", false),
METRICS_REPORTING_DISABLED("hawkular.metrics.reporting.disabled", null, "METRICS_REPORTING_DISABLED", true),
METRICS_REPORTING_ENABLED("hawkular.metrics.reporting.enabled", null, "METRICS_REPORTING_ENABLED", true),
METRICS_REPORTING_COLLECTION_INTERVAL("hawkular.metrics.reporting.collection-interval", "180",
"METRICS_REPORTING_COLLECTION_INTERVAL", false),

//Metric expiration job configuration
METRICS_EXPIRATION_DELAY("hawkular.metrics.expiration.delay", "1", "METRICS_EXPIRATION_DELAY", false),
Expand Down

0 comments on commit 59759b2

Please sign in to comment.