jmeter隨筆 如何在寫入jtl檔案時同步寫入資料庫
阿新 • • 發佈:2019-01-22
故事背景
前陣子,在飛測群(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群)