Retro Configuration
Retro reporting can be configured with the property resource-reporting.aggregation.active
. If set to false, Retro will not aggregate resource consumption. Aggregation for individual resources can be configured with the resource-reporting.aggregation.enabled.*
properties listed below.
The property resource-reporting.reporting.interval
configures the reporting time interval in milliseconds. Resource reports will be sent at this time interfal.
The following is the full listing of default config values
// Retro Reporting Config
resource-reporting {
# settings for the aggregation component of resource reporting. consumption can be aggregated without reporting
aggregation {
active = true # aggregation is on by default
disk-cache-threshold = 120000000 # bytes per second threshold for a disk read to be logged as a disk cache read
small-read = 131072 # a small read is one that is <= 128kb
seek-threshold = 10000000 # a small read is a seek if it is slower than 10 ms (10,000,000 ns)
# per-resource settings
enabled {
disk = ${resource-reporting.aggregation.active} # disk aggregation is enabled by default; can set to true or false
disk-cache = ${resource-reporting.aggregation.active} # disk-cache aggregation is enabled by default; can set to true or false
network = ${resource-reporting.aggregation.active} # network aggregation is enabled by default; can set to true or false
cpu = ${resource-reporting.aggregation.active} # cpu aggregation is enabled by default; can set to true or false
hdfs = ${resource-reporting.aggregation.active} # hdfs aggregation is enabled by default; can set to true or false
locks = ${resource-reporting.aggregation.active} # locks aggregation is enabled by default; can set to true or false
queue = ${resource-reporting.aggregation.active} # queue aggregation is enabled by default; can set to true or false
throttlingpoint = ${resource-reporting.aggregation.active} # throttling point aggregation is enabled by default; can set to true or false
batch = ${resource-reporting.aggregation.active} # batch aggregation is enabled by default; can set to true or false
}
}
# settings for the reporting side. reporting can be disabled or modified separately from aggregation
reporting {
active = true # reporting is on by default. default reporter is zmq
interval = 1000 # reporting interval in milliseconds
# reporting settings for the zmq reporter
zmq {
topics {
default = "default" # default topic for reports if none configured
immediate = "immediate" # topic for immediate reports to be published on
disk = "disk" # topic on which to report disk usage reports
disk-cache = "diskcache" # topic on which to report disk cache usage reports
network = "network" # topic on which to report network usage reports
cpu = "cpu" # topic on which to report cpu usage reports
hdfs = "hdfs" # topic on which to report hdfs usage reports
locks = "locks" # topic on which to report locks usage reports
queue = "queue" # topic on which to report queue usage reports
throttlingpoint = "throttlingpoint" # topic on which to report throttling point usage reports
batch = "batch" # topic on which to report batch usage reports
}
}
# reporting settings for the file printer reporter
printer {
filename = "hdfsreports.tsv" # default filename for reports file
}
}
}
// Retro Resources Config
resource-tracing {
disk {
sync-after-write = false # set to true to sync to disk after every file write
sync-threshold = 0 # number of bytes written before disk sync. only valid if sync-on-write is true. if 0, will sync after every write
}
background {
heartbeat = -10 # tenant class for heartbeat background process; set to -1 to disable
replication = -11 # tenant class for replication background process; set to -1 to disable
invalidate = -12 # tenant class for deleting blocks from disk; set to -1 to disable
finalize = -13 # tenant class for finalizing blocks; set to -1 to disable
recover = -14 # tenant class for recovering blocks; set to -1 to disable
}
batch {
hbase {
fshlog = -20 # tenant class for hbase fshlog; set to -1 to disable
}
}
}
// Retro Throtting Config
retro {
throttling {
topic = "throttlingupdates" # topic on which the controller should publish throttling point rates
schedulertopic = "schedulerupdates" # topic on which the controller should publish scheduler rates
default-throttlingpoint = "simple" # type of throttling point to use. valid choices: ["simple", "batched-<type>-<batchsize>", "default"]
throttlingpoints {
"point-example" = "batched-simple-5" # configures the "point-example" throttling point to use the 'batched' throttling point type.
}
default-throttlingqueue = "locking" # type of throttling queue to use. valid choices: ["locking", "delay", "default"]
throttlingqueues {
"queue-example" = "delay" # configures the "queue-example" throttling queue to use the "delay" throttling queue type.
}
default-scheduler = "mclock-3" # default scheduler type to use. valid choices: ["mclock-<concurrency>", "default"]
schedulers {
"scheduler-example" = "mclock-5" # configures the "schedulers-example" scheduler to use the "mclock" scheduler type with a concurrency of 5
}
debug {
mclock = false # set to true to print mclock debug messages
}
}
}
// Retro Visualization Server Config
resource-reporting {
visualization {
webui-port = 4081
}
}