Schwellenwerte & Alarme
Thresholds sind, wie Sie mit Bencher Leistungsregressionen erkennen. Ein Threshold wird einer eindeutigen Kombination von: Branch, Testbed, und Measure zugewiesen. Ein Threshold verwendet einen spezifischen Test, um Leistungsregressionen zu erkennen. Die Kombination eines Tests und seiner Parameter wird als Modell bezeichnet. Ein Modell muss eine Untergrenze, eine Obergrenze oder beides haben.
- Untergrenze
- Eine Untergrenze wird verwendet, wenn ein kleinerer Wert auf eine Leistungsregression hindeuten würde, wie zum Beispiel bei der Durchsatz-Messung.
- Obergrenze
- Eine Obergrenze wird verwendet, wenn ein größerer Wert auf eine Leistungsregression hindeuten würde, wie zum Beispiel bei der Latenz-Messung.
Jede Grenze wird verwendet, um ein Grenzwert zu berechnen. Dann wird jede neue Metrik gegen jede Grenze überprüft. Ein Alarm wird ausgelöst, wenn eine neue Metrik unterhalb eines unteren Grenzwertes oder oberhalb eines oberen Grenzwertes liegt.
Bei der [kontinuierlichen Benchmarking], also dem Benchmarking in CI, sollten Sie Thresholds erstellen.
Mit dem bencher run
CLI-Subkommando
geben Sie bereits mit der --branch
Option einen Branch
und mit der --testbed
Option ein Testbed an.
Die einzige weitere Dimension, die Sie angeben müssen, ist ein Measure, mit der --threshold-measure
Option.
Dann können Sie die --threshold-test
Option verwenden, um den Test für dieses Measure anzugeben.
Die --threshold-min-sample-size
, --threshold-max-sample-size
und --threshold-window
Optionen
ermöglichen es Ihnen, zu steuern, welche Daten vom Test verwendet werden.
Schließlich ermöglichen die Optionen --threshold-lower-boundary
und --threshold-upper-boundary
es Ihnen,
die Untergrenze und die Obergrenze festzulegen.
Wenn Sie alle nicht spezifizierten Modelle entfernen möchten,
können Sie dies mit dem --thresholds-reset
Flag tun.
- Wenn der Threshold nicht existiert, wird er für Sie erstellt.
- Wenn der Threshold existiert und das angegebene Modell dasselbe ist, wird das Modell ignoriert.
- Wenn der Threshold existiert und das angegebene Modell anders ist, wird ein neues Modell für den Threshold erstellt.
- Wenn ein Threshold existiert und er zurückgesetzt wird, wird das aktuelle Modell aus dem Threshold entfernt.
Zum Beispiel, um nur einen Threshold für die Latenz-Messung zu verwenden
mit einem Student’s t-test Test
mit einer maximalen Stichprobengröße von 64
und einer Obergrenze von 0,99
, könnten Sie so etwas schreiben:
🐰 Wenn Sie mit Feature-Branches arbeiten, möchten Sie möglicherweise die bestehenden Thresholds vom Basis-, Startpunkt Branch kopieren. Dies ist möglich mit dem
--start-point-clone-thresholds
Flag. Beachten Sie, dass das--thresholds-reset
Flag weiterhin alle geklonten Thresholds entfernt, die nicht explizit angegeben sind.
Mehrere Schwellenwerte
Es ist möglich, mehrere Schwellenwerte mit demselben
bencher run
Aufruf zu erstellen.
Wenn Sie mehrere Schwellenwerte angeben, müssen für jeden Schwellenwert dieselben Optionen verwendet werden.
Um eine Option für einen spezifischen Schwellenwert zu ignorieren, verwenden Sie einen Unterstrich (_
).
Zum Beispiel, wenn Sie nur zwei Schwellenwerte verwenden möchten,
einen für die Latenzmessung und einen für die Durchsatzmessung,
dann möchten Sie wahrscheinlich eine Obergrenze für die Latenzmessung
und eine Untergrenze für die Durchsatzmessung festlegen.
Daher würden Sie --threshold-lower-boundary _
für die Latenzmessung
und --threshold-upper-boundary _
für die Durchsatzmessung verwenden.
Sie könnten so etwas schreiben:
--threshold-measure <MEASURE>
Verwenden Sie den angegebenen Measure-Namen, Slug oder UUID für einen Threshold. Wenn der angegebene Wert ein Name oder Slug ist und die Measure noch nicht existiert, wird sie für Sie erstellt. Wenn der angegebene Wert jedoch eine UUID ist, muss die Measure bereits existieren.
Beispielsweise könnten Sie, um einen Schwellenwert für die Latenz-Messung zu verwenden,
--threshold-measure latency
schreiben.
--threshold-test <TEST>
Verwenden Sie den angegebenen Test, um Leistungsregressionen zu erkennen.
Es stehen mehrere verschiedene Tests zur Verfügung:
- Prozentsatz (
percentage
) - z-score (
z_score
) - t-test (
t_test
) - Log-Normal (
log_normal
) - Interquartilsabstand (
iqr
) - Delta Interquartilsabstand (
delta_iqr
) - Statisch (
static
)
Zum Beispiel, um ein Schwellenwert mit einem Student’s t-test zu verwenden,
könnten Sie --threshold-test t_test
schreiben.
Prozentsatz
Ein Prozentsatztest (percentage
) ist der einfachste statistische Test. Wenn eine neue Metrik unter einem bestimmten Prozentsatz des Mittels (untere Grenze) oder über einem bestimmten Prozentsatz des Mittels (obere Grenze) Ihrer historischen Metriken liegt, wird eine Warnung generiert. Es muss entweder eine untere Grenze, eine obere Grenze oder beides festgelegt werden. Prozentsatztests eignen sich am besten, wenn der Wert der Metrik innerhalb eines bekannten guten Bereichs bleiben sollte.
-
Prozentsatz Untere Grenze
- Eine untere Grenze eines Prozentsatztests kann in Dezimalform jeder Prozentsatz größer oder gleich null sein (z. B.: verwenden Sie
0.10
für10%
). Sie wird verwendet, wenn ein kleinerer Wert auf eine Leistungsverschlechterung hinweisen würde. - Ein Beispiel: Wenn Sie einen Prozentsatztest mit einer unteren Grenze von
0.10
hätten und Ihre historischen Metriken einen Mittelwert von100
hätten, würde das untere Grenzlager90
betragen, und jeder Wert unter90
würde eine Warnung generieren.
- Eine untere Grenze eines Prozentsatztests kann in Dezimalform jeder Prozentsatz größer oder gleich null sein (z. B.: verwenden Sie
-
Prozentsatz Obere Grenze
- Eine obere Grenze eines Prozentsatztests kann in Dezimalform jeder Prozentsatz größer oder gleich null sein (z. B.: verwenden Sie
0.10
für10%
). Sie wird verwendet, wenn ein größerer Wert auf eine Leistungsverschlechterung hinweisen würde. - Ein Beispiel: Wenn Sie einen Prozentsatztest mit einer oberen Grenze von
0.10
hätten und Ihre historischen Metriken einen Mittelwert von100
hätten, würde das obere Grenzlager110
betragen, und jeder Wert über110
würde eine Warnung generieren.
- Eine obere Grenze eines Prozentsatztests kann in Dezimalform jeder Prozentsatz größer oder gleich null sein (z. B.: verwenden Sie
z-score
Ein z-score Test (z_score
) misst die Anzahl der Standardabweichungen (σ), die eine neue Metrik vom Mittelwert Ihrer historischen Metriken mithilfe eines z-score entfernt ist.
z-score Tests funktionieren am besten, wenn:
- Es keine extremen Unterschiede zwischen Benchmark-Durchläufen gibt
- Benchmark-Durchläufe völlig unabhängig voneinander sind
- Die Anzahl der Iterationen für einen einzelnen Benchmark-Durchlauf weniger als 10% der historischen Metriken beträgt
- Mindestens 30 historische Metriken vorhanden sind (minimale Stichprobengröße >= 30)
Für z-score Tests werden Standardabweichungen als dezimale kumulative Prozentsätze ausgedrückt. Wenn eine neue Metrik unter einem bestimmten linken kumulativen Prozentsatz (untere Grenze) oder über einem bestimmten rechten kumulativen Prozentsatz (obere Grenze) für Ihre historischen Metriken liegt, wird ein Alarm ausgelöst. Entweder eine untere Grenze, eine obere Grenze oder beide müssen festgelegt werden.
-
z-score Untere Grenze
- Eine z-score Untere Grenze kann jede positive Dezimalzahl zwischen
0.5
und1.0
sein. Dabei steht0.5
für den Mittelwert und1.0
für alle möglichen linken Werte (-∞). Sie wird verwendet, wenn ein kleinerer Wert auf eine Leistungsregression hinweisen würde. - Zum Beispiel, wenn Sie einen z-score Test mit einer unteren Grenze von
0.977
verwenden und Ihre historischen Metriken einen Mittelwert von100
und eine Standardabweichung von10
hatten, wäre die untere Grenzschwelle80.05
und jeder Wert unter80.05
würde einen Alarm auslösen.
- Eine z-score Untere Grenze kann jede positive Dezimalzahl zwischen
-
z-score Obere Grenze
- Eine z-score Obere Grenze kann jede positive Dezimalzahl zwischen
0.5
und1.0
sein. Dabei steht0.5
für den Mittelwert und1.0
für alle möglichen rechten Werte (∞). Sie wird verwendet, wenn ein größerer Wert auf eine Leistungsregression hinweisen würde. - Zum Beispiel, wenn Sie einen z-score Test mit einer oberen Grenze von
0.977
verwenden und Ihre historischen Metriken einen Mittelwert von100
und eine Standardabweichung von10
hatten, wäre die obere Grenzschwelle119.95
und jeder Wert über119.95
würde einen Alarm auslösen.
- Eine z-score Obere Grenze kann jede positive Dezimalzahl zwischen
t-test
Ein t-Test (t_test
) misst das Konfidenzintervall (CI) für die Wahrscheinlichkeit, dass ein neuer Metrikwert über oder unter dem Mittelwert Ihrer historischen Metriken liegt, mit Hilfe eines Student’s t-Tests.
t-Test-Tests funktionieren am besten, wenn:
- Keine extremen Unterschiede zwischen Benchmark-Durchläufen bestehen
- Benchmark-Durchläufe völlig unabhängig voneinander sind
- Die Anzahl der Iterationen für einen einzelnen Benchmark-Durchlauf weniger als 10% der historischen Metriken beträgt
Bei t-Test-Tests werden Konfidenzintervalle als dezimale Konfidenzprozentsätze ausgedrückt. Wenn ein neuer Metrikwert unterhalb eines bestimmten linksseitigen Konfidenzprozentsatzes (untere Grenze) oder oberhalb eines bestimmten rechtsseitigen Konfidenzprozentsatzes (obere Grenze) für Ihre historischen Metriken liegt, wird eine Warnung generiert. Es muss entweder eine untere Grenze, eine obere Grenze oder beides festgelegt sein.
-
t-Test untere Grenze
- Eine t-Test untere Grenze kann ein beliebiges positives Dezimal zwischen
0.5
und1.0
sein. Dabei steht0.5
für den Mittelwert und1.0
für alle möglichen linksseitigen Werte (-∞). Es wird verwendet, wenn ein kleinerer Wert auf eine Leistungsverschlechterung hinweist. - Wenn Sie beispielsweise einen t-Test mit einer unteren Grenze von
0.977
verwenden und25
historische Metriken mit einem Mittelwert von100
und einer Standardabweichung von10
hätten, würde das untere Grenzwertlimit78.96
betragen und jeder Wert unter78.96
würde eine Warnung generieren.
- Eine t-Test untere Grenze kann ein beliebiges positives Dezimal zwischen
-
t-Test obere Grenze
- Eine t-Test obere Grenze kann ein beliebiges positives Dezimal zwischen
0.5
und1.0
sein. Dabei steht0.5
für den Mittelwert und1.0
für alle möglichen rechtsseitigen Werte (∞). Es wird verwendet, wenn ein größerer Wert auf eine Leistungsverschlechterung hinweist. - Wenn Sie beispielsweise einen t-Test mit einer oberen Grenze von
0.977
verwenden und25
historische Metriken mit einem Mittelwert von100
und einer Standardabweichung von10
hätten, würde das obere Grenzwertlimit121.04
betragen und jeder Wert über121.04
würde eine Warnung generieren.
- Eine t-Test obere Grenze kann ein beliebiges positives Dezimal zwischen
Lognormalverteilung
Ein Lognormaltest (log_normal
) misst, wie wahrscheinlich es ist, dass ein neuer Metrikwert über oder unter dem zentralen Standort Ihrer historischen Metriken liegt, wobei eine Lognormalverteilung verwendet wird.
Lognormaltests funktionieren am besten, wenn:
- Benchmark-Läufe vollkommen unabhängig voneinander sind
- Die Anzahl der Iterationen für einen einzelnen Benchmark-Lauf weniger als 10 % der historischen Metriken beträgt
- Alle Daten positiv sind (der natürliche Logarithmus einer negativen Zahl ist
undefiniert
)
Für Lognormaltests wird die Wahrscheinlichkeit als dezimaler Prozentsatz ausgedrückt. Wenn ein neuer Metrikwert unter einem bestimmten Prozentsatz auf der linken Seite (Untere Grenze) oder über einem bestimmten Prozentsatz auf der rechten Seite (Obere Grenze) Ihrer historischen Metriken liegt, wird ein Alarm ausgelöst. Entweder muss eine Untere Grenze, eine Obere Grenze oder beide festgelegt werden.
-
Untere Grenze der Lognormalverteilung
- Eine Untere Grenze eines Lognormaltests kann jede positive Dezimalzahl zwischen
0,5
und1,0
sein. Wo0,5
den zentralen Standort und1,0
alle möglichen linken Werte (-∞) darstellt. Sie wird verwendet, wenn ein kleinerer Wert eine Leistungsverschlechterung anzeigen würde. - Wenn Sie beispielsweise einen Lognormaltest mit einer Unteren Grenze von
0,977
verwenden und25
historische Metriken um100
zentriert sowie einen vorherigen Ausreißer bei200
haben, wäre die Untere Grenzgrenze71,20
und jeder Wert unter71,20
würde einen Alarm auslösen.
- Eine Untere Grenze eines Lognormaltests kann jede positive Dezimalzahl zwischen
-
Obere Grenze der Lognormalverteilung
- Eine Obere Grenze eines Lognormaltests kann jede positive Dezimalzahl zwischen
0,5
und1,0
sein. Wo0,5
den zentralen Standort und1,0
alle möglichen rechten Werte (∞) darstellt. Sie wird verwendet, wenn ein größerer Wert eine Leistungsverschlechterung anzeigen würde. - Wenn Sie beispielsweise einen Lognormaltest mit einer Oberen Grenze von
0,977
verwenden und25
historische Metriken um100
zentriert sowie einen vorherigen Ausreißer bei200
haben, wäre die Obere Grenzgrenze134,18
und jeder Wert über134,18
würde einen Alarm auslösen.
- Eine Obere Grenze eines Lognormaltests kann jede positive Dezimalzahl zwischen
Interquartilbereich
Ein Interquartilbereichstest (iqr
) misst, wie viele Vielfache des Interquartilbereichs (IQR) eine neue Metrik über oder unter dem Median Ihrer historischen Metriken liegt. Wenn eine neue Metrik unter einem bestimmten Vielfachen des IQR vom Median (untere Grenze) oder über einem bestimmten Vielfachen des IQR vom Median (obere Grenze) Ihrer historischen Metriken liegt, wird ein Alarm ausgelöst. Entweder muss eine untere Grenze, eine obere Grenze oder beide festgelegt werden.
-
Untere Grenze des Interquartilbereichs
- Eine untere Grenze des Interquartilbereichstests kann jeder Multiplikator größer oder gleich null sein (z. B. verwenden Sie
2.0
für2x
). Sie wird verwendet, wenn ein kleinerer Wert auf eine Leistungsverschlechterung hinweisen würde. - Beispielsweise, wenn Sie einen Interquartilbereichstest mit einer unteren Grenze von
2.0
hatten und Ihre historischen Metriken einen Median von100
und einen Interquartilbereich von10
aufwiesen, würde das Grenzwert-Limit bei80
liegen und jeder Wert unter80
würde einen Alarm auslösen.
- Eine untere Grenze des Interquartilbereichstests kann jeder Multiplikator größer oder gleich null sein (z. B. verwenden Sie
-
Obere Grenze des Interquartilbereichs
- Eine obere Grenze des Interquartilbereichstests kann jeder Multiplikator größer oder gleich null sein (z. B. verwenden Sie
2.0
für2x
). Sie wird verwendet, wenn ein größerer Wert auf eine Leistungsverschlechterung hinweisen würde. - Beispielsweise, wenn Sie einen Interquartilbereichstest mit einer oberen Grenze von
2.0
hatten und Ihre historischen Metriken einen Median von100
und einen Interquartilbereich von10
aufwiesen, würde das Grenzwert-Limit bei120
liegen und jeder Wert über120
würde einen Alarm auslösen.
- Eine obere Grenze des Interquartilbereichstests kann jeder Multiplikator größer oder gleich null sein (z. B. verwenden Sie
Delta-Interquartilsbereich
Ein Delta-Interquartilsbereichstest (delta_iqr
) misst, um wie viele Vielfache der durchschnittlichen prozentualen Änderung (Δ) des Interquartilsbereichs (IQR) ein neuer Metrikwert über oder unter dem Median Ihrer historischen Metriken liegt. Wenn eine neue Metrik unter einem bestimmten Vielfachen des ΔIQR vom Median (untere Grenze) oder über einem bestimmten Vielfachen des ΔIQR vom Median (obere Grenze) Ihrer historischen Metriken liegt, wird ein Alarm ausgelöst. Entweder muss eine untere Grenze, eine obere Grenze oder beides gesetzt werden.
-
Untere Grenze des Delta-Interquartilsbereichs
- Eine untere Grenze für den Delta-Interquartilsbereichstest kann jedes Vielfache sein, das größer oder gleich null ist (z. B.
2.0
für2x
verwenden). Dies wird verwendet, wenn ein kleinerer Wert auf eine Leistungsverschlechterung hinweisen würde. - Ein Beispiel: Wenn Sie einen Delta-Interquartilsbereichstest mit einer unteren Grenze von
2.0
haben und Ihre historischen Metriken einen Median von100
, einen Interquartilsbereich von10
und einen durchschnittlichen Delta-Interquartilsbereich von0.2
(20%
) aufweisen, wäre das untere Grenzwertlimit60
und jeder Wert unter60
würde einen Alarm auslösen.
- Eine untere Grenze für den Delta-Interquartilsbereichstest kann jedes Vielfache sein, das größer oder gleich null ist (z. B.
-
Obere Grenze des Delta-Interquartilsbereichs
- Eine obere Grenze für den Delta-Interquartilsbereichstest kann jedes Vielfache sein, das größer oder gleich null ist (z. B.
2.0
für2x
verwenden). Dies wird verwendet, wenn ein größerer Wert auf eine Leistungsverschlechterung hinweisen würde. - Ein Beispiel: Wenn Sie einen Delta-Interquartilsbereichstest mit einer oberen Grenze von
2.0
haben und Ihre historischen Metriken einen Median von100
, einen Interquartilsbereich von10
und einen durchschnittlichen Delta-Interquartilsbereich von0.2
(20%
) aufweisen, wäre das obere Grenzwertlimit140
und jeder Wert über140
würde einen Alarm auslösen.
- Eine obere Grenze für den Delta-Interquartilsbereichstest kann jedes Vielfache sein, das größer oder gleich null ist (z. B.
Static
Ein statischer Test (static
) ist der einfachste Test.
Wenn ein neuer Metrikwert unter eine festgelegte Untergrenze oder über eine festgelegte Obergrenze fällt, wird ein Alarm ausgelöst.
Das heißt, die Unter-/Obergrenze ist ein expliziter Unter-/Obergrenzwert.
Es muss entweder eine Untergrenze, eine Obergrenze oder beides festgelegt werden.
Statische Tests funktionieren am besten, wenn der Wert der Metrik in einem konstanten Bereich über alle Benchmarks hinweg bleiben soll,
wie beispielsweise die Codeabdeckung.
🐰 Wenn Sie ein anderes statisches Unter-/Obergrenzen-Limit für jeden Benchmark wünschen, sollten Sie den Prozent-Test (
percentage
) mit der Unter-/Obergrenze auf0.0
und der maximalen Stichprobengröße auf2
einstellen.
-
Statische Untergrenze
- Eine statische Test-Untergrenze kann eine beliebige Gleitkommazahl sein. Sie wird verwendet, wenn ein kleinerer Wert auf einen Leistungseinbruch hinweisen würde. Die Untergrenze muss kleiner oder gleich der Obergrenze sein, wenn beide angegeben sind.
- Zum Beispiel, wenn Sie einen statischen Test mit einer festgelegten Untergrenze von
100
hätten, wäre der Untergrenzwert ebenfalls100
und jeder Wert, der kleiner als100
ist, würde einen Alarm auslösen.
-
Statische Obergrenze
- Eine statische Test-Obergrenze kann eine beliebige Gleitkommazahl sein. Sie wird verwendet, wenn ein größerer Wert auf einen Leistungseinbruch hinweisen würde. Die Obergrenze muss größer oder gleich der Untergrenze sein, wenn beide angegeben sind.
- Zum Beispiel, wenn Sie einen statischen Test mit einer festgelegten Obergrenze von
100
hätten, wäre der Obergrenzwert ebenfalls100
und jeder Wert, der größer als100
ist, würde einen Alarm auslösen.
--threshold-min-sample-size <SAMPLE_SIZE>
Optional geben Sie die minimale Anzahl von Metriken an, die erforderlich sind, um einen Test durchzuführen.
Wenn dieses Minimum nicht erreicht wird, wird der Test nicht durchgeführt.
Die angegebene Stichprobengröße muss größer oder gleich 2
sein.
Wenn auch die Option --threshold-max-sample-size
gesetzt ist,
muss die angegebene Stichprobengröße kleiner oder gleich --threshold-max-sample-size
sein.
Diese Option kann nicht mit dem statischen (static
) Test verwendet werden.
Um beispielsweise einen Schwellenwert mit einer minimalen Stichprobengröße von 10
zu verwenden,
könnten Sie --threshold-min-sample-size 10
schreiben.
Wenn es weniger als 10
Metriken gäbe, würde der Test nicht durchgeführt.
Im Gegensatz dazu würde der Test durchgeführt, wenn es 10
oder mehr Metriken gäbe.
--threshold-max-sample-size <SAMPLE_SIZE>
Optional kann die maximale Anzahl der Metriken angegeben werden, die zum Ausführen eines Tests verwendet werden. Wenn dieses Maximum überschritten wird, werden die ältesten Metriken ignoriert. Die angegebene Stichprobengröße muss größer oder gleich 2
sein. Wenn auch die Option --threshold-min-sample-size
gesetzt ist, muss die angegebene Stichprobengröße größer oder gleich --threshold-min-sample-size
sein. Diese Option kann nicht mit dem statischen (static
) Test verwendet werden.
Zum Beispiel, um einen Schwellenwert mit einer maximalen Stichprobengröße von 100
zu verwenden, könnten Sie --threshold-max-sample-size 100
schreiben. Wenn es mehr als 100
Metriken gäbe, würden nur die aktuellsten 100
Metriken einbezogen. Umgekehrt, wenn es 100
oder weniger Metriken gäbe, würden alle Metriken einbezogen.
--threshold-window <WINDOW>
Optional geben Sie das Zeitfenster für Metriken an, die für den Test verwendet werden, in Sekunden.
Das angegebene Zeitfenster muss größer als 0
sein.
Diese Option kann nicht mit dem statischen (static
) Test verwendet werden.
Ein Beispiel: Um einen Schwellwert mit einem Fenster von vier Wochen oder 2419200
Sekunden zu verwenden,
könnten Sie --threshold-window 2419200
schreiben.
Falls Metriken älter als vier Wochen sind, würden sie ausgeschlossen.
Umgekehrt würden alle Metriken, die innerhalb der letzten vier Wochen liegen, eingeschlossen.
--threshold-lower-boundary <BOUNDARY>
Geben Sie die Untergrenze an. Die Einschränkungen für die Untergrenze hängen von dem verwendeten Test ab. Entweder die Untergrenze, die Obergrenze oder beide müssen angegeben werden.
Für Details siehe die Dokumentation für den spezifischen Test, den Sie verwenden:
- Prozentuale Untergrenze
- z-Wert Untergrenze
- t-Test Untergrenze
- Log-Normal-Untergrenze
- Interquartilsbereich Untergrenze
- Delta-Interquartilsbereich Untergrenze
- Statische Untergrenze
--threshold-upper-boundary <BOUNDARY>
Geben Sie die obere Grenze an. Die Einschränkungen für die obere Grenze hängen von dem verwendeten Test ab. Entweder die untere Grenze, die obere Grenze oder beide müssen angegeben werden.
Für Details siehe die Dokumentation für den spezifischen Test, den Sie verwenden:
- Prozentuale obere Grenze
- z-Wert obere Grenze
- t-Test obere Grenze
- Log-normal obere Grenze
- Interquartilsbereich obere Grenze
- Delta Interquartilsbereich obere Grenze
- Statische obere Grenze
---thresholds-reset
Setzen Sie alle nicht spezifizierten Schwellenwerte für den angegebenen Branch und Testbed zurück. Wenn ein Schwellenwert bereits existiert und nicht spezifiziert ist, wird sein aktuelles Modell entfernt.
Zum Beispiel, wenn es zwei Schwellenwerte für den main
Branch und das localhost
Testbed gäbe:
Wenn nur die latency
Messung im bencher run
Unterbefehl spezifiziert wird und --thresholds-reset
verwendet wird, würde die throughput
Messung ihr Modell entfernt bekommen.
--err
Optionale Fehlerausgabe, wenn ein Alert erzeugt wird. Ein Alert wird erzeugt, wenn eine neue Metrik unter ein Untergrenzlimit oder über ein Obergrenzlimit fällt.
Unterdrücken von Alerts
Manchmal kann es nützlich sein, Alerts für einen bestimmten Benchmark zu unterdrücken. Der beste Weg, dies zu tun, besteht darin, einen dieser speziellen Suffixe an den Namen des Benchmarks anzuhängen:
_bencher_ignore
BencherIgnore
-bencher-ignore
Zum Beispiel, wenn Ihr Benchmark my_flaky_benchmark
genannt wurde, dann würde das Umbenennen in my_flaky_benchmark_bencher_ignore
diesen speziellen Benchmark zukünftig ignorieren.
Ignorierte Benchmarks werden dennoch gegen bestehende Schwellenwerte überprüft.
Für sie wird jedoch kein Alert generiert.
Die Metriken für ignorierte Benchmarks werden dennoch gespeichert.
Die Ergebnisse von my_flaky_benchmark_bencher_ignore
würden weiterhin als Benchmark my_flaky_benchmark
gespeichert.
Wenn Sie das Suffix entfernen und zum ursprünglichen Benchmark-Namen zurückkehren,
werden die Dinge genau dort fortgesetzt, wo Sie aufgehört haben.
🐰 Herzlichen Glückwunsch! Sie haben alles über Schwellenwerte & Alarme gelernt! 🎉