LoginSignup
5
3

More than 5 years have passed since last update.

Gatlingのログについて確認する

Posted at

Gatlingを実行すると simulation.log が生成されます。
このファイルの中身について調査します。
このログさえあればレポートを生成できるので、中身がわかればいろいろ使いみちがありそう。

確認したバージョンは 2.2.0

調べる理由

Gatlingのレポートに不満があるわけではないですが、他のメトリクスと同じ時系列のグラフに出せると捗る気がします。
graphite経由でリアルタイム可視化することもできますが、ネットワークに不可がかかるため、simulation.logに保存して、あとでかき集めて、好きなDBに取り込みたいという感じです。
gatling-coreのパーサーを使う手もありますが、ログ自体はシンプルなので、整理してみています。

調査結果

ファイル形式はTSVです。

$ head simulation.log                                                                                                        00:31:37
RUN SampleSimulation        samplesimulation    1481907959927       2.0
USER    Simple Test 1   START   1481907961664   1481907961664
USER    Simple Test 2   START   1481907961770   1481907961770
USER    Simple Test 3   START   1481907961771   1481907961771
USER    Simple Test 4   START   1481907961781   1481907961781
USER    Simple Test 5   START   1481907961782   1481907961782
REQUEST Simple Test 623     root request    1481908081520   1481908081658   OK   
REQUEST Simple Test 1508        root request    1481908071123   1481908071123   KO  j.n.ConnectException: connection timed out: /10.146.0.4:80
REQUEST Simple Test 426     root request    1481908081520   1481908081658   OK   
$ od -c simulation.log  | head                                                                                               00:31:51
0000000    R   U   N  \t   S   a   m   p   l   e   S   i   m   u   l   a
0000020    t   i   o   n  \t  \t   s   a   m   p   l   e   s   i   m   u
0000040    l   a   t   i   o   n  \t   1   4   8   1   9   0   7   9   5
0000060    9   9   2   7  \t      \t   2   .   0  \n   U   S   E   R  \t
0000100    S   i   m   p   l   e       T   e   s   t  \t   1  \t   S   T
0000120    A   R   T  \t   1   4   8   1   9   0   7   9   6   1   6   6
0000140    4  \t   1   4   8   1   9   0   7   9   6   1   6   6   4  \n
0000160    U   S   E   R  \t   S   i   m   p   l   e       T   e   s   t
0000200   \t   2  \t   S   T   A   R   T  \t   1   4   8   1   9   0   7
0000220    9   6   1   7   7   0  \t   1   4   8   1   9   0   7   9   6

レコードの種類

1列目にレコードの種類がはいってます。

  • RUN - Gatlingが開始した時の情報
  • REQUEST - Gatlingがリクエストした時の情報
  • USER - Gatling内でリクエストを行うユーザが増えた時の情報
  • GROUP - グループに関する情報
  • ERROR - 調べてない
  • ASSERTION - Assertionをつかったときにでるのではないかと思う(調べてない)

RUN

6列のデータがある。

  • 1列目 RUNがはいる
  • 2列目 クラス名がはいる 例だと SampleSimulation
  • 3列目 ユーザ定義シミュレーション名が入る 例だとなにもはいってない
  • 4列目 シミュレーションID 例だと samplesimulation
  • 5列目 開始時間 ミリ秒で入ってる 例だと 1481907959927
  • 6列目 version 例だと 2.0

参考

USER

5列ある

  • 1列目 USERがはいる
  • 2列目 シナリオ名がはいる
  • 3列目 イベント名が入る STARTかENDかどちらか
  • 4列目 イベント開始時間
  • 5列目 イベント終了時間

参考

REQUEST

  • 1列目 REQUESTがはいる
  • 2列目 シナリオ名がはいるけどレポートにはつかわれてなさそう。例だと Simple Test
  • 3列目 グループ名が入るらしい。例だと数字がはいってる。
  • 4列目 リクエスト名がはいる。例だと root request
  • 5列目 開始時刻 ミリ秒
  • 6列目 終了時刻 ミリ秒 開始時刻と差をとればレスポンスタイムに。
  • 7列目 ステータスが入る OK か KO か
  • 8列目 エラーメッセージが入る ステータスがKOのとき入ってる模様

参考

GROUP

しらべてない

ERROR

しらべてない

  • ASSERTION

しらべてない

5
3
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
5
3