一種對對象的執行性能進行監控的方法、裝置及系統的制作方法
【技術領域】
[0001]本發明涉及互聯網信息數據的分析方法,更具體地,涉及一種對對象的執行性能進行監控的方法。
【背景技術】
[0002]隨著互聯網的日益普及,越來越多地企業通過Web應用向用戶提供各種產品和服務。與傳統的企業內使用的專業軟件不同,現在的系統采用分布式、虛擬化的架構。因此,軟件的開發者和運營者對于性能的監控更加困難。開發者一般僅僅在發布產品前做有限的模擬性能測試,但這種測試的環境與實際商業運行的環境相去甚遠,難以反映真實環境下可能出現的問題。例如,在繁忙時段用戶可能在網站購物時嘗試多次支付仍不能成功,或者在智能手機的應用使用過程中出現沒有響應的情況。然而,開發者卻不能及時獲得關于代碼性能的反饋,更無法了解問題的起源并做出相應修正。結果由于性能體驗的問題造成用戶的滿意度下降,從而給企業營收帶來巨大損失。為此,有效地分析web性能顯得尤為重要。
[0003]申請號為CN101316185B的發明專利公開了一種基于日志分析的定位系統資源瓶頸的方法。它提出:生成業務訪問日志,加載監控軟件從而對系統的硬件和應用性能數據進行監控和采集;分析該業務訪問日志并得到分析結果。但是該方法實時性不夠,客戶端往往在故障的時候才會上報日志;并且日志數據不夠精確,無法進行代碼級別的追蹤,難以快速定位性能瓶頸。
[0004]因此,需要能夠實時反饋性能監控數據、快速準確定位性能瓶頸的性能監控方案。
【發明內容】
[0005]為此,本發明提供一種對對象的執行性能進行監控的方法、裝置及系統,以力圖解決或者至少緩解上面存在的至少一個問題。
[0006]根據本發明的一個方面,提供一種對對象的執行性能進行監控的方法,該方法在服務器中執行,服務器與性能監控服務器相連接,該方法包括步驟:檢測加載第一對象的操作,該第一對象能夠被執行以完成相應邏輯;根據監控列表確定所檢測到的第一對象是否為監控目標;當確定該第一對象為監控目標時,在第一對象中插裝監控模塊以生成第二對象;當要執行第一對象時,執行第二對象以完成執行第一對象時的相應邏輯;在第二對象執行期間,執行在第二對象中的監控模塊,以便獲取完成相應邏輯的執行性能信息;以及每隔預定時間將所獲取的執行性能信息發送給性能監控服務器。
[0007]可選地,在根據本發明的對對象的執行性能進行監控的方法中,監控列表包括預定義的監控對象信息。
[0008]可選地,在根據本發明的對對象的執行性能進行監控的方法中,監控列表還包括用戶根據實際情況自定義的監控對象信息。
[0009]可選地,在根據本發明的對對象的執行性能進行監控的方法中,監控對象信息包括下列中的至少一種:對象相對應的類、接口、過濾器、以及該對象對應的類、接口、過濾器中定義的方法。
[0010]可選地,在根據本發明的對對象的執行性能進行監控的方法中,在第一對象中插裝監控模塊以生成第二對象的步驟包括:讀取第一對象的結構,判斷插裝位置;將監控模塊插入到相應的插裝位置,生成第二對象。
[0011]可選地,在根據本發明的對對象的執行性能進行監控的方法中,執行性能信息至少包括下列數據中的一個或多個:執行時間、線程信息、錯誤信息。
[0012]可選地,在根據本發明的對對象的執行性能進行監控的方法中,還包括步驟:每隔預定時間將執行性能信息發送給性能監控服務器,并且清理緩存。
[0013]可選地,在根據本發明的對對象的執行性能進行監控的方法中,插裝位置包括下列位置中的一個或者多個:第一對象開始執行的位置;第一對象中的方法開始執行和/或結束執行的位置;以及第一對象中的方法結束執行的位置。
[0014]根據本發明的另一方面,提供了一種對對象的執行性能進行監控的裝置,該裝置駐留在服務器中,服務器與性能監控服務器相連接,該裝置包括:監控單元,適于檢測服務器中加載第一對象的操作,第一對象能夠被執行以完成相應邏輯;目標確認單元,適于根據監控列表確定所檢測到的第一對象是否為監控目標;處理單元,適于在確定第一對象為監控目標時,在第一對象中插裝監控模塊以生成第二對象;控制單元,適于在執行第一對象時,執行第二對象以完成執行第一對象時的相應邏輯,并且執行第二對象中的監控模塊,以便獲取完成相應邏輯的執行性能信息;以及輸出接口,適于每隔預定時間將執行性能信息發送給性能監控服務器。
[0015]可選地,在根據本發明的對對象的執行性能進行監控的裝置中,監控列表包括預定義的監控對象信息。
[0016]可選地,在根據本發明的對對象的執行性能進行監控的裝置中,監控列表還包括用戶根據實際情況自定義的監控對象信息。
[0017]可選地,在根據本發明的對對象的執行性能進行監控的裝置中,監控對象信息包括下列中的至少一種:對象相對應的類、接口、過濾器、以及該對象對應的類、接口、過濾器中定義的方法。
[0018]可選地,在根據本發明的對對象的執行性能進行監控的裝置中,處理單元包括:判斷單元,適于根據第一對象的結構判斷插裝位置;對象生成單元,適于將監控模塊插入到相應的插裝位置,生成第二對象。
[0019]可選地,在根據本發明的對對象的執行性能進行監控的裝置中,執行性能信息至少包括下列數據中的一個或多個:執行時間、線程信息、錯誤信息。
[0020]可選地,在根據本發明的對對象的執行性能進行監控的裝置中,控制單元還適于在每隔預定時間將執行性能信息發送給所述性能監控服務器,清理緩存。
[0021]可選地,在根據本發明的對對象的執行性能進行監控的裝置中,插裝位置包括下列位置中的一個或者多個:第一對象開始執行的位置;第一對象中的方法開始執行和/或結束執行的位置;以及第一對象中的方法結束執行的位置。
[0022]根據本發明的另一方面,提供了一種服務器,該服務器上布置有如上所述的對對象的執行性能進行監控的裝置。
[0023]根據本發明的另一方面,提供了一種對對象的執行性能進行監控的系統,包括性能監控服務器、如上所述的服務器、以及用戶終端。
[0024]根據本發明的對對象的執行性能進行監控的方案,當檢測到要加載的對象為監控目標(這可以根據定義好的類、接口、過濾器、以及類、接口、過濾器中定義的方法等來確定)時,會自動在其中插裝監控代碼,以便在執行該對象時,通過執行監控代碼而能夠獲取其執行性能信息,不僅省去了開發者手動添加監控代碼的麻煩,而且實現了代碼級別的追蹤,獲取導致性能變慢的SQL語句,實時跟蹤執行較慢的業務處理,從而精確地找出造成性能問題的原因。
【附圖說明】
[0025]為了實現上述以及相關目的,本文結合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護的主題的范圍內。通過結合附圖閱讀下面的詳細描述,本公開的上述以及其它目的、特征和優勢將變得更加明顯。遍及本公開,相同的附圖標記通常指代相同的部件或元素。
[0026]圖1示出了根據本發明的一個示例性實施方式的對對象的執行性能進行監控的系統100的不意圖;
[0027]圖2示出了根據本發明的一個示例性實施方式的對對象的執行性能進行監控的方法200的流程圖;
[0028]圖3示出了根據本發明的一個示例性實施方式的對對象的執行性能進行監控的裝置300的結構圖。
【具體實施方式】
[0029]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
[0030]圖1示出了根據本發明的一個示例性實施方式的對對象的執行性能進行監控的系統100的示意圖。該性能監控系統包括性能監控服務器110、由企業部署和運營的企業服務器120和多個用戶計算終端130。企業服務器120可以向用戶計算終端130提供各種服務,如Web或者應用服務。用戶計算終端130上安裝有web瀏覽器