4
4

More than 5 years have passed since last update.

jmeterのtimestampを人が見てわかる形式にする

Posted at

答えだけを知りたい方へ

=TEXT(A1/(86400*1000), "yyyy/MM/dd hh:mm:ss") + "1970/1/1" + "09:00"

ググったらすぐに数式は見つかるけど

Defautだとこんな感じで出力されます。
色々データ取ったあとに測定結果を出力フォーマットを変え忘れたことに気づいて非常にげんなりします。

httpSample t="32" lt="32" ts="1552176269063" s="true" lb="...

さてこのひと目でわ分からないtimestampをExcelで変換すればよいのですが、Googleで検索すると不思議な数式がみつかります。この A1 に上記の 1552176269063 を入れると 2019/3/10 9:04:29 と計算されます。たしかに合ってるっぽい。なんだこれ?

=( A1/86400000)+25569+0.375

この数式だと自信を持って合ってるとも言い切れないのでもう少し human readable な数式 をここに記録することにしました。

Excelのための変換数式を考える

まずjmeterのタイムスタンプの意味ですが、1970/01/01(UTC) からのミリ秒です。

the default saved data includes a time stamp (the number of milliseconds since midnight, January 1, 1970 UTC)
引用元: Apache JMeter - User's Manual: Listeners

次にExcelですが、Excelは 11日 として扱います(面倒くさい ̄^ ̄)

ですので素直に計算するなら
 1.ミリ秒を yyyy/mm/dd hh:mm:ss の形式に変換する
 2.1970/01/01 に足す
 3.JST にする場合、更に 09:00 足す
というステップを踏めば良いです。

なお、Excelには秒をExcel形式のシリアル値に変換する関数がないので1は普通に計算します。
A1 にjmeterのタイムスタンプが入力されている場合は以下のように書けます。

TEXT(A1/(846000*1000), "yyyy/MM/dd hh:mm:ss") 

あとは2,3も計算すると

=TEXT(A1/(86400*1000), "yyyy/MM/dd hh:mm:ss") + "1970/1/1" + "09:00"

出力フォーマットを変更する方法

jmeterの起動パラメータで以下を設定すれば良いようです。

-Djmeter.save.saveservice.timestamp_format="yyyy/MM/dd hh:mm:ss"

引用元:http://labs.timedia.co.jp/2012/04/jmeter-log-dateformat.html

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4