bencher run CLI サブコマンド


bencher runは最も人気のあるCLIサブコマンドです。 これはベンチマークを実行し、結果を報告するために使用されます。 したがって、それは最も複雑なサブコマンドの一つです。 このページでは、bencher runに渡すことができるオプション、フラグ、引数を説明します。

bencher run [OPTIONS] [COMMAND] [ARGUMENTS...]

ベンチマークコマンド

bencher runへの最初の引数は、オプションのベンチマークコマンドです。 これは実行されるコマンドで、ベンチマークハーネスを呼び出します。 BENCHER_CMD環境変数を使用して設定することもできます。 デフォルトではこのコマンドはシェルで実行され、--shell オプションと --flag オプションで設定することができます。 その出力はベンチマークハーネスアダプターによって解析され、--adapter オプションを使用して設定します。 しかし、ベンチマークハーネスがファイルに出力する場合は、出力ファイルのパスを指定するためにも--file オプションを使用しなければなりません。 出力ファイルのサイズ(つまりバイナリサイズ)をその内容の代わりに追跡するためには、出力ファイルのパスを指定する--file-size オプションを使用します。

コマンドをシェルで実行したくない場合は、--exec フラグを使用するか、追加の引数を bencher run への追加の引数として提供することができます。

Shell Form:

Terminal window
bencher run "bencher mock"

Exec Form:

Terminal window
bencher run bencher mock

--iter オプションを使用してベンチマークコマンドを複数回実行し、--fold オプションを使用してそれらの結果を単一の結果にまとめることができます。 いずれかの反復が失敗した場合、--allow-failure フラグが設定されていない限り、コマンド全体が失敗とみなされます。

ベンチマークコマンドが指定されていないが--file オプションが指定されている場合、bencher runは代わりに出力ファイルパスから読み取ります。 同様に、ベンチマークコマンドが指定されていないが--file-size オプションが指定されている場合、bencher runは指定されたファイルパスのファイルサイズを読み取ります。 ベンチマークコマンド、--file オプション、--file-size オプションのいずれも指定されていない場合、bencher runは代わりに stdin から読み取ります。 これにより、他のコマンドの出力をファイルに保存するか、bencher runにパイプすることができます。

オプション

--project <PROJECT>


--projectオプションまたはBENCHER_PROJECT環境変数のどちらかを 既存のプロジェクトのスラグまたはUUIDに設定する必要があります。 両方が定義されている場合、--projectオプションはBENCHER_PROJECT環境変数に優先します。


--token <TOKEN>


--tokenオプションまたはBENCHER_API_TOKEN環境変数のどちらかを有効なAPIトークンに設定する必要があります。 両方が定義されている場合、--tokenオプションはBENCHER_API_TOKEN環境変数に優先します。


--branch <BRANCH>

--branch-start-point <BRANCH>

--branch-start-point-hash <HASH>

--branch-reset


完全な概要については、branch selectionを参照してください。


--hash <HASH>


オプション:40文字のSHA-1コミットハッシュ。 2つのレポートが同じブランチとハッシュを持っている場合、それらは同じコミットから来たものと見なされます。 したがって、それらは同じブランチバージョン番号を持つでしょう。

提供されない場合、Bencher CLIは現在のgitハッシュを見つけようとします。 最初に、現在の作業ディレクトリでgitリポジトリを探します。 見つからない場合、親ディレクトリに移動してルートディレクトリまで再試行を続けます。 gitリポジトリが見つかった場合、現在のブランチのHEAD gitハッシュが使用されます。


--no-hash


任意: git コミットハッシュを探さないようにします。 このオプションは--hashと競合し、 git リポジトリを検索するそのデフォルトの動作を上書きします。


--testbed <TESTBED>


オプション:--testbedオプションまたはBENCHER_TESTBED環境変数のいずれかを既存のテストベッドのスラグまたはUUIDに設定することができます。 両方が定義されている場合、--testbedオプションはBENCHER_TESTBED環境変数に優先します。 どちらも定義されていない場合、デフォルトのテストベッドとしてlocalhostが使用されます。


--adapter <ADAPTER>

--average <AVERAGE>

--file <FILE>

--file-size <FILE>


完全な概要については、benchmark harness adapterを参照してください。


--iter <ITER>


オプション:実行繰り返し数。デフォルトは1です。


--fold <FOLD>


