本發(fā)明涉及web互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法及裝置。
背景技術(shù):
在互聯(lián)網(wǎng)行業(yè)快速發(fā)展的今天,web網(wǎng)站已經(jīng)從過(guò)去信息共享、信息傳遞等簡(jiǎn)單應(yīng)用,發(fā)展到如今豐富多彩的web應(yīng)用,給人們的工作、生活帶來(lái)便捷,成為人們工作、生活中不可或缺的一部分。隨著web應(yīng)用越來(lái)越重視優(yōu)秀的用戶體驗(yàn),web頁(yè)面也越做越復(fù)雜,如何更好的保障用戶體驗(yàn)中最核心的交易響應(yīng)耗時(shí)的體驗(yàn)成為了一個(gè)必須要解決的問(wèn)題。
目前,web應(yīng)用對(duì)交易響應(yīng)耗時(shí)的采集大多基于服務(wù)器交易監(jiān)控和網(wǎng)絡(luò)層的響應(yīng)時(shí)間監(jiān)控。但隨著頁(yè)面效果和JS操作日益增加,web頁(yè)面的交易性能由“服務(wù)端性能為主”已經(jīng)轉(zhuǎn)變?yōu)椤胺?wù)端、客戶端共同消耗性能”。單純的服務(wù)器交易監(jiān)控和網(wǎng)絡(luò)層的響應(yīng)時(shí)間監(jiān)控不足以滿足性能監(jiān)控采集和分析的要求。
如圖1所示,服務(wù)器交易監(jiān)控和網(wǎng)絡(luò)層的響應(yīng)時(shí)間監(jiān)控?zé)o法覆蓋對(duì)交易響應(yīng)環(huán)節(jié)中的DOMLoad、JSRender和Ajax的時(shí)間,導(dǎo)致采集的耗時(shí)數(shù)據(jù)和真實(shí)等待的時(shí)間存在一定的誤差。同時(shí)傳統(tǒng)的交易響應(yīng)耗時(shí)一般都僅通過(guò)日志記錄的方式采集耗時(shí),以事后分析為主,無(wú)法在事中直接對(duì)交易耗時(shí)進(jìn)行分析和評(píng)價(jià)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法,以解決現(xiàn)有技術(shù)中采集的交易響應(yīng)耗時(shí)與真實(shí)等待時(shí)間不符、不能在事中直接獲得交易響應(yīng)耗時(shí)的技術(shù)問(wèn)題。該方法包括:響應(yīng)用戶通過(guò)瀏覽器訪問(wèn)web頁(yè)面的請(qǐng)求,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn),其中,所述web頁(yè)面是由與具體業(yè)務(wù)操作功能相對(duì)應(yīng)的UI(User Interface,用戶界面)組件組成的,不同UI組件為用戶提供不同的點(diǎn)擊操作;當(dāng)用戶在所述web頁(yè)面上點(diǎn)擊觸發(fā)UI組件的觸發(fā)事件時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳;在用戶點(diǎn)擊的UI組件的觸發(fā)事件處理結(jié)束且返回所述web頁(yè)面時(shí),獲取所述web頁(yè)面的渲染結(jié)束時(shí)間點(diǎn);根據(jù)獲取的所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),實(shí)時(shí)計(jì)算所述web頁(yè)面的渲染響應(yīng)耗時(shí);根據(jù)獲取的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,實(shí)時(shí)計(jì)算UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)。
在一個(gè)實(shí)施例中,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),包括:獲取預(yù)設(shè)的性能監(jiān)控配置信息,所述性能監(jiān)控配置信息中包括是否開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的全局開(kāi)關(guān),在所述性能監(jiān)控配置信息指示開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的情況下,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn);獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,包括:所述性能監(jiān)控配置信息中還包括需要開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的UI組件的名稱,在被點(diǎn)擊的UI組件的名稱包括在所述性能監(jiān)控配置信息中時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳。
在一個(gè)實(shí)施例中,在計(jì)算出所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,還包括:實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)。
在一個(gè)實(shí)施例中,實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),包括:獲取預(yù)設(shè)顯示配置信息,根據(jù)所述預(yù)設(shè)顯示配置信息,實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),其中,所述預(yù)設(shè)顯示配置信息包括是否采用圖形化小窗口顯示響應(yīng)耗時(shí)以及顯示不同響應(yīng)耗時(shí)所采用的顏色。
在一個(gè)實(shí)施例中,在計(jì)算出所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,還包括:將計(jì)算出的所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)緩存在所述web頁(yè)面上,在達(dá)到緩存閾值或預(yù)設(shè)時(shí)間間隔時(shí),將緩存在所述web頁(yè)面上的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)存儲(chǔ)到數(shù)據(jù)庫(kù)中。
本發(fā)明實(shí)施例還提供了一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)裝置,以解決現(xiàn)有技術(shù)中采集的交易響應(yīng)耗時(shí)與真實(shí)等待時(shí)間不符、不能在事中直接獲得交易響應(yīng)耗時(shí)的技術(shù)問(wèn)題。該裝置包括:web頁(yè)面裝載模塊,用于響應(yīng)用戶通過(guò)瀏覽器訪問(wèn)web頁(yè)面的請(qǐng)求,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn),其中,所述web頁(yè)面是由與具體業(yè)務(wù)操作功能相對(duì)應(yīng)的UI組件組成的,不同UI組件為用戶提供不同的點(diǎn)擊操作;UI組件時(shí)間獲取模塊,用于當(dāng)用戶在所述web頁(yè)面上點(diǎn)擊觸發(fā)UI組件的觸發(fā)事件時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳;所述web頁(yè)面裝載模塊,還用于在用戶點(diǎn)擊的UI組件的觸發(fā)事件處理結(jié)束且返回所述web頁(yè)面時(shí),獲取所述web頁(yè)面的渲染結(jié)束時(shí)間點(diǎn);事件分析模塊,用于根據(jù)獲取的所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),實(shí)時(shí)計(jì)算所述web頁(yè)面的渲染響應(yīng)耗時(shí);根據(jù)獲取的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,實(shí)時(shí)計(jì)算UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)。
在一個(gè)實(shí)施例中,所述web頁(yè)面裝載模塊,具體用于獲取預(yù)設(shè)的性能監(jiān)控配置信息,所述性能監(jiān)控配置信息中包括是否開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的全局開(kāi)關(guān),在所述性能監(jiān)控配置信息指示開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的情況下,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn);所述UI組件時(shí)間獲取模塊,具體用于所述性能監(jiān)控配置信息中還包括需要開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的UI組件的名稱,在被點(diǎn)擊的UI組件的名稱包括在所述性能監(jiān)控配置信息中時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳。
在一個(gè)實(shí)施例中,還包括:顯示模塊,用于在計(jì)算出所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)。
在一個(gè)實(shí)施例中,所述顯示模塊,具體用于獲取預(yù)設(shè)顯示配置信息,根據(jù)所述預(yù)設(shè)顯示配置信息,實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),其中,所述預(yù)設(shè)顯示配置信息包括是否采用圖形化小窗口顯示響應(yīng)耗時(shí)以及顯示不同響應(yīng)耗時(shí)所采用的顏色。
在一個(gè)實(shí)施例中,還包括:日志模塊,用于在計(jì)算出所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,將計(jì)算出的所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)緩存在所述web頁(yè)面上,在達(dá)到緩存閾值或預(yù)設(shè)時(shí)間間隔時(shí),將緩存在所述web頁(yè)面上的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)存儲(chǔ)到數(shù)據(jù)庫(kù)中。
在本發(fā)明實(shí)施例中,由于web頁(yè)面是由與具體業(yè)務(wù)操作功能相對(duì)應(yīng)的UI組件組成的,不同UI組件為用戶提供不同的點(diǎn)擊操作,在有用戶訪問(wèn)web頁(yè)面時(shí),響應(yīng)用戶通過(guò)瀏覽器訪問(wèn)web頁(yè)面的請(qǐng)求,獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn),當(dāng)用戶在web頁(yè)面上點(diǎn)擊觸發(fā)UI組件的觸發(fā)事件時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,在用戶點(diǎn)擊的UI組件的觸發(fā)事件處理結(jié)束且返回web頁(yè)面時(shí),獲取web頁(yè)面的渲染結(jié)束時(shí)間點(diǎn),使得可以實(shí)時(shí)獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),并實(shí)時(shí)獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,即用戶在web頁(yè)面上進(jìn)行的任何點(diǎn)擊操作對(duì)應(yīng)的響應(yīng)耗時(shí)都可以通過(guò)獲取UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳的方式被記錄下來(lái),因此可以監(jiān)控交易響應(yīng)中各個(gè)環(huán)節(jié)的響應(yīng)耗時(shí),降低獲取到的耗時(shí)數(shù)據(jù)與真實(shí)等待時(shí)間之間的誤差,做到了與web頁(yè)面的業(yè)務(wù)邏輯松耦合,在不改變?cè)瓉?lái)業(yè)務(wù)處理邏輯的基礎(chǔ)上,準(zhǔn)確地記錄各類操作的響應(yīng)時(shí)間。同時(shí),可以實(shí)時(shí)計(jì)算出web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),使得可以在交易研發(fā)和測(cè)試過(guò)程中第一時(shí)間發(fā)現(xiàn)性能問(wèn)題,進(jìn)而進(jìn)行有針對(duì)性的優(yōu)化。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明的限定。在附圖中:
圖1是現(xiàn)有技術(shù)中的交易響應(yīng)耗時(shí)采集示意圖;
圖2是本發(fā)明實(shí)施例提供的一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法的流程圖;
圖3是本發(fā)明實(shí)施例提供的一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法的具體流程圖;
圖4是本發(fā)明實(shí)施例提供的一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)裝置的結(jié)構(gòu)框圖;
圖5是本發(fā)明實(shí)施例提供的一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)裝置的具體結(jié)構(gòu)示意圖;
圖6是本發(fā)明實(shí)施例提供的一種UI組件的內(nèi)部結(jié)構(gòu)示意圖;
圖7是本發(fā)明實(shí)施例提供的一種頁(yè)面渲染的內(nèi)部結(jié)構(gòu)示意圖;
圖8是本發(fā)明實(shí)施例提供的一種性能監(jiān)控配置信息庫(kù)的內(nèi)部結(jié)構(gòu)示意圖;
圖9是本發(fā)明實(shí)施例提供的一種性能日志記錄庫(kù)的內(nèi)部結(jié)構(gòu)示意圖;
圖10是本發(fā)明實(shí)施例提供的一種圖形化顯示組件的內(nèi)部結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施方式和附圖,對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。在此,本發(fā)明的示意性實(shí)施方式及其說(shuō)明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。
在本發(fā)明實(shí)施例中,提供了一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法,如圖2所示,該方法包括:
步驟201:響應(yīng)用戶通過(guò)瀏覽器訪問(wèn)web頁(yè)面的請(qǐng)求,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn),其中,所述web頁(yè)面是由與具體業(yè)務(wù)操作功能相對(duì)應(yīng)的UI組件組成的,不同UI組件為用戶提供不同的點(diǎn)擊操作;
步驟202:當(dāng)用戶在所述web頁(yè)面上點(diǎn)擊觸發(fā)UI組件的觸發(fā)事件時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳;
步驟203:在用戶點(diǎn)擊的UI組件的觸發(fā)事件處理結(jié)束且返回所述web頁(yè)面時(shí),獲取所述web頁(yè)面的渲染結(jié)束時(shí)間點(diǎn);
步驟204:根據(jù)獲取的所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),實(shí)時(shí)計(jì)算所述web頁(yè)面的渲染響應(yīng)耗時(shí);根據(jù)獲取的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,實(shí)時(shí)計(jì)算UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)。
由圖2所示的流程可知,在本發(fā)明實(shí)施例中,由于web頁(yè)面是由與具體業(yè)務(wù)操作功能相對(duì)應(yīng)的UI組件組成的,不同UI組件為用戶提供不同的點(diǎn)擊操作,在有用戶訪問(wèn)web頁(yè)面時(shí),響應(yīng)用戶通過(guò)瀏覽器訪問(wèn)web頁(yè)面的請(qǐng)求,獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn),當(dāng)用戶在web頁(yè)面上點(diǎn)擊觸發(fā)UI組件的觸發(fā)事件時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,在用戶點(diǎn)擊的UI組件的觸發(fā)事件處理結(jié)束且返回web頁(yè)面時(shí),獲取web頁(yè)面的渲染結(jié)束時(shí)間點(diǎn),使得可以實(shí)時(shí)獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),并實(shí)時(shí)獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,即用戶在web頁(yè)面上進(jìn)行的任何點(diǎn)擊操作對(duì)應(yīng)的響應(yīng)耗時(shí)都可以通過(guò)獲取UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳的方式被記錄下來(lái),因此可以監(jiān)控交易響應(yīng)中各個(gè)環(huán)節(jié)的響應(yīng)耗時(shí),降低獲取到的耗時(shí)數(shù)據(jù)與真實(shí)等待時(shí)間之間的誤差,做到了與web頁(yè)面的業(yè)務(wù)邏輯松耦合,在不改變?cè)瓉?lái)業(yè)務(wù)處理邏輯的基礎(chǔ)上,準(zhǔn)確地記錄各類操作的響應(yīng)時(shí)間。同時(shí),可以實(shí)時(shí)計(jì)算出web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),使得可以在交易研發(fā)和測(cè)試過(guò)程中第一時(shí)間發(fā)現(xiàn)性能問(wèn)題,進(jìn)而進(jìn)行有針對(duì)性的優(yōu)化,有利于節(jié)約優(yōu)化成本。
具體實(shí)施時(shí),在web頁(yè)面編碼時(shí)根據(jù)實(shí)際業(yè)務(wù)的具體業(yè)務(wù)操作功能從UI組件資源庫(kù)中選擇對(duì)應(yīng)的UI組件組織成web頁(yè)面。
具體實(shí)施時(shí),上述UI組件可以是為用戶提供按鈕、鏈接、表格、多選框、單選框、日期選擇和表樹(shù)等點(diǎn)擊功能的程序段,通過(guò)與具體交易業(yè)務(wù)操作功能相對(duì)應(yīng)的UI組件的組合可以構(gòu)成web頁(yè)面。
具體實(shí)施時(shí),通過(guò)面向切面的接口獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),例如,可以記錄當(dāng)前頁(yè)面的名稱、渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn)等;也可以通過(guò)面向切面的接口獲取UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,例如,可以記錄當(dāng)前頁(yè)面的名稱、當(dāng)前UI組件的名稱、當(dāng)前UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳等。
具體實(shí)施時(shí),為了實(shí)現(xiàn)根據(jù)具體需求獲取業(yè)務(wù)操作的響應(yīng)耗時(shí),在本實(shí)施例中,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),包括:獲取預(yù)設(shè)的性能監(jiān)控配置信息,所述性能監(jiān)控配置信息中包括是否開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的全局開(kāi)關(guān),在所述性能監(jiān)控配置信息指示開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的情況下,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn);獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,包括:所述性能監(jiān)控配置信息中還包括需要開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的UI組件的名稱,在被點(diǎn)擊的UI組件的名稱包括在所述性能監(jiān)控配置信息中時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳。
具體實(shí)施時(shí),為了開(kāi)發(fā)測(cè)試人員可以在交易研發(fā)和測(cè)試過(guò)程中第一時(shí)間直觀地發(fā)現(xiàn)性能問(wèn)題,在本實(shí)施例中,在計(jì)算出所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,上述web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法還包括:實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)。
具體的,實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),包括:獲取預(yù)設(shè)顯示配置信息,根據(jù)所述預(yù)設(shè)顯示配置信息,實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),其中,所述預(yù)設(shè)顯示配置信息包括是否采用圖形化小窗口顯示響應(yīng)耗時(shí)以及顯示不同響應(yīng)耗時(shí)所采用的顏色。例如,在預(yù)設(shè)顯示配置信息中指示采用圖形化小窗口顯示響應(yīng)耗時(shí),并指出了顯示不同響應(yīng)耗時(shí)所采用的具體顏色,則可以在web頁(yè)面右上角的小窗口中通過(guò)圖形的形式用不同顏色實(shí)時(shí)顯示web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),具體的,每當(dāng)實(shí)時(shí)計(jì)算出一個(gè)UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),可以實(shí)時(shí)添加該UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)的顯示圖形,圖形可以是柱狀圖,而且當(dāng)鼠標(biāo)懸停在對(duì)應(yīng)的柱狀圖上時(shí),顯示對(duì)應(yīng)的交易響應(yīng)耗時(shí)明細(xì)。
具體實(shí)施時(shí),為了便于在一段時(shí)間后對(duì)交易響應(yīng)耗時(shí)進(jìn)行統(tǒng)計(jì)分析,在本實(shí)施例中,在計(jì)算出所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,上述web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法還包括:將計(jì)算出的所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)緩存在所述web頁(yè)面上,在達(dá)到緩存閾值或預(yù)設(shè)時(shí)間間隔時(shí),將緩存在所述web頁(yè)面上的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)存儲(chǔ)到數(shù)據(jù)庫(kù)中。具體的,在接收到web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,先進(jìn)行web頁(yè)面級(jí)緩存,再根據(jù)緩存閥值和預(yù)設(shè)時(shí)間間隔等配置信息,將web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)等數(shù)據(jù)記錄到數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)返回接收交易響應(yīng)耗時(shí)的狀態(tài)。例如,緩存閥值=500KB,時(shí)間間隔=30秒。此時(shí)若日志(即交易響應(yīng)耗時(shí)數(shù)據(jù))積攢的數(shù)量超過(guò)500K,則會(huì)觸發(fā)記錄日志到數(shù)據(jù)庫(kù);若距離上次數(shù)據(jù)庫(kù)操作時(shí)間間隔達(dá)到30秒,且有日志積攢,則會(huì)觸發(fā)記錄日志到數(shù)據(jù)庫(kù)。
具體結(jié)合以下示例來(lái)描述上述web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法的流程圖,如圖3所示,該方法包括以下步驟:
步驟301:用戶通過(guò)瀏覽器訪問(wèn)頁(yè)面,頁(yè)面響應(yīng)用戶請(qǐng)求,開(kāi)始進(jìn)行初始化操作,并請(qǐng)求公共資源,此時(shí)獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)。
步驟302:用戶在頁(yè)面上點(diǎn)擊觸發(fā)UI組件的操作,UI組件的程序根據(jù)觸發(fā)的操作執(zhí)行既定的業(yè)務(wù)邏輯。
步驟303:讀取性能監(jiān)控配置庫(kù)中的性能監(jiān)控配置信息,根據(jù)性能監(jiān)控配置信息的配置情況決定是否需要記錄UI組件觸發(fā)事件的起止時(shí)點(diǎn)(即UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳)。
步驟304:通過(guò)面向切面的接口,捕獲觸發(fā)UI組件操作執(zhí)行業(yè)務(wù)邏輯前的時(shí)點(diǎn)(即觸發(fā)事件的處理開(kāi)始時(shí)間戳),并通知事件分析組件分析事件。例如,在多用戶高并發(fā)情況下,不同用戶的開(kāi)始事件和結(jié)束事件會(huì)交叉到達(dá)事件分析組件,此時(shí),事件分析組件進(jìn)行匹配和分析確定該用戶在頁(yè)面上觸發(fā)的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間。
步驟305:通過(guò)面向切面的接口,捕獲觸發(fā)UI組件操作執(zhí)行業(yè)務(wù)邏輯后的時(shí)點(diǎn)(即觸發(fā)事件的處理結(jié)束時(shí)間戳),并通知事件分析組件分析事件。事件分析組件進(jìn)行匹配和分析確定該用戶在頁(yè)面上觸發(fā)的UI組件的觸發(fā)事件的處理結(jié)束時(shí)間。
步驟306:用戶在頁(yè)面上觸發(fā)UI組件的操作后,通過(guò)面向切面的接口記錄頁(yè)面渲染開(kāi)始的時(shí)點(diǎn),并通知事件分析組件分析事件。事件分析組件進(jìn)行匹配和分析確定該頁(yè)面渲染開(kāi)始的時(shí)間。
步驟307:用戶在頁(yè)面上觸發(fā)UI組件的操作后,且需要返回頁(yè)面時(shí),通過(guò)面向切面的接口則記錄頁(yè)面渲染結(jié)束的時(shí)點(diǎn),并通知事件分析組件分析事件。例如,在一些復(fù)雜場(chǎng)景下,返回的頁(yè)面可能存在多個(gè),此時(shí)會(huì)上送多個(gè)結(jié)束事件,此時(shí)事件分析組件進(jìn)行匹配和分析確定該頁(yè)面渲染結(jié)束的時(shí)間,來(lái)進(jìn)行耗時(shí)計(jì)算。
步驟308:事件分析組件接收各類UI操作和頁(yè)面渲染所觸發(fā)的事件信息,并進(jìn)行分析。
步驟309:事件分析組件完成分析后,若判斷當(dāng)前交易事件已經(jīng)結(jié)束時(shí),則將完整的交易響應(yīng)耗時(shí)數(shù)據(jù)發(fā)送給圖形化顯示組件和日志記錄組件。
步驟310:圖形化顯示組件讀取圖形顯示配置庫(kù)中的預(yù)設(shè)顯示配置信息。
步驟311:圖形化顯示組件根據(jù)最新接收到的交易響應(yīng)耗時(shí)數(shù)據(jù)和預(yù)設(shè)顯示配置信息,更新圖形顯示內(nèi)容。
步驟312:日志記錄組件接收最新接收到的交易響應(yīng)耗時(shí)數(shù)據(jù),并進(jìn)行頁(yè)面級(jí)緩存。
步驟313:日志記錄組件根據(jù)緩存閥值和預(yù)設(shè)時(shí)間間隔等配置信息,將交易響應(yīng)耗時(shí)數(shù)據(jù)記錄到數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)返回接收交易響應(yīng)耗時(shí)的狀態(tài)。例如,緩存閥值=500KB,時(shí)間間隔為30秒。此時(shí)若日志(即交易響應(yīng)耗時(shí)數(shù)據(jù))積攢的數(shù)量超過(guò)500K,則會(huì)觸發(fā)記錄日志到數(shù)據(jù)庫(kù);若距離上次數(shù)據(jù)庫(kù)操作時(shí)間間隔達(dá)到30秒,且有日志積攢,則會(huì)觸發(fā)記錄日志到數(shù)據(jù)庫(kù)。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種web頁(yè)面運(yùn)行效率監(jiān)測(cè)裝置,如下面的實(shí)施例所述。由于web頁(yè)面運(yùn)行效率監(jiān)測(cè)裝置解決問(wèn)題的原理與web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法相似,因此web頁(yè)面運(yùn)行效率監(jiān)測(cè)裝置的實(shí)施可以參見(jiàn)web頁(yè)面運(yùn)行效率監(jiān)測(cè)方法的實(shí)施,重復(fù)之處不再贅述。以下所使用的,術(shù)語(yǔ)“單元”或者“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來(lái)實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。
圖4是本發(fā)明實(shí)施例的web頁(yè)面運(yùn)行效率監(jiān)測(cè)裝置的一種結(jié)構(gòu)框圖,如圖4所示,包括:
web頁(yè)面裝載模塊401,用于響應(yīng)用戶通過(guò)瀏覽器訪問(wèn)web頁(yè)面的請(qǐng)求,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn),其中,所述web頁(yè)面是由與具體業(yè)務(wù)操作功能相對(duì)應(yīng)的UI組件組成的,不同UI組件為用戶提供不同的點(diǎn)擊操作;
UI組件時(shí)間獲取模塊402,用于當(dāng)用戶在所述web頁(yè)面上點(diǎn)擊觸發(fā)UI組件的觸發(fā)事件時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳;
所述web頁(yè)面裝載模塊401,還用于在用戶點(diǎn)擊的UI組件的觸發(fā)事件處理結(jié)束且返回所述web頁(yè)面時(shí),獲取所述web頁(yè)面的渲染結(jié)束時(shí)間點(diǎn);
事件分析模塊403,用于根據(jù)獲取的所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),實(shí)時(shí)計(jì)算所述web頁(yè)面的渲染響應(yīng)耗時(shí);根據(jù)獲取的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,實(shí)時(shí)計(jì)算UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)。
在一個(gè)實(shí)施例中,所述web頁(yè)面裝載模塊,具體用于獲取預(yù)設(shè)的性能監(jiān)控配置信息,所述性能監(jiān)控配置信息中包括是否開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的全局開(kāi)關(guān),在所述性能監(jiān)控配置信息指示開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的情況下,獲取所述web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn);所述UI組件時(shí)間獲取模塊,具體用于所述性能監(jiān)控配置信息中還包括需要開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的UI組件的名稱,在被點(diǎn)擊的UI組件的名稱包括在所述性能監(jiān)控配置信息中時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳。
在一個(gè)實(shí)施例中,還包括:顯示模塊,用于在計(jì)算出所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)。
在一個(gè)實(shí)施例中,所述顯示模塊,具體用于獲取預(yù)設(shè)顯示配置信息,根據(jù)所述預(yù)設(shè)顯示配置信息,實(shí)時(shí)在所述web頁(yè)面上顯示所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),其中,所述預(yù)設(shè)顯示配置信息包括是否采用圖形化小窗口顯示響應(yīng)耗時(shí)以及顯示不同響應(yīng)耗時(shí)所采用的顏色。
在一個(gè)實(shí)施例中,還包括:日志模塊,用于在計(jì)算出所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)后,將計(jì)算出的所述web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)緩存在所述web頁(yè)面上,在達(dá)到緩存閾值或預(yù)設(shè)時(shí)間間隔時(shí),將緩存在所述web頁(yè)面上的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)存儲(chǔ)到數(shù)據(jù)庫(kù)中。
具體實(shí)施時(shí),如圖5所示,上述web頁(yè)面運(yùn)行效率監(jiān)測(cè)裝置可以通過(guò)以下結(jié)構(gòu)實(shí)現(xiàn),該裝置包含web頁(yè)面裝載模塊1(即上述web頁(yè)面裝載模塊401)、UI組件資源庫(kù)2、UI組件3(也可實(shí)現(xiàn)上述UI組件時(shí)間獲取模塊的功能402)、性能監(jiān)控配置信息庫(kù)4、日志記錄組件5(即上述日志模塊)和圖形顯示組件6(即上述顯示模塊)。他們之間的關(guān)聯(lián)如下:web頁(yè)面裝載模塊1對(duì)web頁(yè)面編碼時(shí)根據(jù)實(shí)際業(yè)務(wù)功能從UI組件資源庫(kù)2中選擇與具體業(yè)務(wù)操作功能相對(duì)應(yīng)的UI組件3組織成頁(yè)面,web頁(yè)面裝載模塊1在運(yùn)行時(shí)讀取性能監(jiān)控配置信息庫(kù)4中的性能監(jiān)控配置信息,根據(jù)性能監(jiān)控配置信息獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn)以及UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,通過(guò)日志記錄組件5記錄web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn)以及UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳等耗時(shí)日志,通過(guò)圖形顯示組件6顯示web頁(yè)面的渲染響應(yīng)耗時(shí)以及UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)的時(shí)序圖。
具體實(shí)施時(shí),如圖6所示,UI組件3的內(nèi)部包括UI顯示組件601、觸發(fā)事件單元602、開(kāi)始處理單元603和結(jié)束處理單元604。UI組件主要由UI顯示組件601和觸發(fā)事件單元602構(gòu)成。開(kāi)始處理單元603和結(jié)束處理單元604通過(guò)面向切面的接口加載到觸發(fā)事件上。
UI顯示組件601:用于將UI組件的使用界面展示給用戶,各類UI組件的顯示界面各不相同。
觸發(fā)事件單元602:用于實(shí)現(xiàn)UI組件為用戶提供各類點(diǎn)擊操作的功能。各類UI組件所支持的觸發(fā)事件各不相同,部分UI組件還支持多個(gè)操作事件。如按鈕組件僅支持鼠標(biāo)單擊,表格組件則支持按行選擇、翻頁(yè)等。
開(kāi)始處理單元603:通過(guò)面向切面的接口實(shí)現(xiàn),用于記錄當(dāng)前頁(yè)面名稱、當(dāng)前組件名稱和當(dāng)前組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳。
結(jié)束處理單元604:通過(guò)面向切面的接口實(shí)現(xiàn),用于記錄當(dāng)前頁(yè)面名稱、當(dāng)前組件名稱和當(dāng)前組件的觸發(fā)事件的處理結(jié)束時(shí)間戳。
具體實(shí)施時(shí),如圖7所示,web頁(yè)面裝載模塊1的內(nèi)部包括web頁(yè)面內(nèi)容顯示組件701、開(kāi)始渲染單元702A、結(jié)束渲染單元702B。開(kāi)始渲染單元702A、結(jié)束渲染單元602B通過(guò)面向切面的接口加載到頁(yè)面渲染事件上。
web頁(yè)面內(nèi)容顯示組件701:用于向用戶展示使用界面。
開(kāi)始渲染單元702A:通過(guò)面向切面的接口實(shí)現(xiàn),用于記錄當(dāng)前頁(yè)面名稱、開(kāi)始處理渲染的時(shí)間戳。
結(jié)束渲染單元702B:通過(guò)面向切面的接口實(shí)現(xiàn),用于記錄當(dāng)前頁(yè)面名稱、結(jié)束處理渲染的時(shí)間戳。
具體實(shí)施時(shí),如圖8所示,上述性能監(jiān)控配置信息庫(kù)4內(nèi)部包括全局控制提供單元801和頁(yè)面配置提供單元802。
全局控制提供單元801:用于提供是否開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的全局開(kāi)關(guān)。
頁(yè)面配置提供單元802:用于提供按頁(yè)面開(kāi)啟交易響應(yīng)耗時(shí)監(jiān)控的UI組件的配置項(xiàng)。
具體實(shí)施時(shí),如圖9所示,日志記錄組件5用于記錄實(shí)時(shí)采集到的交易響應(yīng)耗時(shí),并按順序保存到數(shù)據(jù)庫(kù)中。日志記錄組件5的內(nèi)部包括日志緩存單元901、日志發(fā)送單元902和日志記錄單元903。
日志緩存單元901:用于接收實(shí)際采集到的交易響應(yīng)耗時(shí)(例如,web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí)),并在WEB頁(yè)面上緩存起來(lái),為日志發(fā)送單元902提供數(shù)據(jù)源。
日志發(fā)送單元902:當(dāng)頁(yè)面緩存的交易響應(yīng)耗時(shí)數(shù)據(jù)累計(jì)到一定數(shù)量或者一定時(shí)間后,一次性發(fā)送到數(shù)據(jù)庫(kù)中。
日志記錄單元903:將日志發(fā)送單元902發(fā)送的交易響應(yīng)耗時(shí)數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,作持久化存儲(chǔ)。
具體實(shí)施時(shí),如圖10所示,圖形顯示組件6用于將實(shí)時(shí)采集到的交易響應(yīng)耗時(shí)以圖形化的時(shí)序圖的方式直接在頁(yè)面上顯示。圖形顯示組件6的內(nèi)部包括數(shù)據(jù)接收單元1001、滾動(dòng)顯示單元1002和圖形顯示控制單元1003。
數(shù)據(jù)接收單元1001:用于接收實(shí)際采集到的交易響應(yīng)耗時(shí)。
滾動(dòng)顯示單元1002:將接收到的交易響應(yīng)耗時(shí)以時(shí)序圖的方式通過(guò)頁(yè)面右上角的小窗口中做動(dòng)態(tài)顯示。每接收到一筆交易響應(yīng)耗時(shí),則按圖形顯示控制單元903定義的預(yù)設(shè)顯示配置信息,追加顯示交易耗時(shí)數(shù)值的柱狀圖。當(dāng)鼠標(biāo)懸停在對(duì)應(yīng)的柱狀圖上時(shí),顯示對(duì)應(yīng)的交易響應(yīng)耗時(shí)明細(xì)。
圖形顯示控制單元1003:定義圖形化小窗口是否顯示的開(kāi)關(guān),以及不同交易耗時(shí)區(qū)間所顯示的顏色。
在本發(fā)明實(shí)施例中,由于web頁(yè)面是由與具體業(yè)務(wù)操作功能相對(duì)應(yīng)的UI組件組成的,不同UI組件為用戶提供不同的點(diǎn)擊操作,在有用戶訪問(wèn)web頁(yè)面時(shí),響應(yīng)用戶通過(guò)瀏覽器訪問(wèn)web頁(yè)面的請(qǐng)求,獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn),當(dāng)用戶在web頁(yè)面上點(diǎn)擊觸發(fā)UI組件的觸發(fā)事件時(shí),獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,在用戶點(diǎn)擊的UI組件的觸發(fā)事件處理結(jié)束且返回web頁(yè)面時(shí),獲取web頁(yè)面的渲染結(jié)束時(shí)間點(diǎn),使得可以實(shí)時(shí)獲取web頁(yè)面的渲染開(kāi)始時(shí)間點(diǎn)和渲染結(jié)束時(shí)間點(diǎn),并實(shí)時(shí)獲取被點(diǎn)擊的UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳,即用戶在web頁(yè)面上進(jìn)行的任何點(diǎn)擊操作對(duì)應(yīng)的響應(yīng)耗時(shí)都可以通過(guò)獲取UI組件的觸發(fā)事件的處理開(kāi)始時(shí)間戳和處理結(jié)束時(shí)間戳的方式被記錄下來(lái),因此可以監(jiān)控交易響應(yīng)中各個(gè)環(huán)節(jié)的響應(yīng)耗時(shí),降低獲取到的耗時(shí)數(shù)據(jù)與真實(shí)等待時(shí)間之間的誤差,做到了與web頁(yè)面的業(yè)務(wù)邏輯松耦合,在不改變?cè)瓉?lái)業(yè)務(wù)處理邏輯的基礎(chǔ)上,準(zhǔn)確地記錄各類操作的響應(yīng)時(shí)間。同時(shí),可以實(shí)時(shí)計(jì)算出web頁(yè)面的渲染響應(yīng)耗時(shí)和UI組件對(duì)應(yīng)的業(yè)務(wù)操作的響應(yīng)耗時(shí),使得可以在交易研發(fā)和測(cè)試過(guò)程中第一時(shí)間發(fā)現(xiàn)性能問(wèn)題,進(jìn)而進(jìn)行有針對(duì)性的優(yōu)化。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明實(shí)施例的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明實(shí)施例不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明實(shí)施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。