在ADF中跟蹤SQL執(zhí)行時(shí)間
ADF是oracle提供的一套企業(yè)開(kāi)發(fā)的解決方案。
最近做性能測(cè)試, 需要獲取當(dāng)前頁(yè)面有多少SQL 查詢(xún),花費(fèi)多少時(shí)間。首先想到的就是常用的log4jdbc 結(jié)果 ADF 不支持封裝的驅(qū)動(dòng)。后嘗試在Orace DB 層面上攔截,比較復(fù)雜還要設(shè)置數(shù)據(jù)庫(kù)連接的sesson屬性,也要修改以后代碼。
ADF 的ViewObjectImp 提供復(fù)寫(xiě)SQL調(diào)用的方法,但需要修改已有代碼,最后還是修改ADF源碼來(lái)達(dá)到不修改已有代碼而獲取到SQL執(zhí)行時(shí)間。
先用改好的adfm.jar 覆蓋已有的, 配置虛擬機(jī)啟動(dòng)參數(shù) -DSQLTruckerToFile=D:\log.txt -DenableSQLTracker=true
重啟就可以看到SQL 執(zhí)行時(shí)間了
最近做性能測(cè)試, 需要獲取當(dāng)前頁(yè)面有多少SQL 查詢(xún),花費(fèi)多少時(shí)間。首先想到的就是常用的log4jdbc 結(jié)果 ADF 不支持封裝的驅(qū)動(dòng)。后嘗試在Orace DB 層面上攔截,比較復(fù)雜還要設(shè)置數(shù)據(jù)庫(kù)連接的sesson屬性,也要修改以后代碼。
ADF 的ViewObjectImp 提供復(fù)寫(xiě)SQL調(diào)用的方法,但需要修改已有代碼,最后還是修改ADF源碼來(lái)達(dá)到不修改已有代碼而獲取到SQL執(zhí)行時(shí)間。
先用改好的adfm.jar 覆蓋已有的, 配置虛擬機(jī)啟動(dòng)參數(shù) -DSQLTruckerToFile=D:\log.txt -DenableSQLTracker=true
重啟就可以看到SQL 執(zhí)行時(shí)間了
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
如果那位同學(xué)想要adfm.jar email:advincenting@gmail.com
如果那位同學(xué)想要adfm.jar email:advincenting@gmail.com
posted on 2012-11-16 23:11 advincenting 閱讀(1532) 評(píng)論(4) 編輯 收藏 所屬分類(lèi): JSF/ADF