パフォーマンスチューニング閾値とアラートThresholdsは、Bencherを使用してパフォーマンスの退行を検出する方法です。Thresholdは、次のユニークな組み合わせに割り当てられます:Branch、Testbed、およびMeasure。Thresholdは特定のTestを使用してパフォーマンスの退行を検出します。Testとそのパラメータの組み合わせはModelと呼ばれます。Boundary、またはその両方を持っていなければなりません。Measureの場合に使用されます。Measureの場合に使用されます。Limitを計算するために使用されます。Limitに対してチェックされます。Limitを上回ったりすると、Alertが生成されます。Benchmarking、すなわちCIでベンチマークを行う際にはThresholdsを作成したいでしょう。optionでTestbedを既に指定しますので、指定する必要がある唯一の次元はMeasureであり、--threshold-measureオプションを使用します。そのMeasureに使用するTestを--threshold-testオプションで指定できます。--threshold-min-sample-size、--threshold-max-sample-size、および--threshold-windowオプションを使用して、Testで使用されるデータを制御できます。Boundaryを設定できます。指定されていないすべてのModelを削除したい場合は、--thresholds-resetフラグでそれを行うことができます。Thresholdが存在しない場合は、自動的に作成されます。Thresholdが存在し、指定されたModelが同じ場合、Modelは無視されます。Thresholdが存在し、指定されたModelが異なる場合、新しいModelがThresholdのために作成されます。既存のThresholdがあり、リセットされる場合、現在のModelはThresholdから削除されます。Branchから既存のThresholdsをコピーしたい場合があります。flagを使用して可能です。--thresholds-resetフラグは、明示的に指定されていないすべてのクローンされたThresholdsも削除します。runの呼び出しで複数の閾値を作成することが可能です。複数の閾値を指定する場合、各閾値で同じオプションを使用する必要があります。特定の閾値に対してオプションを無視したい場合は、アンダースコア(_)を使用します。スループットの測定には下限値を設定することが考えられます。_を使用すると良いでしょう。名前、スラッグ、またはUUIDをしきい値として使用します。指定された値が名前またはスラッグであり、メジャーが既に存在しない場合、自動的に作成されます。指定された値がUUIDの場合は、メジャーが既に存在している必要があります。<TEST>指定されたテストを使用してパフォーマンスの退行を検出します。t_testと書きます。パーセンテージパーセンテージテスト(percentage)は最もシンプルな統計テストです。新しいメトリックが平均の特定のパーセンテージ(下限)よりも低い場合、または平均の特定のパーセンテージ(上限)よりも高い場合、アラートが生成されます。下限、上限、またはその両方を設定する必要があります。パーセンテージテストは、メトリックの値が既知の適正な範囲内にあるべき場合に最適です。10%の場合は0.10を使用)。これは、より小さな値がパフォーマンスの低下を示す場合に使用されます。下限を0.10に設定したパーセンテージテストがあり、履歴メトリックの平均が100である場合、下限限界は90となり、90未満の値はアラートを生成します。10%の場合は0.10を使用)。これは、より大きな値がパフォーマンスの低下を示す場合に使用されます。上限を0.10に設定したパーセンテージテストがあり、履歴メトリックの平均が100である場合、上限限界は110となり、110より大きい値はアラートを生成します。離れているかをzスコアを用いて測定します。30)zスコアテストでは、標準偏差は小数の累積パーセンテージとして表されます。新しいメトリクスが過去のメトリクスのある左側の累積パーセンテージ(下限)以下の場合や、ある右側の累積パーセンテージ(上限)以上の場合にアラートが生成されます。下限、上限、またはその両方を設定する必要があります。zスコア下限zスコアテストの下限は、0.5から1.0の間の任意の正の小数に設定できます。0.5は平均を示し、1.0はすべての左側の可能な値(-∞)を示します。これは、より小さな値がパフォーマンスの低下を示す場合に使用されます。下限が0.977のzスコアテストを使用し、過去のメトリクスの平均が100、標準偏差が10であった場合、下限は80.05になり、80.05未満の値はアラートを生成します。zスコア上限zスコアテストの上限は、0.5から1.0の間の任意の正の小数に設定できます。0.5は平均を示し、1.0はすべての右側の可能な値(∞)を示します。これは、より大きな値がパフォーマンスの低下を示す場合に使用されます。上限が0.977のzスコアテストを使用し、過去のメトリクスの平均が100、標準偏差が10であった場合、上限は119.95になり、119.95を超える値はアラートを生成します。スチューデントのt検定を使用して測定します。t検定テストが最も効果的なのは次のような場合です:ベンチマークラン間に極端な差がないベンチマークランが完全に独立している単一のベンチマークランの反復回数が過去のメトリックの10%未満であるt検定テストでは、信頼区間は小数の信頼パーセンテージで表されます。新しいメトリックが過去のメトリックの特定の左側信頼パーセンテージ(下限)以下、または右側信頼パーセンテージ(上限)以上である場合、アラートが生成されます。下限、上限、またはその両方が設定されていなければなりません。下限t検定テストの下限は、0.5から1.0の任意の正の小数でかまいません。これは、より小さい値がパフォーマンスの退行を示す場合に使用します。78.96以下の値はアラートを生成します。上限t検定テストの上限は、0.5から1.0の任意の正の小数でかまいません。これは、より大きい値がパフォーマンスの退行を示す場合に使用します。対数正規分布を使用して、新しいメトリクスが過去のメトリクスの中心位置以上または以下である可能性を測定します。対数正規検定が最も効果的に機能するのは次のような場合です:ベンチマーク実行が完全に独立している単一のベンチマーク実行のイテレーション数が過去データの10%未満すべてのデータが正の値である(負の数の自然対数は「未定義」)対数正規検定では、小数のパーセンテージで表現される確率を使用します。新しいメトリクスが、過去データの左側の特定のパーセンテージ(下限値)以下または右側の特定のパーセンテージ(上限値)を超える場合、アラートが生成されます。