Addons¶
Jumeauxではアドオンを利用して処理をカスタマイズすることができます。
アドオンは自作することも可能です。
System structure¶
以下はJumeauxの処理を図で表したものです。
画像の青色の部分がアドオンレイヤーです。
Add-on specifications¶
各アドオンレイヤーに属するアドオンの仕様は以下のページに記載しています。
アドオンレイヤー | アドオンレイヤーの概要 |
---|---|
log2reqs | 任意のFormatをリクエスト形式に変換する |
reqs2reqs | リクエスト形式を同し形式の別の値に変換する |
res2res | APIレスポンスを判定前に変換する |
res2dict | APIレスポンスを差分比較で利用するdictに変換する |
judgement | dict同士を比較して判定ステータスを決定する |
store_criterion | APIレスポンスを保存する基準を決定する |
dump | APIレスポンスを保存前に加工する |
did_challenge | 次のchallengeに移る前に処理をする |
final | jumeauxの処理が完了する前に処理をする |
Configuration Definitions¶
アドオンを使用する場合は以下の定義に従って、設定ファイルに追加してください。
Addons¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
log2reqs | Addon | log2reqsのアドオン | ||
reqs2reqs | (Addon[]) | reqs2reqsのアドオン | ||
res2res | (Addon[]) | res2resのアドオン | ||
res2dict | (Addon[]) | res2dictのアドオン | ||
judgement | (Addon[]) | judgementのアドオン | ||
store_criterion | (Addon[]) | store_criterionのアドオン | ||
dump | (Addon[]) | dumpのアドオン | ||
did_challenge | (Addon[]) | did_challengeのアドオン | ||
final | (Addon[]) | finalのアドオン |
Addon¶
アドオン単位での設定です。
Key | Type | Description | Example | Default |
---|---|---|---|---|
name | string | アドオン名称 | csv | |
cls_name | (string) | 実行するクラス名 | YourExecutor | Executor |
config | (Config) | アドオンの設定 | ||
include | (string) | 読み込む設定ファイルのパス | ||
tags | (string[]) | タグ |
Configuration Examples¶
以下は設定の一例です。
addons:
log2reqs:
name: csv
reqs2reqs:
- name: shuffle
- name: head
config:
size: 10
final:
- name: slack
tags:
- production
config:
conditions:
- payload:
message_format: Finish Jumeaux!!
channel: "#jumeaux"
icon_emoji: ":innocent:"
この設定は以下のように動作します。
- リクエストファイルをcsvと解釈してパースする
- 1でパースした結果をシャッフルする
- 2の結果 先頭10リクエストのみをテストする
--skip-addon-tag production
が指定されていなければ最後にSlackで通知する
4つのアドオンが使用されており、仕様とconfigの定義は各アドオンページをご覧下さい。