読者です 読者をやめる 読者になる 読者になる

JMeterスケジューラの開始、終了時間を一発で変更するシェル

JMeterで負荷テストをするのはいいのだけど、時間を区切って行うことが多い。
その都度、開始時間、終了時間をすべてのシナリオ変更するのは大変。
さらにJMXファイルで書かれている時間はLinuxタイム。

そこで、開始、終了時間を一発で変換できるシェルを作ってみた。

■ファイル名
scenario_modifier.sh

#!/bin/sh
if [ $# -ge 3 -o $# -le 4 ]
then
#startの取得。dateが0以外の戻り値だった場合、終了
start=`date +%s%N -d "$1" | cut -b1-13`
if [ $? -ne 0 ]
then
echo "正しいスタートタイムを指定して下さい。"$1
exit -1
fi
echo "start_time: "$start

#endの取得。dateが0以外の戻り値だった場合、終了
end=`date +%s%N -d "$2" | cut -b1-13`
if [ $? -ne 0 ]
then
echo "正しいエンドタイムを指定して下さい。"$2
exit -1
fi
echo "end_time: "$end

#START_TIMEの置換。
#もし4つ目のパラメーターがあった場合、それを拡張子にする。それ以外は.bak拡張子にする。
echo "スタートタイムの置換を行います"
if [ $# -eq 4 ]
then
sed -i.$4 "s/ThreadGroup.start_time\">\(.*\)$start\(.*\)$start\(.*\)$end

感想:
それぞれのシナリオで開始時間、終了時間を変えたい場合。
この場合はファイルを分けるべきか?
それにファイル数がかなり多くなったときに一発で全部変えたい!
今のところ、こういったシナリオ作ったことがないので、その時になったら考えることにする。