TimestreamReporterFactory

class TimestreamReporterFactory(val appConfig: TribeApplicationConfig, val timestreamWriteClient: TimestreamWriteClient) : BaseReporterFactory

BaseReporterFactory that creates a TimestreamReporter based on the dropwizard configuration.

Use includes and excludes to control which attributes get reported to AWS Timestream.

Constructors

Link copied to clipboard
fun TimestreamReporterFactory(appConfig: TribeApplicationConfig, timestreamWriteClient: TimestreamWriteClient)

Functions

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

Properties

Link copied to clipboard
Link copied to clipboard
private val databaseName: String
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
@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, env=TribeApplicationConfig.env, and hostname=${InetAddress.getLocalHost().hostname} as dimensions.

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
@NotNull
var rateUnit: @NotNull TimeUnit
Link copied to clipboard
private val tableName: String
Link copied to clipboard
internal val timestreamWriteClient: TimestreamWriteClient
Link copied to clipboard
Link copied to clipboard