オプション:複数の結果を一つの結果にまとめます。
必要条件:--iterが設定されていること。
可能な値:

  • min: 最小値
  • max: 最大値
  • mean: 値の平均
  • median: 値の中央値

--backdate <DATETIME_SECONDS>


オプション:レポートのバックデート(エポックからの秒数)。 注:これは過去のレポートの並べ替えに影響を及ぼしません! これは、プロジェクトに初めて歴史的データを_時系列_順にシーディングする際に便利です。


--allow-failure


オプション:ベンチマークテストの失敗を許可する。


--err


オプション:アラートが生成されたときにエラーになります。完全な概要については、thresholds and alertsを参照してください。


--html


オプション:結果をHTML形式で出力します。


--quiet


オプション:クワイエットモード、最終レポートJSONのみを出力します。デフォルトはfalseです。


--github-actions <GITHUB_TOKEN>


オプション:GitHub API認証トークンを設定します(例 --github-actions ${{ secrets.GITHUB_TOKEN }})。 このオプションが設定されていて、bencher runがプルリクエストの一部としてGitHub Actionsで使用される場合、 結果はプルリクエストにコメントとして追加されます。 これを行う最も便利な方法は、GitHub ActionsのGITHUB_TOKEN環境変数です。

🐰 GitHub Actionの中でDockerコンテナ内で実行している場合、次の環境変数を渡し、GITHUB_EVENT_PATHで指定されたパスをマウントする必要があります:

  • GITHUB_ACTIONS
  • GITHUB_EVENT_NAME
  • GITHUB_EVENT_PATH

--ci-only-thresholds


オプション:メトリックの種類、ブランチ、テストベッドに対するThresholdが存在する場合にのみ、結果をCIに投稿します。Thresholdが存在しない場合、何も投稿されません。 --github-actionsが必要です。


--ci-only-on-alert


オプション:Alertが生成された場合にのみ、結果の投稿をCIに開始します。 Alertが生成されると、その後の結果もアラートが含まれていなくても投稿されます。 --github-actionsが必要です。


--ci-id


オプション:CIに結果を投稿するためのカスタムID。 デフォルトでは、Bencherはプロジェクト、ブランチ、テストベッド、Adapterの組み合わせによって自動的に結果を分割します。 同じプロジェクト、ブランチ、テストベッド、アダプタの組み合わせでBencherを同じCIワークフローで複数回実行するときに、カスタムIDを設定することは便利です。 --github-actionsが必要です。


--ci-number


オプション:CIに結果を投稿するための問題番号。 Bencherは結果を投稿するために必要なCIの問題番号を検出するために最善を尽くします。 しかし、これは複雑な設定で、GitHub Actionsのworkflow_runを使用している場合など、常に利用できるわけではありません。 --github-actionsが必要です。


--shell <SHELL>


オプション:シェルコマンドパス。Unixライクな環境ではデフォルトで/bin/sh、Windowsではcmdになります。


--flag <FLAG>


オプション:シェルコマンドフラグ。Unixライクな環境ではデフォルトで-c、Windowsでは/Cになります。


--exec


オプション: シェルコマンドではなく、実行可能なコマンドとして実行します。 bencher runへの引数の数が1つ以上の場合のデフォルトです。


--host <URL>


オプション:バックエンドホストURL。デフォルトはhttps://api.bencher.devです。


--attempts <ATTEMPTS>


オプション:最大リクエスト再試行回数。デフォルトは10回です。


--retry-after <RETRY_AFTER_SECONDS>


オプション:指定した秒数後にリクエストを再試行します (指数関数的バックオフ)。デフォルトは1秒です。


--dry-run


オプション:ドライランを実行します。これはバックエンドに何もデータを保存しません。 branch selectionで詳述されるレポートやブランチは作成されません。


-h

--help


オプション:ヘルプを表示します。



🐰 おめでとう!bencher runの基本を学びました!🎉


bencher runでのBranch Selectionを続ける ➡

🤖 このドキュメントは OpenAI GPT-4 によって自動的に生成されました。 正確ではない可能性があり、間違いが含まれている可能性があります。 エラーを見つけた場合は、GitHub で問題を開いてください。.


Published: Fri, October 27, 2023 at 8:40:00 AM UTC | Last Updated: Tue, April 23, 2024 at 12:23:00 PM UTC