1. 程式人生 > >jmeter隨筆 如何在寫入jtl檔案時同步寫入資料庫

jmeter隨筆 如何在寫入jtl檔案時同步寫入資料庫

故事背景

這裡寫圖片描述
前陣子,在飛測群(283440449)裡討論過,把聚合報告的jtl檔案資料同步寫入到資料庫。具體好處的話,大家可以發散發散。
加之之前有了修改原始碼的經驗,這次的解決思路,大體還是從原始碼著手。

解決思路

1、找到寫入jtl檔案資料的java檔案。
2、在寫入jtl資料的同時,寫入mysql資料庫。

動手實踐

1 找到寫入jtl的位置。

大致翻了下目錄,翻到了此處,並且在ResultCollector.java檔案中,搜尋到了“jtl”關鍵詞。
這裡寫圖片描述

2 於是翻看了大致的方法.

發現下面這個方法應該是我們要改造的方法。(抱歉,把我的除錯程式碼放進去了……)
這裡寫圖片描述

3 檢視CSVSaveService.resultToDelimitedString()方法

這裡寫圖片描述
方法體中,意思是把一次請求結果的所有欄位,拼接在一起,返回一個字串。

4 回到ResultCollector.java檔案

此時我們在
String savee = CSVSaveService.resultToDelimitedString(event);
這句程式碼之後,做兩件事情:
1.把字串截斷
2.寫入mysql資料庫
修改程式碼如圖:
這裡寫圖片描述
需要寫的程式碼和截圖這裡就不上了,不難。(需要修改的class檔案和原始碼,後面會上傳到飛測QQ群)