程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 在ADF中跟蹤SQL執行時間實現代碼

在ADF中跟蹤SQL執行時間實現代碼

編輯:關於Oracle數據庫
ADF是oracle提供的一套企業開發的解決方案。
最近做性能測試, 需要獲取當前頁面有多少SQL 查詢,花費多少時間。首先想到的就是常用的log4jdbc 結果 ADF 不支持封裝的驅動。後嘗試在Orace DB 層面上攔截,比較復雜還要設置數據庫連接的sesson屬性,也要修改以後代碼。

ADF 的ViewObjectImp 提供復寫SQL調用的方法,但需要修改已有代碼,最後還是修改ADF源碼來達到不修改已有代碼而獲取到SQL執行時間。

先用改好的adfm.jar 覆蓋已有的, 配置虛擬機啟動參數 -DSQLTruckerToFile=D:\log.txt -DenableSQLTracker=true
重啟就可以看到SQL 執行時間了

195:<SQL:>SELECT Geos.CREATED_BY, Geos.CREATED_TS, Geos.FAX_NUMBER, Geos.FROM_EMAIL_ADDRESS, Geos.ID, Geos.MODIFIED_BY, Geos.MODIFIED_TS, Geos.NAME, Geos.PHONE_NUMBER, Geos.REPLY_TO_EMAIL_ADDRESS, Geos.IS_DEFAULT FROM GEOS Geos ORDER BY Geos.IS_DEFAULT,Geos.NAME
195:<ElapsedTime(ms):>729
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved