test_class.file: stagemonitor-core/src/test/java/org/stagemonitor/core/CorePluginTest.java
test_class.identifier: CorePluginTest
test_case.body: @Test
  	public void testNoElasticsearchUrl() throws Exception {
  		CorePlugin corePlugin = ConfigurationRegistry.builder()
  				.addOptionProvider(new CorePlugin())
  				.addConfigSource(new SimpleSource("test"))
  				.build()
  				.getConfig(CorePlugin.class);
  
  		assertNull(corePlugin.getElasticsearchUrl());
  	}
test_case.class_method_signature: CorePluginTest.testNoElasticsearchUrl()
test_case.full_signature: @Test public void testNoElasticsearchUrl()
test_case.identifier: testNoElasticsearchUrl
test_case.invocations: getConfig build addConfigSource addOptionProvider builder assertNull getElasticsearchUrl
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testNoElasticsearchUrl()
focal_class.declarator: CORE_PLUGIN_NAME = "Core"
focal_class.modifier: private static final
focal_class.original_string: private static final String CORE_PLUGIN_NAME = "Core";
focal_class.type: String
focal_class.var_name: CORE_PLUGIN_NAME
focal_class.declarator: POOLS_QUEUE_CAPACITY_LIMIT_KEY = "stagemonitor.threadPools.queueCapacityLimit"
focal_class.modifier: public static final
focal_class.original_string: public static final String POOLS_QUEUE_CAPACITY_LIMIT_KEY = "stagemonitor.threadPools.queueCapacityLimit";
focal_class.type: String
focal_class.var_name: POOLS_QUEUE_CAPACITY_LIMIT_KEY
focal_class.declarator: ELASTICSEARCH = "elasticsearch"
focal_class.modifier: private static final
focal_class.original_string: private static final String ELASTICSEARCH = "elasticsearch";
focal_class.type: String
focal_class.var_name: ELASTICSEARCH
focal_class.declarator: METRICS_STORE = "metrics-store"
focal_class.modifier: private static final
focal_class.original_string: private static final String METRICS_STORE = "metrics-store";
focal_class.type: String
focal_class.var_name: METRICS_STORE
focal_class.declarator: logger = LoggerFactory.getLogger(CorePlugin.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(CorePlugin.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: stagemonitorActive = ConfigurationOption.booleanOption()
  			.key("stagemonitor.active")
  			.dynamic(true)
  			.label("Activate stagemonitor")
  			.description("If set to `false` stagemonitor will be completely deactivated.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> stagemonitorActive = ConfigurationOption.booleanOption()
  			.key("stagemonitor.active")
  			.dynamic(true)
  			.label("Activate stagemonitor")
  			.description("If set to `false` stagemonitor will be completely deactivated.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: stagemonitorActive
focal_class.declarator: internalMonitoring = ConfigurationOption.booleanOption()
  			.key("stagemonitor.internal.monitoring")
  			.dynamic(true)
  			.label("Internal monitoring")
  			.description("If active, stagemonitor will collect internal performance data")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(false)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> internalMonitoring = ConfigurationOption.booleanOption()
  			.key("stagemonitor.internal.monitoring")
  			.dynamic(true)
  			.label("Internal monitoring")
  			.description("If active, stagemonitor will collect internal performance data")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(false);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: internalMonitoring
focal_class.declarator: reportingIntervalConsole = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.interval.console")
  			.dynamic(false)
  			.label("Reporting interval console")
  			.description("The amount of time between console reports (in seconds). " +
  					"To deactivate console reports, set this to a value below 1.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(0)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> reportingIntervalConsole = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.interval.console")
  			.dynamic(false)
  			.label("Reporting interval console")
  			.description("The amount of time between console reports (in seconds). " +
  					"To deactivate console reports, set this to a value below 1.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(0);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: reportingIntervalConsole
focal_class.declarator: reportingJmx = ConfigurationOption.booleanOption()
  			.key("stagemonitor.reporting.jmx")
  			.dynamic(false)
  			.label("Expose MBeans")
  			.description("Whether or not to expose all metrics as MBeans.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(false)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> reportingJmx = ConfigurationOption.booleanOption()
  			.key("stagemonitor.reporting.jmx")
  			.dynamic(false)
  			.label("Expose MBeans")
  			.description("Whether or not to expose all metrics as MBeans.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(false);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: reportingJmx
focal_class.declarator: reportingIntervalGraphite = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.interval.graphite")
  			.dynamic(false)
  			.label("Reporting interval graphite")
  			.description("The amount of time between the metrics are reported to graphite (in seconds).\n" +
  					"To deactivate graphite reporting, set this to a value below 1, or don't provide " +
  					"stagemonitor.reporting.graphite.hostName.")
  			.tags(METRICS_STORE, "graphite")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(60)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> reportingIntervalGraphite = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.interval.graphite")
  			.dynamic(false)
  			.label("Reporting interval graphite")
  			.description("The amount of time between the metrics are reported to graphite (in seconds).\n" +
  					"To deactivate graphite reporting, set this to a value below 1, or don't provide " +
  					"stagemonitor.reporting.graphite.hostName.")
  			.tags(METRICS_STORE, "graphite")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(60);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: reportingIntervalGraphite
focal_class.declarator: graphiteHostName = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.graphite.hostName")
  			.dynamic(false)
  			.label("Graphite host name")
  			.description("The name of the host where graphite is running. This setting is mandatory, if you want " +
  					"to use the grafana dashboards.")
  			.tags(METRICS_STORE, "graphite")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.build()
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> graphiteHostName = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.graphite.hostName")
  			.dynamic(false)
  			.label("Graphite host name")
  			.description("The name of the host where graphite is running. This setting is mandatory, if you want " +
  					"to use the grafana dashboards.")
  			.tags(METRICS_STORE, "graphite")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.build();
focal_class.type: ConfigurationOption<String>
focal_class.var_name: graphiteHostName
focal_class.declarator: graphitePort = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.graphite.port")
  			.dynamic(false)
  			.label("Carbon port")
  			.description("The port where carbon is listening.")
  			.tags(METRICS_STORE, "graphite")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(2003)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> graphitePort = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.graphite.port")
  			.dynamic(false)
  			.label("Carbon port")
  			.description("The port where carbon is listening.")
  			.tags(METRICS_STORE, "graphite")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(2003);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: graphitePort
focal_class.declarator: influxDbUrl = ConfigurationOption.urlOption()
  			.key("stagemonitor.reporting.influxdb.url")
  			.dynamic(true)
  			.label("InfluxDB URL")
  			.description("The URL of your InfluxDB installation.")
  			.tags(METRICS_STORE, "influx-db")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.build()
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<URL> influxDbUrl = ConfigurationOption.urlOption()
  			.key("stagemonitor.reporting.influxdb.url")
  			.dynamic(true)
  			.label("InfluxDB URL")
  			.description("The URL of your InfluxDB installation.")
  			.tags(METRICS_STORE, "influx-db")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.build();
focal_class.type: ConfigurationOption<URL>
focal_class.var_name: influxDbUrl
focal_class.declarator: influxDbDb = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.influxdb.db")
  			.dynamic(true)
  			.label("InfluxDB database")
  			.description("The target database")
  			.tags(METRICS_STORE, "influx-db")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault("stagemonitor")
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> influxDbDb = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.influxdb.db")
  			.dynamic(true)
  			.label("InfluxDB database")
  			.description("The target database")
  			.tags(METRICS_STORE, "influx-db")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault("stagemonitor");
focal_class.type: ConfigurationOption<String>
focal_class.var_name: influxDbDb
focal_class.declarator: reportingIntervalInfluxDb = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.interval.influxdb")
  			.dynamic(false)
  			.label("Reporting interval InfluxDb")
  			.description("The amount of time between the metrics are reported to InfluxDB (in seconds).")
  			.tags(METRICS_STORE, "influx-db")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(60)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> reportingIntervalInfluxDb = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.interval.influxdb")
  			.dynamic(false)
  			.label("Reporting interval InfluxDb")
  			.description("The amount of time between the metrics are reported to InfluxDB (in seconds).")
  			.tags(METRICS_STORE, "influx-db")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(60);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: reportingIntervalInfluxDb
focal_class.declarator: reportingIntervalElasticsearch = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.interval.elasticsearch")
  			.dynamic(false)
  			.label("Reporting interval Elasticsearch")
  			.description("The amount of time between the metrics are reported to Elasticsearch (in seconds).")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(60)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> reportingIntervalElasticsearch = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.interval.elasticsearch")
  			.dynamic(false)
  			.label("Reporting interval Elasticsearch")
  			.description("The amount of time between the metrics are reported to Elasticsearch (in seconds).")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(60);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: reportingIntervalElasticsearch
focal_class.declarator: onlyLogElasticsearchMetricReports = ConfigurationOption.booleanOption()
  			.key("stagemonitor.reporting.elasticsearch.onlyLogElasticsearchMetricReports")
  			.dynamic(false)
  			.label("Only log Elasticsearch metric reports")
  			.description(String.format("If set to true, the metrics won't be reported to elasticsearch but instead logged in bulk format. " +
  					"The name of the logger is %s. That way you can redirect the reporting to a separate log file and use logstash or a " +
  					"different external process to send the metrics to elasticsearch.", ElasticsearchReporter.ES_METRICS_LOGGER))
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(false)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> onlyLogElasticsearchMetricReports = ConfigurationOption.booleanOption()
  			.key("stagemonitor.reporting.elasticsearch.onlyLogElasticsearchMetricReports")
  			.dynamic(false)
  			.label("Only log Elasticsearch metric reports")
  			.description(String.format("If set to true, the metrics won't be reported to elasticsearch but instead logged in bulk format. " +
  					"The name of the logger is %s. That way you can redirect the reporting to a separate log file and use logstash or a " +
  					"different external process to send the metrics to elasticsearch.", ElasticsearchReporter.ES_METRICS_LOGGER))
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(false);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: onlyLogElasticsearchMetricReports
focal_class.declarator: deleteElasticsearchMetricsAfterDays = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.deleteMetricsAfterDays")
  			.dynamic(false)
  			.label("Delete ES metrics after (days)")
  			.description("The number of days after the metrics stored in elasticsearch should be deleted. Set below 1 to deactivate.")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(-1)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> deleteElasticsearchMetricsAfterDays = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.deleteMetricsAfterDays")
  			.dynamic(false)
  			.label("Delete ES metrics after (days)")
  			.description("The number of days after the metrics stored in elasticsearch should be deleted. Set below 1 to deactivate.")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(-1);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: deleteElasticsearchMetricsAfterDays
focal_class.declarator: moveToColdNodesAfterDays = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.hotColdArchitecture.moveToColdNodesAfterDays")
  			.aliasKeys("stagemonitor.elasticsearch.hotColdArchitecture.moveToColdNodesAfterDays")
  			.dynamic(false)
  			.label("Activate Hot-Cold Architecture")
  			.description("Setting this to a value > 1 activates the hot-cold architecture described in https://www.elastic.co/blog/hot-warm-architecture " +
  					"where new data that is more frequently queried and updated is stored on beefy nodes (SSDs, more RAM and CPU). " +
  					"When the indexes reach a certain age, they are allocated on cold nodes. For this to work, you have to tag your " +
  					"beefy nodes with node.box_type: hot (either in elasticsearch.yml or start the node using ./bin/elasticsearch --node.box_type hot)" +
  					"and your historical nodes with node.box_type: cold.")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(-1)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> moveToColdNodesAfterDays = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.hotColdArchitecture.moveToColdNodesAfterDays")
  			.aliasKeys("stagemonitor.elasticsearch.hotColdArchitecture.moveToColdNodesAfterDays")
  			.dynamic(false)
  			.label("Activate Hot-Cold Architecture")
  			.description("Setting this to a value > 1 activates the hot-cold architecture described in https://www.elastic.co/blog/hot-warm-architecture " +
  					"where new data that is more frequently queried and updated is stored on beefy nodes (SSDs, more RAM and CPU). " +
  					"When the indexes reach a certain age, they are allocated on cold nodes. For this to work, you have to tag your " +
  					"beefy nodes with node.box_type: hot (either in elasticsearch.yml or start the node using ./bin/elasticsearch --node.box_type hot)" +
  					"and your historical nodes with node.box_type: cold.")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(-1);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: moveToColdNodesAfterDays
focal_class.declarator: numberOfReplicas = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.numberOfReplicas")
  			.aliasKeys("stagemonitor.elasticsearch.numberOfReplicas")
  			.dynamic(false)
  			.label("Number of ES Replicas")
  			.description("Sets the number of replicas of the Elasticsearch index templates.")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(0)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> numberOfReplicas = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.numberOfReplicas")
  			.aliasKeys("stagemonitor.elasticsearch.numberOfReplicas")
  			.dynamic(false)
  			.label("Number of ES Replicas")
  			.description("Sets the number of replicas of the Elasticsearch index templates.")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(0);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: numberOfReplicas
focal_class.declarator: numberOfShards = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.numberOfShards")
  			.aliasKeys("stagemonitor.elasticsearch.numberOfShards")
  			.dynamic(false)
  			.label("Number of ES Shards")
  			.description("Sets the number of shards of the Elasticsearch index templates.")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(1)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> numberOfShards = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.numberOfShards")
  			.aliasKeys("stagemonitor.elasticsearch.numberOfShards")
  			.dynamic(false)
  			.label("Number of ES Shards")
  			.description("Sets the number of shards of the Elasticsearch index templates.")
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(1);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: numberOfShards
focal_class.declarator: applicationName = ConfigurationOption.stringOption()
  			.key("stagemonitor.applicationName")
  			.dynamic(false)
  			.label("Application name")
  			.description("The name of the application.\n" +
  					"It is highly recommended to set this to a short and descriptive name of you application. " +
  					"The dashboards provide a filter for the application name.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("important")
  			.buildWithDefault("My Application")
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> applicationName = ConfigurationOption.stringOption()
  			.key("stagemonitor.applicationName")
  			.dynamic(false)
  			.label("Application name")
  			.description("The name of the application.\n" +
  					"It is highly recommended to set this to a short and descriptive name of you application. " +
  					"The dashboards provide a filter for the application name.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("important")
  			.buildWithDefault("My Application");
focal_class.type: ConfigurationOption<String>
focal_class.var_name: applicationName
focal_class.declarator: instanceName = ConfigurationOption.stringOption()
  			.key("stagemonitor.instanceName")
  			.dynamic(false)
  			.label("Instance name")
  			.description("The instance name.\n" +
  					"The instance or stage of your application. For example prod, test, test1, dev. " +
  					"It's important to set this to a useful value because the dashboards provide filters for the instance.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("important")
  			.buildWithDefault("My Instance")
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> instanceName = ConfigurationOption.stringOption()
  			.key("stagemonitor.instanceName")
  			.dynamic(false)
  			.label("Instance name")
  			.description("The instance name.\n" +
  					"The instance or stage of your application. For example prod, test, test1, dev. " +
  					"It's important to set this to a useful value because the dashboards provide filters for the instance.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("important")
  			.buildWithDefault("My Instance");
focal_class.type: ConfigurationOption<String>
focal_class.var_name: instanceName
focal_class.declarator: hostName = ConfigurationOption.stringOption()
  			.key("stagemonitor.hostName")
  			.dynamic(false)
  			.label("Host name")
  			.description("The host name.\n" +
  					"If this property is not set, the host name will default to resolving the host name for localhost, " +
  					"if this fails it will be loaded from the environment, either from COMPUTERNAME, HOSTNAME or HOST. " +
  					"The dashboards provide a filter for the host name.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(getNameOfLocalHost())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> hostName = ConfigurationOption.stringOption()
  			.key("stagemonitor.hostName")
  			.dynamic(false)
  			.label("Host name")
  			.description("The host name.\n" +
  					"If this property is not set, the host name will default to resolving the host name for localhost, " +
  					"if this fails it will be loaded from the environment, either from COMPUTERNAME, HOSTNAME or HOST. " +
  					"The dashboards provide a filter for the host name.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(getNameOfLocalHost());
focal_class.type: ConfigurationOption<String>
focal_class.var_name: hostName
focal_class.declarator: elasticsearchUrls = ConfigurationOption.urlsOption()
  			.key("stagemonitor.reporting.elasticsearch.url")
  			.aliasKeys("stagemonitor.elasticsearch.url")
  			.dynamic(true)
  			.label("Elasticsearch URL")
  			.description("A comma separated list of the Elasticsearch URLs that store spans and metrics. " +
  					"If your ES cluster is secured with basic authentication, you can use urls like https://user:password@example.com. " +
  					"The authentication information must be in application/x-www-form-urlencoded format. " +
  					"You can also specify default credentials (in plain text) with stagemonitor.reporting.elasticsearch.username and stagemonitor.reporting.elasticsearch.password."
  			)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags(ELASTICSEARCH)
  			.buildWithDefault(Collections.<URL>emptyList())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<List<URL>> elasticsearchUrls = ConfigurationOption.urlsOption()
  			.key("stagemonitor.reporting.elasticsearch.url")
  			.aliasKeys("stagemonitor.elasticsearch.url")
  			.dynamic(true)
  			.label("Elasticsearch URL")
  			.description("A comma separated list of the Elasticsearch URLs that store spans and metrics. " +
  					"If your ES cluster is secured with basic authentication, you can use urls like https://user:password@example.com. " +
  					"The authentication information must be in application/x-www-form-urlencoded format. " +
  					"You can also specify default credentials (in plain text) with stagemonitor.reporting.elasticsearch.username and stagemonitor.reporting.elasticsearch.password."
  			)
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags(ELASTICSEARCH)
  			.buildWithDefault(Collections.<URL>emptyList());
focal_class.type: ConfigurationOption<List<URL>>
focal_class.var_name: elasticsearchUrls
focal_class.declarator: elasticsearchDefaultUsername = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.elasticsearch.username")
  			.dynamic(true)
  			.label("Elasticsearch Username")
  			.description("The default username for all Elasticsearch URLs defined by stagemonitor.reporting.elasticsearch.url in plain text format.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags(ELASTICSEARCH)
  			.buildWithDefault("")
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> elasticsearchDefaultUsername = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.elasticsearch.username")
  			.dynamic(true)
  			.label("Elasticsearch Username")
  			.description("The default username for all Elasticsearch URLs defined by stagemonitor.reporting.elasticsearch.url in plain text format.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags(ELASTICSEARCH)
  			.buildWithDefault("");
focal_class.type: ConfigurationOption<String>
focal_class.var_name: elasticsearchDefaultUsername
focal_class.declarator: elasticsearchDefaultPassword = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.elasticsearch.password")
  			.dynamic(true)
  			.label("Elasticsearch Password")
  			.description("The default password for all Elasticsearch URLs defined by stagemonitor.reporting.elasticsearch.url in plain text format.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags(ELASTICSEARCH)
  			.sensitive()
  			.buildWithDefault("")
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> elasticsearchDefaultPassword = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.elasticsearch.password")
  			.dynamic(true)
  			.label("Elasticsearch Password")
  			.description("The default password for all Elasticsearch URLs defined by stagemonitor.reporting.elasticsearch.url in plain text format.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags(ELASTICSEARCH)
  			.sensitive()
  			.buildWithDefault("");
focal_class.type: ConfigurationOption<String>
focal_class.var_name: elasticsearchDefaultPassword
focal_class.declarator: elasticsearchConfigurationSourceProfiles = ConfigurationOption.stringsOption()
  			.key("stagemonitor.configuration.elasticsearch.configurationSourceProfiles")
  			.aliasKeys("stagemonitor.elasticsearch.configurationSourceProfiles")
  			.dynamic(false)
  			.label("Elasticsearch configuration source profiles")
  			.description("Set configuration profiles of configuration stored in elasticsearch as a centralized configuration source " +
  					"that can be shared between multiple server instances. Set the profiles appropriate to the current " +
  					"environment e.g. `common,prod`, `local`, `test`, ..." +
  					"When you provide multiple profiles, the later ones have precedence over the first ones. " +
  					"The configuration will be stored under " +
  					"`{stagemonitor.reporting.elasticsearch.url}/stagemonitor-configuration/configuration/{configurationSourceProfile}`.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptyList())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Collection<String>> elasticsearchConfigurationSourceProfiles = ConfigurationOption.stringsOption()
  			.key("stagemonitor.configuration.elasticsearch.configurationSourceProfiles")
  			.aliasKeys("stagemonitor.elasticsearch.configurationSourceProfiles")
  			.dynamic(false)
  			.label("Elasticsearch configuration source profiles")
  			.description("Set configuration profiles of configuration stored in elasticsearch as a centralized configuration source " +
  					"that can be shared between multiple server instances. Set the profiles appropriate to the current " +
  					"environment e.g. `common,prod`, `local`, `test`, ..." +
  					"When you provide multiple profiles, the later ones have precedence over the first ones. " +
  					"The configuration will be stored under " +
  					"`{stagemonitor.reporting.elasticsearch.url}/stagemonitor-configuration/configuration/{configurationSourceProfile}`.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptyList());
focal_class.type: ConfigurationOption<Collection<String>>
focal_class.var_name: elasticsearchConfigurationSourceProfiles
focal_class.declarator: deactivateStagemonitorIfEsConfigSourceIsDown = ConfigurationOption.booleanOption()
  			.key("stagemonitor.configuration.elasticsearch.deactivateStagemonitorIfEsIsDown")
  			.aliasKeys("stagemonitor.elasticsearch.configurationSource.deactivateStagemonitorIfEsIsDown")
  			.dynamic(false)
  			.label("Deactivate stagemonitor if elasticsearch configuration source is down")
  			.description("Set to true if stagemonitor should be deactivated if " +
  					"stagemonitor.configuration.elasticsearch.configurationSourceProfiles is set but elasticsearch can't be reached " +
  					"under stagemonitor.reporting.elasticsearch.url. Defaults to true to prevent starting stagemonitor with " +
  					"wrong configuration.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> deactivateStagemonitorIfEsConfigSourceIsDown = ConfigurationOption.booleanOption()
  			.key("stagemonitor.configuration.elasticsearch.deactivateStagemonitorIfEsIsDown")
  			.aliasKeys("stagemonitor.elasticsearch.configurationSource.deactivateStagemonitorIfEsIsDown")
  			.dynamic(false)
  			.label("Deactivate stagemonitor if elasticsearch configuration source is down")
  			.description("Set to true if stagemonitor should be deactivated if " +
  					"stagemonitor.configuration.elasticsearch.configurationSourceProfiles is set but elasticsearch can't be reached " +
  					"under stagemonitor.reporting.elasticsearch.url. Defaults to true to prevent starting stagemonitor with " +
  					"wrong configuration.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: deactivateStagemonitorIfEsConfigSourceIsDown
focal_class.declarator: excludedMetrics = ConfigurationOption
  			.builder(new SetValueConverter<MetricName>(new MetricNameValueConverter()), Collection.class)
  			.key("stagemonitor.metrics.excluded.pattern")
  			.dynamic(false)
  			.label("Excluded metric names")
  			.description("A comma separated list of metric names that should not be collected.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<MetricName>emptyList())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Collection<MetricName>> excludedMetrics = ConfigurationOption
  			.builder(new SetValueConverter<MetricName>(new MetricNameValueConverter()), Collection.class)
  			.key("stagemonitor.metrics.excluded.pattern")
  			.dynamic(false)
  			.label("Excluded metric names")
  			.description("A comma separated list of metric names that should not be collected.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<MetricName>emptyList());
focal_class.type: ConfigurationOption<Collection<MetricName>>
focal_class.var_name: excludedMetrics
focal_class.declarator: disabledPlugins = ConfigurationOption.stringsOption()
  			.key("stagemonitor.plugins.disabled")
  			.dynamic(false)
  			.label("Disabled plugins")
  			.description("A comma separated list of plugin names (the simple class name) that should not be active.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptyList())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Collection<String>> disabledPlugins = ConfigurationOption.stringsOption()
  			.key("stagemonitor.plugins.disabled")
  			.dynamic(false)
  			.label("Disabled plugins")
  			.description("A comma separated list of plugin names (the simple class name) that should not be active.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptyList());
focal_class.type: ConfigurationOption<Collection<String>>
focal_class.var_name: disabledPlugins
focal_class.declarator: reloadConfigurationInterval = ConfigurationOption.integerOption()
  			.key("stagemonitor.configuration.reload.interval")
  			.dynamic(false)
  			.label("Configuration reload interval")
  			.description("The interval in seconds a reload of all configuration sources is performed. " +
  					"Set to a value below `1` to deactivate periodic reloading the configuration.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(60)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> reloadConfigurationInterval = ConfigurationOption.integerOption()
  			.key("stagemonitor.configuration.reload.interval")
  			.dynamic(false)
  			.label("Configuration reload interval")
  			.description("The interval in seconds a reload of all configuration sources is performed. " +
  					"Set to a value below `1` to deactivate periodic reloading the configuration.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(60);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: reloadConfigurationInterval
focal_class.declarator: excludePackages = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.exclude")
  			.dynamic(false)
  			.label("Excluded packages")
  			.description("Exclude packages and their sub-packages from the instrumentation (for example the profiler).")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptySet())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Collection<String>> excludePackages = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.exclude")
  			.dynamic(false)
  			.label("Excluded packages")
  			.description("Exclude packages and their sub-packages from the instrumentation (for example the profiler).")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptySet());
focal_class.type: ConfigurationOption<Collection<String>>
focal_class.var_name: excludePackages
focal_class.declarator: excludeContaining = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.excludeContaining")
  			.dynamic(false)
  			.label("Exclude containing")
  			.description("Exclude classes from the instrumentation (for example from profiling) that contain one of the " +
  					"following strings as part of their class name.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(SetValueConverter.immutableSet("$JaxbAccessor", "$$", "CGLIB", "EnhancerBy", "$Proxy"))
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Collection<String>> excludeContaining = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.excludeContaining")
  			.dynamic(false)
  			.label("Exclude containing")
  			.description("Exclude classes from the instrumentation (for example from profiling) that contain one of the " +
  					"following strings as part of their class name.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(SetValueConverter.immutableSet("$JaxbAccessor", "$$", "CGLIB", "EnhancerBy", "$Proxy"));
focal_class.type: ConfigurationOption<Collection<String>>
focal_class.var_name: excludeContaining
focal_class.declarator: includePackages = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.include")
  			.dynamic(false)
  			.label("Included packages")
  			.description("The packages that should be included for instrumentation. " +
  					"All subpackages of the listed packages are included automatically. " +
  					"This property is required if you want to use the profiler, the @MonitorRequests annotation, the " +
  					"com.codahale.metrics.annotation.* annotations or similar features. " +
  					"You can exclude subpackages of a included package via `stagemonitor.instrument.exclude`. " +
  					"Example: `org.somecompany.package, com.someothercompany`")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptySet())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Collection<String>> includePackages = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.include")
  			.dynamic(false)
  			.label("Included packages")
  			.description("The packages that should be included for instrumentation. " +
  					"All subpackages of the listed packages are included automatically. " +
  					"This property is required if you want to use the profiler, the @MonitorRequests annotation, the " +
  					"com.codahale.metrics.annotation.* annotations or similar features. " +
  					"You can exclude subpackages of a included package via `stagemonitor.instrument.exclude`. " +
  					"Example: `org.somecompany.package, com.someothercompany`")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptySet());
focal_class.type: ConfigurationOption<Collection<String>>
focal_class.var_name: includePackages
focal_class.declarator: attachAgentAtRuntime = ConfigurationOption.booleanOption()
  			.key("stagemonitor.instrument.runtimeAttach")
  			.dynamic(false)
  			.label("Attach agent at runtime")
  			.description("Attaches the agent via the Attach API at runtime and retransforms all currently loaded classes.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> attachAgentAtRuntime = ConfigurationOption.booleanOption()
  			.key("stagemonitor.instrument.runtimeAttach")
  			.dynamic(false)
  			.label("Attach agent at runtime")
  			.description("Attaches the agent via the Attach API at runtime and retransforms all currently loaded classes.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: attachAgentAtRuntime
focal_class.declarator: exportClassesWithName = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.exportGeneratedClassesWithName")
  			.dynamic(false)
  			.label("Export generated classes with name")
  			.description("A list of the fully qualified class names which should be exported to the file system after they have been " +
  					"modified by Byte Buddy. This option is useful to debug problems inside the generated class. " +
  					"Classes are exported to a temporary directory. The logs contain the information where the files " +
  					"are stored.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptySet())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Collection<String>> exportClassesWithName = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.exportGeneratedClassesWithName")
  			.dynamic(false)
  			.label("Export generated classes with name")
  			.description("A list of the fully qualified class names which should be exported to the file system after they have been " +
  					"modified by Byte Buddy. This option is useful to debug problems inside the generated class. " +
  					"Classes are exported to a temporary directory. The logs contain the information where the files " +
  					"are stored.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptySet());
focal_class.type: ConfigurationOption<Collection<String>>
focal_class.var_name: exportClassesWithName
focal_class.declarator: debugInstrumentation = ConfigurationOption.booleanOption()
  			.key("stagemonitor.instrument.debug")
  			.dynamic(false)
  			.label("Debug instrumentation")
  			.description("Set to true to log additional information and warnings during the instrumentation process.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(false)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> debugInstrumentation = ConfigurationOption.booleanOption()
  			.key("stagemonitor.instrument.debug")
  			.dynamic(false)
  			.label("Debug instrumentation")
  			.description("Set to true to log additional information and warnings during the instrumentation process.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(false);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: debugInstrumentation
focal_class.declarator: excludedInstrumenters = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.excludedInstrumenter")
  			.dynamic(false)
  			.label("Excluded Instrumenters")
  			.description("A list of the simple class names of StagemonitorByteBuddyTransformers that should not be applied")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptySet())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Collection<String>> excludedInstrumenters = ConfigurationOption.stringsOption()
  			.key("stagemonitor.instrument.excludedInstrumenter")
  			.dynamic(false)
  			.label("Excluded Instrumenters")
  			.description("A list of the simple class names of StagemonitorByteBuddyTransformers that should not be applied")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<String>emptySet());
focal_class.type: ConfigurationOption<Collection<String>>
focal_class.var_name: excludedInstrumenters
focal_class.declarator: grafanaUrl = ConfigurationOption.stringOption()
  			.key("stagemonitor.grafana.url")
  			.dynamic(true)
  			.label("Grafana URL")
  			.description("The URL of your Grafana 2.0 installation")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("grafana")
  			.build()
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> grafanaUrl = ConfigurationOption.stringOption()
  			.key("stagemonitor.grafana.url")
  			.dynamic(true)
  			.label("Grafana URL")
  			.description("The URL of your Grafana 2.0 installation")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("grafana")
  			.build();
focal_class.type: ConfigurationOption<String>
focal_class.var_name: grafanaUrl
focal_class.declarator: grafanaApiKey = ConfigurationOption.stringOption()
  			.key("stagemonitor.grafana.apiKey")
  			.dynamic(true)
  			.label("Grafana API Key")
  			.description("The API Key of your Grafana 2.0 installation. " +
  					"See http://docs.grafana.org/reference/http_api/#create-api-token how to create a key. " +
  					"The key has to have the admin role. This is necessary so that stagemonitor can automatically add " +
  					"datasources and dashboards to Grafana.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("grafana")
  			.sensitive()
  			.build()
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> grafanaApiKey = ConfigurationOption.stringOption()
  			.key("stagemonitor.grafana.apiKey")
  			.dynamic(true)
  			.label("Grafana API Key")
  			.description("The API Key of your Grafana 2.0 installation. " +
  					"See http://docs.grafana.org/reference/http_api/#create-api-token how to create a key. " +
  					"The key has to have the admin role. This is necessary so that stagemonitor can automatically add " +
  					"datasources and dashboards to Grafana.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("grafana")
  			.sensitive()
  			.build();
focal_class.type: ConfigurationOption<String>
focal_class.var_name: grafanaApiKey
focal_class.declarator: threadPoolQueueCapacityLimit = ConfigurationOption.integerOption()
  			.key(POOLS_QUEUE_CAPACITY_LIMIT_KEY)
  			.dynamic(false)
  			.label("Thread Pool Queue Capacity Limit")
  			.description("Sets a limit to the number of pending tasks in the ExecutorServices stagemonitor uses. " +
  					"These are thread pools that are used for example to report spans to elasticsearch. " +
  					"If elasticsearch is unreachable or your application encounters a spike in incoming requests this limit could be reached. " +
  					"It is used to prevent the queue from growing indefinitely. ")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("advanced")
  			.buildWithDefault(1000)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> threadPoolQueueCapacityLimit = ConfigurationOption.integerOption()
  			.key(POOLS_QUEUE_CAPACITY_LIMIT_KEY)
  			.dynamic(false)
  			.label("Thread Pool Queue Capacity Limit")
  			.description("Sets a limit to the number of pending tasks in the ExecutorServices stagemonitor uses. " +
  					"These are thread pools that are used for example to report spans to elasticsearch. " +
  					"If elasticsearch is unreachable or your application encounters a spike in incoming requests this limit could be reached. " +
  					"It is used to prevent the queue from growing indefinitely. ")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("advanced")
  			.buildWithDefault(1000);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: threadPoolQueueCapacityLimit
focal_class.declarator: metricsIndexTemplate = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.elasticsearch.metricsIndexTemplate")
  			.dynamic(true)
  			.label("ES Metrics Index Template")
  			.description("The classpath location of the index template that is used for the stagemonitor-metrics-* indices. " +
  					"By specifying the location to your own template, you can fully customize the index template.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.buildWithDefault("stagemonitor-elasticsearch-metrics-index-template.json")
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<String> metricsIndexTemplate = ConfigurationOption.stringOption()
  			.key("stagemonitor.reporting.elasticsearch.metricsIndexTemplate")
  			.dynamic(true)
  			.label("ES Metrics Index Template")
  			.description("The classpath location of the index template that is used for the stagemonitor-metrics-* indices. " +
  					"By specifying the location to your own template, you can fully customize the index template.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags(METRICS_STORE, ELASTICSEARCH)
  			.buildWithDefault("stagemonitor-elasticsearch-metrics-index-template.json");
focal_class.type: ConfigurationOption<String>
focal_class.var_name: metricsIndexTemplate
focal_class.declarator: elasticsearchAvailabilityCheckPeriodSec = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.availabilityCheckPeriodSec")
  			.aliasKeys("stagemonitor.elasticsearch.availabilityCheckPeriodSec")
  			.dynamic(false)
  			.label("Elasticsearch availability check period (sec)")
  			.description("When set to a value > 0 stagemonitor periodically checks if Elasticsearch is available. " +
  					"When not available, stagemonitor won't try send documents to Elasticsearch which would " +
  					"fail anyway. This reduces heap usage as the documents won't be queued up. " +
  					"It also avoids the logging of warnings when the queue is filled up to the limit (see '" + POOLS_QUEUE_CAPACITY_LIMIT_KEY + "')")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("elasticsearch", "advanced")
  			.buildWithDefault(5)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Integer> elasticsearchAvailabilityCheckPeriodSec = ConfigurationOption.integerOption()
  			.key("stagemonitor.reporting.elasticsearch.availabilityCheckPeriodSec")
  			.aliasKeys("stagemonitor.elasticsearch.availabilityCheckPeriodSec")
  			.dynamic(false)
  			.label("Elasticsearch availability check period (sec)")
  			.description("When set to a value > 0 stagemonitor periodically checks if Elasticsearch is available. " +
  					"When not available, stagemonitor won't try send documents to Elasticsearch which would " +
  					"fail anyway. This reduces heap usage as the documents won't be queued up. " +
  					"It also avoids the logging of warnings when the queue is filled up to the limit (see '" + POOLS_QUEUE_CAPACITY_LIMIT_KEY + "')")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.tags("elasticsearch", "advanced")
  			.buildWithDefault(5);
focal_class.type: ConfigurationOption<Integer>
focal_class.var_name: elasticsearchAvailabilityCheckPeriodSec
focal_class.declarator: remotePropertiesConfigUrls = ConfigurationOption.urlsOption()
  			.key("stagemonitor.configuration.remoteproperties.urls")
  			.dynamic(false)
  			.label("URLs of the remote properties")
  			.description("Must be http or https URLs. This can be a single URL or a list of config URLs. " +
  					"The end point should provide a list of properties in a simple line oriented format with key/value pairs. " +
  					"For more information on the format, see java.util.Properties.load(java.io.Reader)). " +
  					"For example of a configuration URL for the petclinic application with the default profile from a" +
  					"Spring Cloud Config server would look like: https://config.server/petclinic-default.properties")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<URL>emptyList())
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<List<URL>> remotePropertiesConfigUrls = ConfigurationOption.urlsOption()
  			.key("stagemonitor.configuration.remoteproperties.urls")
  			.dynamic(false)
  			.label("URLs of the remote properties")
  			.description("Must be http or https URLs. This can be a single URL or a list of config URLs. " +
  					"The end point should provide a list of properties in a simple line oriented format with key/value pairs. " +
  					"For more information on the format, see java.util.Properties.load(java.io.Reader)). " +
  					"For example of a configuration URL for the petclinic application with the default profile from a" +
  					"Spring Cloud Config server would look like: https://config.server/petclinic-default.properties")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(Collections.<URL>emptyList());
focal_class.type: ConfigurationOption<List<URL>>
focal_class.var_name: remotePropertiesConfigUrls
focal_class.declarator: deactivateStagemonitorIfRemotePropertyServerIsDown = ConfigurationOption.booleanOption()
  			.key("stagemonitor.configuration.remoteproperties.deactivateStagemonitorIfRemotePropertyServerIsDown")
  			.dynamic(false)
  			.label("Deactivate stagemonitor if the remote properties configuration server is down or can't be reached")
  			.description("Set to true if stagemonitor should be deactivated if the config url specified " +
  					"under stagemonitor.reporting.remoteproperties.urls is unavailable. Defaults to true to prevent starting stagemonitor with " +
  					"wrong configuration.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> deactivateStagemonitorIfRemotePropertyServerIsDown = ConfigurationOption.booleanOption()
  			.key("stagemonitor.configuration.remoteproperties.deactivateStagemonitorIfRemotePropertyServerIsDown")
  			.dynamic(false)
  			.label("Deactivate stagemonitor if the remote properties configuration server is down or can't be reached")
  			.description("Set to true if stagemonitor should be deactivated if the config url specified " +
  					"under stagemonitor.reporting.remoteproperties.urls is unavailable. Defaults to true to prevent starting stagemonitor with " +
  					"wrong configuration.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: deactivateStagemonitorIfRemotePropertyServerIsDown
focal_class.declarator: initializeElasticsearch = ConfigurationOption.booleanOption()
  			.key("stagemonitor.elasticsearch.init")
  			.dynamic(true)
  			.label("Initialize Elasticsearch indices and Kibana dashboards")
  			.description("Set to true if stagemonitor should initialize the required indices and Dashboards. " +
  					"If you don't want to grant the stagemonitor X-Pack Security user the permission to create " +
  					"indices and to access the .kibana index, set this to false and use the init tool " +
  					"https://github.com/stagemonitor/stagemonitor-elasticsearch-init.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true)
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationOption<Boolean> initializeElasticsearch = ConfigurationOption.booleanOption()
  			.key("stagemonitor.elasticsearch.init")
  			.dynamic(true)
  			.label("Initialize Elasticsearch indices and Kibana dashboards")
  			.description("Set to true if stagemonitor should initialize the required indices and Dashboards. " +
  					"If you don't want to grant the stagemonitor X-Pack Security user the permission to create " +
  					"indices and to access the .kibana index, set this to false and use the init tool " +
  					"https://github.com/stagemonitor/stagemonitor-elasticsearch-init.")
  			.configurationCategory(CORE_PLUGIN_NAME)
  			.buildWithDefault(true);
focal_class.type: ConfigurationOption<Boolean>
focal_class.var_name: initializeElasticsearch
focal_class.declarator: reporters = new CopyOnWriteArrayList<Closeable>()
focal_class.modifier: private
focal_class.original_string: private List<Closeable> reporters = new CopyOnWriteArrayList<Closeable>();
focal_class.type: List<Closeable>
focal_class.var_name: reporters
focal_class.declarator: elasticsearchClient
focal_class.modifier: private
focal_class.original_string: private ElasticsearchClient elasticsearchClient;
focal_class.type: ElasticsearchClient
focal_class.var_name: elasticsearchClient
focal_class.declarator: grafanaClient
focal_class.modifier: private
focal_class.original_string: private GrafanaClient grafanaClient;
focal_class.type: GrafanaClient
focal_class.var_name: grafanaClient
focal_class.declarator: indexSelector = new IndexSelector(new Clock.UserTimeClock())
focal_class.modifier: private
focal_class.original_string: private IndexSelector indexSelector = new IndexSelector(new Clock.UserTimeClock());
focal_class.type: IndexSelector
focal_class.var_name: indexSelector
focal_class.declarator: metricRegistry
focal_class.modifier: private
focal_class.original_string: private Metric2Registry metricRegistry;
focal_class.type: Metric2Registry
focal_class.var_name: metricRegistry
focal_class.declarator: accessesToElasticsearchUrl = new AtomicInteger()
focal_class.modifier: private
focal_class.original_string: private AtomicInteger accessesToElasticsearchUrl = new AtomicInteger();
focal_class.type: AtomicInteger
focal_class.var_name: accessesToElasticsearchUrl
focal_class.declarator: healthCheckRegistry
focal_class.modifier: private
focal_class.original_string: private HealthCheckRegistry healthCheckRegistry;
focal_class.type: HealthCheckRegistry
focal_class.var_name: healthCheckRegistry
focal_class.file: stagemonitor-core/src/main/java/org/stagemonitor/core/CorePlugin.java
focal_class.identifier: CorePlugin
focal_class.class_method_signature: CorePlugin.CorePlugin()
focal_class.full_signature: public  CorePlugin()
focal_class.identifier: CorePlugin
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  CorePlugin()
focal_class.class_method_signature: CorePlugin.CorePlugin(ElasticsearchClient elasticsearchClient)
focal_class.full_signature: public  CorePlugin(ElasticsearchClient elasticsearchClient)
focal_class.identifier: CorePlugin
focal_class.modifiers: public
focal_class.parameters: (ElasticsearchClient elasticsearchClient)
focal_class.signature:  CorePlugin(ElasticsearchClient elasticsearchClient)
focal_class.class_method_signature: CorePlugin.initializePlugin(InitArguments initArguments)
focal_class.full_signature: @Override public void initializePlugin(InitArguments initArguments)
focal_class.identifier: initializePlugin
focal_class.modifiers: @Override public
focal_class.parameters: (InitArguments initArguments)
focal_class.return: void
focal_class.signature: void initializePlugin(InitArguments initArguments)
focal_class.class_method_signature: CorePlugin.dependsOn()
focal_class.full_signature: @Override public List<Class<? extends StagemonitorPlugin>> dependsOn()
focal_class.identifier: dependsOn
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<Class<? extends StagemonitorPlugin>>
focal_class.signature: List<Class<? extends StagemonitorPlugin>> dependsOn()
focal_class.class_method_signature: CorePlugin.registerReporters(Metric2Registry metric2Registry, ConfigurationRegistry configuration, MeasurementSession measurementSession)
focal_class.full_signature:  void registerReporters(Metric2Registry metric2Registry, ConfigurationRegistry configuration, MeasurementSession measurementSession)
focal_class.identifier: registerReporters
focal_class.parameters: (Metric2Registry metric2Registry, ConfigurationRegistry configuration, MeasurementSession measurementSession)
focal_class.return: void
focal_class.signature: void registerReporters(Metric2Registry metric2Registry, ConfigurationRegistry configuration, MeasurementSession measurementSession)
focal_class.class_method_signature: CorePlugin.reportToGraphite(MetricRegistry metricRegistry, long reportingInterval, MeasurementSession measurementSession)
focal_class.full_signature: private void reportToGraphite(MetricRegistry metricRegistry, long reportingInterval, MeasurementSession measurementSession)
focal_class.identifier: reportToGraphite
focal_class.modifiers: private
focal_class.parameters: (MetricRegistry metricRegistry, long reportingInterval, MeasurementSession measurementSession)
focal_class.return: void
focal_class.signature: void reportToGraphite(MetricRegistry metricRegistry, long reportingInterval, MeasurementSession measurementSession)
focal_class.class_method_signature: CorePlugin.reportToInfluxDb(Metric2Registry metricRegistry, int reportingInterval,
  								  MeasurementSession measurementSession)
focal_class.full_signature: private void reportToInfluxDb(Metric2Registry metricRegistry, int reportingInterval,
  								  MeasurementSession measurementSession)
focal_class.identifier: reportToInfluxDb
focal_class.modifiers: private
focal_class.parameters: (Metric2Registry metricRegistry, int reportingInterval,
  								  MeasurementSession measurementSession)
focal_class.return: void
focal_class.signature: void reportToInfluxDb(Metric2Registry metricRegistry, int reportingInterval,
  								  MeasurementSession measurementSession)
focal_class.class_method_signature: CorePlugin.getGraphitePrefix(MeasurementSession measurementSession)
focal_class.full_signature: private String getGraphitePrefix(MeasurementSession measurementSession)
focal_class.identifier: getGraphitePrefix
focal_class.modifiers: private
focal_class.parameters: (MeasurementSession measurementSession)
focal_class.return: String
focal_class.signature: String getGraphitePrefix(MeasurementSession measurementSession)
focal_class.class_method_signature: CorePlugin.reportToConsole(Metric2Registry metric2Registry, long reportingInterval, Metric2Filter filter)
focal_class.full_signature: private void reportToConsole(Metric2Registry metric2Registry, long reportingInterval, Metric2Filter filter)
focal_class.identifier: reportToConsole
focal_class.modifiers: private
focal_class.parameters: (Metric2Registry metric2Registry, long reportingInterval, Metric2Filter filter)
focal_class.return: void
focal_class.signature: void reportToConsole(Metric2Registry metric2Registry, long reportingInterval, Metric2Filter filter)
focal_class.class_method_signature: CorePlugin.reportToJMX(MetricRegistry metricRegistry)
focal_class.full_signature: private void reportToJMX(MetricRegistry metricRegistry)
focal_class.identifier: reportToJMX
focal_class.modifiers: private
focal_class.parameters: (MetricRegistry metricRegistry)
focal_class.return: void
focal_class.signature: void reportToJMX(MetricRegistry metricRegistry)
focal_class.class_method_signature: CorePlugin.onShutDown()
focal_class.full_signature: @Override public void onShutDown()
focal_class.identifier: onShutDown
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void onShutDown()
focal_class.class_method_signature: CorePlugin.getMeasurementSession()
focal_class.full_signature: public MeasurementSession getMeasurementSession()
focal_class.identifier: getMeasurementSession
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: MeasurementSession
focal_class.signature: MeasurementSession getMeasurementSession()
focal_class.class_method_signature: CorePlugin.getMetricRegistry()
focal_class.full_signature: public Metric2Registry getMetricRegistry()
focal_class.identifier: getMetricRegistry
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Metric2Registry
focal_class.signature: Metric2Registry getMetricRegistry()
focal_class.class_method_signature: CorePlugin.getElasticsearchClient()
focal_class.full_signature: public ElasticsearchClient getElasticsearchClient()
focal_class.identifier: getElasticsearchClient
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ElasticsearchClient
focal_class.signature: ElasticsearchClient getElasticsearchClient()
focal_class.class_method_signature: CorePlugin.initElasticsearchAvailabilityObservers(ConfigurationRegistry configurationRegistry)
focal_class.full_signature: private static List<ElasticsearchAvailabilityObserver> initElasticsearchAvailabilityObservers(ConfigurationRegistry configurationRegistry)
focal_class.identifier: initElasticsearchAvailabilityObservers
focal_class.modifiers: private static
focal_class.parameters: (ConfigurationRegistry configurationRegistry)
focal_class.return: List<ElasticsearchAvailabilityObserver>
focal_class.signature: List<ElasticsearchAvailabilityObserver> initElasticsearchAvailabilityObservers(ConfigurationRegistry configurationRegistry)
focal_class.class_method_signature: CorePlugin.getGrafanaClient()
focal_class.full_signature: public GrafanaClient getGrafanaClient()
focal_class.identifier: getGrafanaClient
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: GrafanaClient
focal_class.signature: GrafanaClient getGrafanaClient()
focal_class.class_method_signature: CorePlugin.setElasticsearchClient(ElasticsearchClient elasticsearchClient)
focal_class.full_signature: public void setElasticsearchClient(ElasticsearchClient elasticsearchClient)
focal_class.identifier: setElasticsearchClient
focal_class.modifiers: public
focal_class.parameters: (ElasticsearchClient elasticsearchClient)
focal_class.return: void
focal_class.signature: void setElasticsearchClient(ElasticsearchClient elasticsearchClient)
focal_class.class_method_signature: CorePlugin.getNameOfLocalHost()
focal_class.full_signature: public static String getNameOfLocalHost()
focal_class.identifier: getNameOfLocalHost
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getNameOfLocalHost()
focal_class.class_method_signature: CorePlugin.getHostNameFromEnv()
focal_class.full_signature: static String getHostNameFromEnv()
focal_class.identifier: getHostNameFromEnv
focal_class.modifiers: static
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getHostNameFromEnv()
focal_class.class_method_signature: CorePlugin.isStagemonitorActive()
focal_class.full_signature: public boolean isStagemonitorActive()
focal_class.identifier: isStagemonitorActive
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isStagemonitorActive()
focal_class.class_method_signature: CorePlugin.isInternalMonitoringActive()
focal_class.full_signature: public boolean isInternalMonitoringActive()
focal_class.identifier: isInternalMonitoringActive
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isInternalMonitoringActive()
focal_class.class_method_signature: CorePlugin.getConsoleReportingInterval()
focal_class.full_signature: public long getConsoleReportingInterval()
focal_class.identifier: getConsoleReportingInterval
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getConsoleReportingInterval()
focal_class.class_method_signature: CorePlugin.isReportToJMX()
focal_class.full_signature: public boolean isReportToJMX()
focal_class.identifier: isReportToJMX
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isReportToJMX()
focal_class.class_method_signature: CorePlugin.getGraphiteReportingInterval()
focal_class.full_signature: public int getGraphiteReportingInterval()
focal_class.identifier: getGraphiteReportingInterval
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getGraphiteReportingInterval()
focal_class.class_method_signature: CorePlugin.getGraphiteHostName()
focal_class.full_signature: public String getGraphiteHostName()
focal_class.identifier: getGraphiteHostName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getGraphiteHostName()
focal_class.class_method_signature: CorePlugin.getGraphitePort()
focal_class.full_signature: public int getGraphitePort()
focal_class.identifier: getGraphitePort
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getGraphitePort()
focal_class.class_method_signature: CorePlugin.getApplicationName()
focal_class.full_signature: public String getApplicationName()
focal_class.identifier: getApplicationName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getApplicationName()
focal_class.class_method_signature: CorePlugin.getInstanceName()
focal_class.full_signature: public String getInstanceName()
focal_class.identifier: getInstanceName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getInstanceName()
focal_class.class_method_signature: CorePlugin.getHostName()
focal_class.full_signature: public String getHostName()
focal_class.identifier: getHostName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getHostName()
focal_class.class_method_signature: CorePlugin.getElasticsearchUrl()
focal_class.full_signature: public URL getElasticsearchUrl()
focal_class.identifier: getElasticsearchUrl
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: URL
focal_class.signature: URL getElasticsearchUrl()
focal_class.class_method_signature: CorePlugin.getElasticsearchUrls()
focal_class.full_signature: public Collection<URL> getElasticsearchUrls()
focal_class.identifier: getElasticsearchUrls
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<URL>
focal_class.signature: Collection<URL> getElasticsearchUrls()
focal_class.class_method_signature: CorePlugin.getElasticsearchUrlsWithoutAuthenticationInformation()
focal_class.full_signature: public String getElasticsearchUrlsWithoutAuthenticationInformation()
focal_class.identifier: getElasticsearchUrlsWithoutAuthenticationInformation
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getElasticsearchUrlsWithoutAuthenticationInformation()
focal_class.class_method_signature: CorePlugin.getElasticsearchConfigurationSourceProfiles()
focal_class.full_signature: public Collection<String> getElasticsearchConfigurationSourceProfiles()
focal_class.identifier: getElasticsearchConfigurationSourceProfiles
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getElasticsearchConfigurationSourceProfiles()
focal_class.class_method_signature: CorePlugin.isDeactivateStagemonitorIfEsConfigSourceIsDown()
focal_class.full_signature: public boolean isDeactivateStagemonitorIfEsConfigSourceIsDown()
focal_class.identifier: isDeactivateStagemonitorIfEsConfigSourceIsDown
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isDeactivateStagemonitorIfEsConfigSourceIsDown()
focal_class.class_method_signature: CorePlugin.getExcludedMetricsPatterns()
focal_class.full_signature: public Collection<MetricName> getExcludedMetricsPatterns()
focal_class.identifier: getExcludedMetricsPatterns
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<MetricName>
focal_class.signature: Collection<MetricName> getExcludedMetricsPatterns()
focal_class.class_method_signature: CorePlugin.getDisabledPlugins()
focal_class.full_signature: public Collection<String> getDisabledPlugins()
focal_class.identifier: getDisabledPlugins
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getDisabledPlugins()
focal_class.class_method_signature: CorePlugin.getReloadConfigurationInterval()
focal_class.full_signature: public Integer getReloadConfigurationInterval()
focal_class.identifier: getReloadConfigurationInterval
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Integer
focal_class.signature: Integer getReloadConfigurationInterval()
focal_class.class_method_signature: CorePlugin.getExcludeContaining()
focal_class.full_signature: public Collection<String> getExcludeContaining()
focal_class.identifier: getExcludeContaining
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getExcludeContaining()
focal_class.class_method_signature: CorePlugin.getIncludePackages()
focal_class.full_signature: public Collection<String> getIncludePackages()
focal_class.identifier: getIncludePackages
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getIncludePackages()
focal_class.class_method_signature: CorePlugin.getExcludePackages()
focal_class.full_signature: public Collection<String> getExcludePackages()
focal_class.identifier: getExcludePackages
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getExcludePackages()
focal_class.class_method_signature: CorePlugin.isAttachAgentAtRuntime()
focal_class.full_signature: public boolean isAttachAgentAtRuntime()
focal_class.identifier: isAttachAgentAtRuntime
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isAttachAgentAtRuntime()
focal_class.class_method_signature: CorePlugin.getExcludedInstrumenters()
focal_class.full_signature: public Collection<String> getExcludedInstrumenters()
focal_class.identifier: getExcludedInstrumenters
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getExcludedInstrumenters()
focal_class.class_method_signature: CorePlugin.getInfluxDbUrl()
focal_class.full_signature: public URL getInfluxDbUrl()
focal_class.identifier: getInfluxDbUrl
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: URL
focal_class.signature: URL getInfluxDbUrl()
focal_class.class_method_signature: CorePlugin.getInfluxDbDb()
focal_class.full_signature: public String getInfluxDbDb()
focal_class.identifier: getInfluxDbDb
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getInfluxDbDb()
focal_class.class_method_signature: CorePlugin.isReportToElasticsearch()
focal_class.full_signature: public boolean isReportToElasticsearch()
focal_class.identifier: isReportToElasticsearch
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isReportToElasticsearch()
focal_class.class_method_signature: CorePlugin.isReportToGraphite()
focal_class.full_signature: public boolean isReportToGraphite()
focal_class.identifier: isReportToGraphite
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isReportToGraphite()
focal_class.class_method_signature: CorePlugin.getGrafanaUrl()
focal_class.full_signature: public String getGrafanaUrl()
focal_class.identifier: getGrafanaUrl
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getGrafanaUrl()
focal_class.class_method_signature: CorePlugin.getGrafanaApiKey()
focal_class.full_signature: public String getGrafanaApiKey()
focal_class.identifier: getGrafanaApiKey
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getGrafanaApiKey()
focal_class.class_method_signature: CorePlugin.getThreadPoolQueueCapacityLimit()
focal_class.full_signature: public int getThreadPoolQueueCapacityLimit()
focal_class.identifier: getThreadPoolQueueCapacityLimit
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getThreadPoolQueueCapacityLimit()
focal_class.class_method_signature: CorePlugin.getIndexSelector()
focal_class.full_signature: public IndexSelector getIndexSelector()
focal_class.identifier: getIndexSelector
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: IndexSelector
focal_class.signature: IndexSelector getIndexSelector()
focal_class.class_method_signature: CorePlugin.getElasticsearchReportingInterval()
focal_class.full_signature: public int getElasticsearchReportingInterval()
focal_class.identifier: getElasticsearchReportingInterval
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getElasticsearchReportingInterval()
focal_class.class_method_signature: CorePlugin.getMoveToColdNodesAfterDays()
focal_class.full_signature: public Integer getMoveToColdNodesAfterDays()
focal_class.identifier: getMoveToColdNodesAfterDays
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Integer
focal_class.signature: Integer getMoveToColdNodesAfterDays()
focal_class.class_method_signature: CorePlugin.isOnlyLogElasticsearchMetricReports()
focal_class.full_signature: public boolean isOnlyLogElasticsearchMetricReports()
focal_class.identifier: isOnlyLogElasticsearchMetricReports
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isOnlyLogElasticsearchMetricReports()
focal_class.class_method_signature: CorePlugin.isDebugInstrumentation()
focal_class.full_signature: public boolean isDebugInstrumentation()
focal_class.identifier: isDebugInstrumentation
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isDebugInstrumentation()
focal_class.class_method_signature: CorePlugin.getExportClassesWithName()
focal_class.full_signature: public Collection<String> getExportClassesWithName()
focal_class.identifier: getExportClassesWithName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getExportClassesWithName()
focal_class.class_method_signature: CorePlugin.getNumberOfReplicas()
focal_class.full_signature: public Integer getNumberOfReplicas()
focal_class.identifier: getNumberOfReplicas
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Integer
focal_class.signature: Integer getNumberOfReplicas()
focal_class.class_method_signature: CorePlugin.getNumberOfShards()
focal_class.full_signature: public Integer getNumberOfShards()
focal_class.identifier: getNumberOfShards
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Integer
focal_class.signature: Integer getNumberOfShards()
focal_class.class_method_signature: CorePlugin.closeOnShutdown(Closeable closeable)
focal_class.full_signature: public void closeOnShutdown(Closeable closeable)
focal_class.identifier: closeOnShutdown
focal_class.modifiers: public
focal_class.parameters: (Closeable closeable)
focal_class.return: void
focal_class.signature: void closeOnShutdown(Closeable closeable)
focal_class.class_method_signature: CorePlugin.getReporters()
focal_class.full_signature:  List<Closeable> getReporters()
focal_class.identifier: getReporters
focal_class.parameters: ()
focal_class.return: List<Closeable>
focal_class.signature: List<Closeable> getReporters()
focal_class.class_method_signature: CorePlugin.getRemotePropertiesConfigUrls()
focal_class.full_signature: public List<URL> getRemotePropertiesConfigUrls()
focal_class.identifier: getRemotePropertiesConfigUrls
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<URL>
focal_class.signature: List<URL> getRemotePropertiesConfigUrls()
focal_class.class_method_signature: CorePlugin.isDeactivateStagemonitorIfRemotePropertyServerIsDown()
focal_class.full_signature: public boolean isDeactivateStagemonitorIfRemotePropertyServerIsDown()
focal_class.identifier: isDeactivateStagemonitorIfRemotePropertyServerIsDown
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isDeactivateStagemonitorIfRemotePropertyServerIsDown()
focal_class.class_method_signature: CorePlugin.getDeleteElasticsearchMetricsAfterDays()
focal_class.full_signature: public int getDeleteElasticsearchMetricsAfterDays()
focal_class.identifier: getDeleteElasticsearchMetricsAfterDays
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getDeleteElasticsearchMetricsAfterDays()
focal_class.class_method_signature: CorePlugin.getMetricsIndexTemplate()
focal_class.full_signature: public String getMetricsIndexTemplate()
focal_class.identifier: getMetricsIndexTemplate
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getMetricsIndexTemplate()
focal_class.class_method_signature: CorePlugin.isMetricsIndexTemplateDefaultValue()
focal_class.full_signature: public boolean isMetricsIndexTemplateDefaultValue()
focal_class.identifier: isMetricsIndexTemplateDefaultValue
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isMetricsIndexTemplateDefaultValue()
focal_class.class_method_signature: CorePlugin.isInitializeElasticsearch()
focal_class.full_signature: public boolean isInitializeElasticsearch()
focal_class.identifier: isInitializeElasticsearch
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isInitializeElasticsearch()
focal_class.class_method_signature: CorePlugin.getHealthCheckRegistry()
focal_class.full_signature: public HealthCheckRegistry getHealthCheckRegistry()
focal_class.identifier: getHealthCheckRegistry
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: HealthCheckRegistry
focal_class.signature: HealthCheckRegistry getHealthCheckRegistry()
focal_class.superclass: extends StagemonitorPlugin
focal_method.body: public URL getElasticsearchUrl() {
  		final List<URL> urls = elasticsearchUrls.getValue();
  		if (urls.isEmpty()) {
  			return null;
  		}
  		final int index = accessesToElasticsearchUrl.getAndIncrement() % urls.size();
  		URL elasticsearchURL = urls.get(index);
  
  		final String defaultUsernameValue = elasticsearchDefaultUsername.getValue();
  		final String defaultPasswordValue = elasticsearchDefaultPassword.getValue();
  
  		if (elasticsearchURL.getUserInfo() == null
  				&& ! defaultUsernameValue.isEmpty()
  				&& ! defaultPasswordValue.isEmpty()) {
  
  			try {
  				String username = URLEncoder.encode(defaultUsernameValue, "UTF-8");
  				String password = URLEncoder.encode(defaultPasswordValue, "UTF-8");
  				StringBuilder stringBuilder = new StringBuilder();
  				stringBuilder
  						.append(elasticsearchURL.getProtocol())
  						.append("://")
  						.append(username)
  						.append(":")
  						.append(password)
  						.append("@")
  						.append(elasticsearchURL.getHost())
  						.append(":")
  						.append(elasticsearchURL.getPort())
  						.append(elasticsearchURL.getPath());
  				return new URL(stringBuilder.toString());
  			} catch (Exception e) {
  				logger.error(e.getMessage(), e);
  			}
  		}
  
  		return elasticsearchURL;
  	}
focal_method.class_method_signature: CorePlugin.getElasticsearchUrl()
focal_method.full_signature: public URL getElasticsearchUrl()
focal_method.identifier: getElasticsearchUrl
focal_method.invocations: getValue isEmpty getAndIncrement size get getValue getValue getUserInfo isEmpty isEmpty encode encode append append append append append append append append append append getProtocol getHost getPort getPath toString error getMessage
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: URL
focal_method.signature: URL getElasticsearchUrl()