Out Of My Memory

雨垂れ石を穿つ

【Jmeter】一つ前に戻るUndo機能を追加する方法

要約

  • JmeterにはUndo/Redo機能が付いている。
  • しかし修正されていないバグがあるためデフォルトでは有効になっていない(致命的でないバグ)
  • 有効にするなら、jmeter.propertiesの209行目「undo.history.size=0」のコメントアウトを外す
  • その後、上記sizeの数値を0→10に変更しJmeterを再起動すれば良い

使用資材・環境など

参考サイト

https://jmetervn.com/2016/09/30/how-to-undoredo-in-jmeter/

JmeterのUndo/Redo機能を有効にする

Jmeterには元々Undo/Redo機能があるがデフォルトでは無効になっているため有効にすればいい。
version 2.12からこの機能は追加されたようだ。。。
binフォルダ内の「jmeter.properties」の200行目あたりに設定の記述がある。

f:id:pzdl-HIRAKU:20191213233706p:plain
jmeter.propertiesの200行目あたり

209行目の「undo.history.size=0」のコメントアウトを外し、0→10に設定をしてJmeterを再起動してみる。 このsizeの数値は戻したいステップ数を表します。三回まで前に戻したい場合は3を設定すればOK。 戻せば戻すほどJmeterがスローダウンするようなので、5〜10回が良いかもしれないです。

f:id:pzdl-HIRAKU:20191213234206p:plain
Jmeterヘッダー部

上記のようにUndo/Redoのアイコンが表示されていればOK
ちなみにUndoなどは「ctrl + z」「command + z」では行えず、このアイコンをクリックするしかないので注意。

なぜデフォルトで有効になっていないのか。

理由はバクの存在が見つかっているから。心配なのでバク報告を見てみる。
内容としては、「Undoをしてもちゃんと元に戻らない」と「元に戻す機能を有効にしたJmeterでシナリオをロードするとすごく時間がかかった」というものだった。 バク報告は5年前のもので、「Undoをしてもちゃんと元に戻らない」は改修されており、Undoのアルゴリズムも変更しているよう。
UndoしたらJmeterがいきなり落ちるとかではないので、とりあえず有効にしておくと良いと思いました。

最後に

Jmeterで負荷シナリオを作っていると、ミスって一つ前の段階に戻したい時に、Undo機能がないことに気づき悶絶することがあった。
Jmeter プラグインとかで一つ前に戻すやつとかあるだろー」と思い調べてみたらまさかの本体に実装されているという。。。 あるんかいっ!