CloudWatchReporterFactory

class CloudWatchReporterFactory(val appConfig: TribeApplicationConfig, val cloudwatch: CloudWatchAsyncClient) : BaseReporterFactory

BaseReporterFactory that creates a CloudWatchReporter based on the dropwizard configuration.

Use includes and excludes to control which attributes get reported to CloudWatch.

Constructors

Link copied to clipboard
fun CloudWatchReporterFactory(appConfig: TribeApplicationConfig, cloudwatch: CloudWatchAsyncClient)

Functions

Link copied to clipboard
open override fun build(registry: MetricRegistry): CloudWatchReporter
Link copied to clipboard
open fun getFilter(): MetricFilter

Properties

Link copied to clipboard
Link copied to clipboard
private val arithmeticMean: Boolean = false

Send arithmetic mean of com.codahale.metrics.Snapshot values of com.codahale.metrics.Histograms and com.codahale.metrics.Timers

Link copied to clipboard
internal val cloudwatch: CloudWatchAsyncClient
Link copied to clipboard
private val dryRun: Boolean = false

Log instead of actually reporting metrics to CloudWatch

Link copied to clipboard
@NotNull
var durationUnit: @NotNull TimeUnit
Link copied to clipboard
@NotNull
var excludes: @NotNull MutableSet<String>
Link copied to clipboard
var excludesAttributes: EnumSet<MetricAttribute>
Link copied to clipboard
private val fifteenMinuteMeanRate: Boolean = false

Send fifteen minute mean rates for com.codahale.metrics.Meters and com.codahale.metrics.Timers

Link copied to clipboard
private val fiveMinuteMeanRate: Boolean = false

Send five minute mean rates for com.codahale.metrics.Meters and com.codahale.metrics.Timers

Link copied to clipboard
@Valid
@MinDuration(value = 0, payload = [Unwrapping.Unwrap::class])
var frequency: @Valid @MinDuration(value = 0, payload = [Unwrapping.Unwrap::class]) Optional<Duration>
Link copied to clipboard

Sets dimension values (name=value formatted strings) on all metrics. Will automatically include Application=TribeApplicationConfig.appName and Hostname=${InetAddress.getLocalHost().hostname} as dimensions.

Link copied to clipboard
private val highResolution: Boolean = false

Send metrics as high resolution (1-second storage resolution) instead of standard resolution (60-second storage resolution)

Link copied to clipboard
private val hostname: String
Link copied to clipboard
@NotNull
var includes: @NotNull MutableSet<String>
Link copied to clipboard
var includesAttributes: EnumSet<MetricAttribute>
Link copied to clipboard
private val jvmMetrics: Boolean = false

Add additional JVM metrics to the reported metrics.

Link copied to clipboard
private val meanRate: Boolean = false

Send mean rates for com.codahale.metrics.Meters and com.codahale.metrics.Timers

Link copied to clipboard
private val meterUnit: StandardUnit? = null

Convert com.codahale.metrics.Meters to this unit instead of the durationUnit

Link copied to clipboard
private val namespace: String? = null

Sets the cloudwatch namespace, defaults to the TribeApplicationConfig.env if unspecified

Link copied to clipboard
private val oneMinuteMeanRate: Boolean = false

Send one minute mean rates for com.codahale.metrics.Meters and com.codahale.metrics.Timers

Link copied to clipboard
private val percentiles: List<CloudWatchReporter.Percentile>

Allows config to override the default percentiles (0.75, 0.95 and 0.999) reported for com.codahale.metrics.Histograms and com.codahale.metrics.Timers

Link copied to clipboard
@NotNull
var rateUnit: @NotNull TimeUnit
Link copied to clipboard
private val reportRawCountValue: Boolean = false

Report on raw metric values instead of the change in value from last report time

Link copied to clipboard
private val statisticSet: Boolean = false

Send com.codahale.metrics.Snapshot summary values of com.codahale.metrics.Histograms and com.codahale.metrics.Timers as software.amazon.awssdk.services.cloudwatch.model.StatisticSets

Link copied to clipboard
private val stdDev: Boolean = false

Send standard deviation of com.codahale.metrics.Snapshot values of com.codahale.metrics.Histograms and com.codahale.metrics.Timers

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
private val zeroValueSubmission: Boolean = false

Post all values, including zeros, to CloudWatch