Package-level declarations

Types

Link copied to clipboard
class FailureSignature(symptoms: List<Symptom>)

The failure a ranking is conditioned on: the text symptoms (signature, signal, transport) as one lowercase text and the exit codes, taken from symptoms as read from a log.

Link copied to clipboard
data class Performance(val lines: List<String>, val symptoms: List<Symptom>, val ranges: List<Performance.Range> = emptyList())

What two runs that carry samples say about time and memory. A measurement differs only when the ranges do not overlap: the minimum of the larger side is above the maximum of the smaller side. Then the larger second run gets a SymptomKind.SLOWER (wall time) or SymptomKind.MEMORY (peak memory) symptom whose value is the ratio of the medians in tenths, as text such as 2.5 times slower. Overlapping ranges give a line that says so and no symptom, and a first run that is larger gives a line and no symptom. A side with fewer than MIN_SAMPLES samples has no spread and is not compared. lines also carry each limit that applies; none names a cause.

Link copied to clipboard
object Signature

Turns an error message into text that is equal for the same failure on two runs.

Link copied to clipboard
data class Spread(val count: Int, val min: Long, val median: Long, val max: Long)

Smallest, middle and largest of count whole-number measurements. The median of an even count is the floor of the mean of the two middle values, so every target prints the same digits.

Link copied to clipboard
data class Symptom(val kind: SymptomKind, val value: String, val line: Int, val job: String? = null, val count: Int = 1)

One piece of evidence from a log. value is already normalized (see Signature), line is the 1-based line of the first occurrence and count the number of occurrences with the same job, kind and value. A DURATION value is whole milliseconds as text. SLOWER and MEMORY come from repeated runs, not from a log (see Performance); their value reads 2.5 times slower.

Link copied to clipboard

Reads symptoms from normalized log text; never throws.

Link copied to clipboard