Class ClusterAggregatorConfiguration.Builder
java.lang.Object
com.arpnetworking.commons.builder.OvalBuilder<ClusterAggregatorConfiguration>
com.arpnetworking.clusteraggregator.configuration.ClusterAggregatorConfiguration.Builder
- All Implemented Interfaces:
com.arpnetworking.commons.builder.Builder<ClusterAggregatorConfiguration>
- Enclosing class:
- ClusterAggregatorConfiguration
public static final class ClusterAggregatorConfiguration.Builder
extends com.arpnetworking.commons.builder.OvalBuilder<ClusterAggregatorConfiguration>
Builder
implementation for
ClusterAggregatorConfiguration
.- Author:
- Brandon Arp (brandon dot arp at inscopemetrics dot com)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionsetAggregationHost
(String value) The aggregation server host address to bind to.setAggregationPort
(Integer value) The http port to listen on.Whether or not to perform cluster-level aggregations.setClusterHostSuffix
(String value) The suffix to append to the cluster host when reporting metrics.The cluster pipeline configuration file.setClusterStatusInterval
(Duration value) Interval for polling cluster status.Configuration for the databases.setHostPipelineConfiguration
(File value) The host pipeline configuration file.setHttpHealthCheckPath
(String value) The http health check path.setHttpHost
(String value) The http host address to bind to.setHttpPort
(Integer value) The http port to listen on.setHttpStatusPath
(String value) The http status path.setHttpVersionPath
(String value) The http version path.Period for collecting JVM metrics.setLogDirectory
(File value) The log directory.setMaxConnectionTimeout
(Duration value) The maximum connection cycling time for a client.setMinConnectionTimeout
(Duration value) The minimum connection cycling time for a client.setMonitoringCluster
(String value) The monitoring cluster.setMonitoringHost
(String value) Deprecated.setMonitoringPort
(Integer value) Deprecated.setMonitoringService
(String value) The monitoring service.setMonitoringSinks
(com.google.common.collect.ImmutableList<com.fasterxml.jackson.databind.JsonNode> value) The monitoring sinks.setPekkoConfiguration
(Map<String, ?> value) Pekko configuration.setReaggregationDimensions
(com.google.common.collect.ImmutableSet<String> value) The reaggregation dimensions.Whether to inject ahost
dimension with a value based on thecluster
dimension.setReaggregationTimeout
(Duration value) The time from period start to wait for all data to arrive.Configuration for the shard rebalance settings.Methods inherited from class com.arpnetworking.commons.builder.OvalBuilder
build, clone, clone, construct, isSelfValidating, toString, validate
-
Constructor Details
-
Builder
public Builder()Public constructor.
-
-
Method Details
-
setMonitoringCluster
The monitoring cluster. Cannot be null or empty.- Parameters:
value
- The monitoring cluster.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setMonitoringService
The monitoring service. Optional. Cannot be null or empty. Default is cluster_aggregator.- Parameters:
value
- The monitoring service.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setMonitoringSinks
public ClusterAggregatorConfiguration.Builder setMonitoringSinks(com.google.common.collect.ImmutableList<com.fasterxml.jackson.databind.JsonNode> value) The monitoring sinks. Optional. Cannot be null. The default value is the default instance ofApacheHttpSink
.- Parameters:
value
- The monitoring sinks.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setMonitoringHost
Deprecated.The monitoring endpoint host (Where to post data). Optional. Cannot be empty. Defaults to unspecified.- Parameters:
value
- The monitoring endpoint uri.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setMonitoringPort
Deprecated.The monitoring endpoint port. Optional. Must be between 1 and 65535 (inclusive). Defaults to unspecified.- Parameters:
value
- The port to listen on.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setHttpHost
The http host address to bind to. Cannot be null or empty.- Parameters:
value
- The host address to bind to.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setClusterHostSuffix
The suffix to append to the cluster host when reporting metrics. Optional. Cannot be null. Default is the empty string.- Parameters:
value
- The host suffix to append.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setAggregationHost
The aggregation server host address to bind to. Cannot be null or empty.- Parameters:
value
- The host address to bind to.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setHttpPort
The http port to listen on. Cannot be null, must be between 1 and 65535 (inclusive).- Parameters:
value
- The port to listen on.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setHttpHealthCheckPath
The http health check path. Cannot be null or empty. Optional. Default is "/ping".- Parameters:
value
- The health check path.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setHttpStatusPath
The http status path. Cannot be null or empty. Optional. Default is "/status".- Parameters:
value
- The status path.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setHttpVersionPath
The http version path. Cannot be null or empty. Optional. Default is "/version".- Parameters:
value
- The version path.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setAggregationPort
The http port to listen on. Cannot be null, must be between 1 and 65535 (inclusive). Defaults to 7065.- Parameters:
value
- The port to listen on.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setPekkoConfiguration
Pekko configuration. Cannot be null. By convention Pekko configuration begins with a map containing a single key "pekko" and a value of a nested map. For more information please see: https://pekko.apache.org/docs/pekko/current/general/configuration.html NOTE: No validation is performed on the Pekko configuration itself.- Parameters:
value
- The Pekko configuration.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setLogDirectory
The log directory. Cannot be null.- Parameters:
value
- The log directory.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setMinConnectionTimeout
The minimum connection cycling time for a client. Required. Cannot be null.- Parameters:
value
- The minimum time before cycling a connection.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setMaxConnectionTimeout
The maximum connection cycling time for a client. Required. Cannot be null.- Parameters:
value
- The maximum time before cycling a connection.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setJvmMetricsCollectionInterval
Period for collecting JVM metrics.- Parameters:
value
- ADuration
value.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setClusterPipelineConfiguration
The cluster pipeline configuration file. Cannot be null.- Parameters:
value
- The cluster pipeline configuration file.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setHostPipelineConfiguration
The host pipeline configuration file. Cannot be null.- Parameters:
value
- The host pipeline configuration file.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setReaggregationDimensions
public ClusterAggregatorConfiguration.Builder setReaggregationDimensions(com.google.common.collect.ImmutableSet<String> value) The reaggregation dimensions. Optional. Default is set containinghost
. Cannot be null.- Parameters:
value
- The regaggregation dimensions.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setReaggregationInjectClusterAsHost
Whether to inject ahost
dimension with a value based on thecluster
dimension. Optional. Default isTrue
. Cannot be null.- Parameters:
value
- Whether to injecthost
derived fromcluster
.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setReaggregationTimeout
The time from period start to wait for all data to arrive. This should include any timeout in MAD plus any send spread/jitter in MAD plus the actual desired time to wait in CAGG. Optional. Default isPT1M
. Cannot be null.- Parameters:
value
- Timeout from period start to wait for all data to arrive.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setRebalanceConfiguration
public ClusterAggregatorConfiguration.Builder setRebalanceConfiguration(RebalanceConfiguration value) Configuration for the shard rebalance settings.- Parameters:
value
- The rebalacing configuration.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setDatabaseConfigurations
public ClusterAggregatorConfiguration.Builder setDatabaseConfigurations(Map<String, DatabaseConfiguration> value) Configuration for the databases.- Parameters:
value
- The database configurations.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setCalculateClusterAggregations
Whether or not to perform cluster-level aggregations. When using a datasource that supports native histograms, turning this off will reduce cpu cost. Optional. Defaults to true.- Parameters:
value
- true to perform cluster aggregations, false to just forward host data.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setClusterStatusInterval
Interval for polling cluster status. Optional. Defaults to 10 seconds.- Parameters:
value
- interval for polling cluster status.- Returns:
- This instance of
ClusterAggregatorConfiguration.Builder
.
-
setMonitoringSinks(ImmutableList)