專利名稱:用于選擇性地監(jiān)視事務的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及用于監(jiān)視軟件性能的改進的數(shù)據(jù)處理系統(tǒng),并且 更特別地涉及選擇性地監(jiān)視所實現(xiàn)的軟件應用中的個別事務。
背景技術(shù):
性能監(jiān)視常常在對系統(tǒng)中的軟件使用進行優(yōu)化時使用。性能監(jiān)視器 通常被當作并入處理器的工具,用以通過及時地確定特定時間點的機器 狀態(tài)來分析系統(tǒng)的選定特征。監(jiān)視系統(tǒng)性能的 一種方法是使用基于事務 的觀點來監(jiān)視系統(tǒng)。以這種方式,性能監(jiān)視器可以通過跟蹤事務執(zhí)行路 徑來獲得最終用戶體驗,以定位問題發(fā)生的位置。因此,在確定系統(tǒng)是 否提供了所需服務時可以將最終用戶的體驗納入考慮之中。系統(tǒng)管理中的關(guān)4建任務是監(jiān)視軟件應用的性能和可用性,包括那些 可能遍布于涉及多個物理資源的多個物理系統(tǒng)上的軟件應用的性能和可用性。典型地,該監(jiān)視通過下述操作來執(zhí)行將軟件實現(xiàn)為包括稱作"探 測器"的附加指令,報告諸如應用響應時間的性能信息。性能監(jiān)視還可 以通過向在事務執(zhí)行期間協(xié)調(diào)調(diào)用的應用中加入有時稱為插件的附加軟 件組件來在企業(yè)中實現(xiàn)。由于實時地執(zhí)行監(jiān)視,任何這樣的監(jiān)視都會給 受監(jiān)視系統(tǒng)造成某種程度上的運行時性能開銷。因此,重要的是提供一 種控制機制來以適當?shù)牧6扰渲帽O(jiān)視活動。當前有兩種用于控制性能開銷的主要途徑。第一種途徑包括基于應 用或邏輯組件選擇性地打開或關(guān)閉監(jiān)視。例如,當用戶從Web瀏覽器發(fā) 起事務時,將請求發(fā)送給Web服務器,Web服務器接著對應用服務器和 數(shù)據(jù)庫服務器進行呼叫。傳統(tǒng)地,如果用戶已經(jīng)體驗到性能問題,則對 在Web服務器、應用服務器和數(shù)據(jù)庫服務器上運行的整個應用進行監(jiān) 視,以便查明問題的根本起因。然而,這種基于應用的途徑有兩個主要
缺點。當對應用啟動事務監(jiān)視時,將監(jiān)視在該應用中的所有商務事務, 無論其是否與識別性能瓶頸有關(guān)。這種全包括式的監(jiān)視招致就CPU使用 率、存儲器等而言比解決問題所需的更多的開銷。此外,當針對應用啟 動事務監(jiān)視時,該應用中的每個事務將產(chǎn)生同一水平的附加監(jiān)視信息。 在較短時間段內(nèi),累積的數(shù)據(jù)量可能變得非常高,由此招致處理數(shù)據(jù)的 附加開銷??刂菩阅荛_銷的第二種途徑是將每種商務事務與包含應當被用于個別事務的整個監(jiān)視配置的"令牌"相關(guān)聯(lián)。在2004年10月22日提交的 題目為"INTELLIGENT PERFORMANCE MONITORING BASED ON USER TRANSACTIONS "、序列號為10/971,472 (律師存檔號為 AUS920040420US1 )的共同未決的美國專利申請中公開了這種方法。每 個實現(xiàn)的應用具有用于將被監(jiān)視的請求(商務事務)的入口點(例如, http:〃www.ibm.com/buyComputers)。 一旦4十^于應用定義了該入口點,則 監(jiān)視策略與這些入口點相關(guān)聯(lián)。監(jiān)視策略表示為令牌,其包含監(jiān)視事務 所需的所有信息。然而,這種途徑的缺點在于除了預定的采樣率,沒有 其他的控制機制用于確定事務應當何時受到監(jiān)視。由于在不受到監(jiān)視的 商務事務期間系統(tǒng)中可能會發(fā)生異常,因此這種控制缺失會引起問題。發(fā)明內(nèi)容、'、、i曰八 、 狀、 、、、A; 、務的計算機實現(xiàn)方法、數(shù)據(jù)處理系統(tǒng)和計算機程序產(chǎn)品。響應于在入口 點接收到新事務,檢查監(jiān)視策略以確定該監(jiān)視策略是否表明了該事務應 當被監(jiān)視。如果該監(jiān)視策略表明該事務應當被監(jiān)視,則確定系統(tǒng)資源是 否操作于在該監(jiān)視策略中定義的預定系統(tǒng)條件之下。如果系統(tǒng)資源操作 于預定系統(tǒng)條件之下,則該事務將被監(jiān)視。如果系統(tǒng)資源沒有操作于預 定系統(tǒng)條件之下,則該事務將不被監(jiān)視。
所附的權(quán)利要求中闡述了相信是本發(fā)明特有的新穎性特征。然而,
參考以下關(guān)于一個示例性實施例的詳細描述并結(jié)合附圖來閱讀,將能夠 最好地理解本發(fā)明本身以及優(yōu)選的使用模式、其他目的及其優(yōu)點。附圖 中圖1是其中可以實現(xiàn)本發(fā)明的各方面的分布式數(shù)據(jù)處理系統(tǒng)的圖示;圖2是其中可以實現(xiàn)本發(fā)明的各方面的數(shù)據(jù)處理系統(tǒng)的框圖; 圖3是根據(jù)示例性實施例的用于選擇性地監(jiān)視個別事務的示例性組 件的框圖;圖4是示出根據(jù)示例性實施例使用監(jiān)視策略中的度量來識別需要監(jiān) 視的事務的框圖;以及圖5是一個流程圖,示出了根據(jù)示例性實施例用于選擇性地監(jiān)視實 現(xiàn)的軟件應用中的個別事務的處理。
具體實施方式
現(xiàn)在參照附圖,特別是參照圖1-圖2,提供了其中可以實現(xiàn)示例性 實施例的數(shù)據(jù)處理環(huán)境的例圖。應當理解,圖l-圖2僅是示例性的,并 不意在宣稱或暗示關(guān)于可以在其中實施不同實施例的環(huán)境的任何限制。 可以對所示的環(huán)境進行多種修改?,F(xiàn)在參考附圖,圖1示出了其中可以實現(xiàn)示例性實施例的數(shù)據(jù)處理 系統(tǒng)的網(wǎng)絡(luò)的圖示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是其中可以實現(xiàn)實施例的計 算機的網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,網(wǎng)絡(luò)102是用于提 供在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的各種設(shè)備與計算機之間的通 信鏈路的中介。網(wǎng)絡(luò)102可以包括諸如有線、無線通信鏈路或光纖電纜 之類的連接。在所示的例子中,服務器104和服務器106連同存儲單元108 —起 連接到網(wǎng)絡(luò)102。此外,客戶端IIO、 112和114連接到網(wǎng)絡(luò)102。這些 客戶端110、 112和114例如可以是個人計算機或網(wǎng)絡(luò)計算機。在所示的 例子中,服務器104提供諸如引導文件、操作系統(tǒng)映像和應用之類的數(shù) 據(jù)給客戶端110、 112和114。在本例中,客戶端110、 112和114是服
務器104的客戶端。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可以包括未示出的附加服務 器、客戶端和其他設(shè)備。在所示的例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是具有代表使用傳輸控制 協(xié)議/網(wǎng)際協(xié)議(TCP/IP )協(xié)議組彼此進行通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的世界范圍 的組合的網(wǎng)絡(luò)102的因特網(wǎng)。在因特網(wǎng)的中心位置是主結(jié)點或主機之間 的高速數(shù)據(jù)通信線路的骨干,包括對數(shù)據(jù)和消息進行路由的成千上萬的 商業(yè)、政府、教育和其他計算機系統(tǒng)。當然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100還 可以被實現(xiàn)為多個不同類型的網(wǎng)絡(luò),例如內(nèi)部網(wǎng)、局域網(wǎng)(LAN)或廣 域網(wǎng)(WAN)。圖1意在作為例子,而不是對不同實施例的體系結(jié)構(gòu)限 制?,F(xiàn)在參考圖2,示出了能夠?qū)崿F(xiàn)示例性實施例的數(shù)據(jù)處理系統(tǒng)的框 圖。數(shù)據(jù)處理系統(tǒng)200是計算機的例子,諸如圖1中的服務器104或客 戶端110,針對示例性實施例實現(xiàn)處理的計算機可用代碼或指令可以位 于其中。在所示的例子中,數(shù)據(jù)處理系統(tǒng)200利用包括北橋和存儲控制器集 線器(MCH) 202以及南橋和輸入/輸出(I/O)控制器集線器(ICH) 204 的總線體系結(jié)構(gòu)。處理器206、主存儲器208和圖形處理器210連接到 北橋和存儲控制器集線器202。例如,可以經(jīng)由一個加速圖形端口 ( AGP ) 將圖形處理器210連接到MCH。在所示的例子中,局域網(wǎng)(LAN)適配器212連接到南橋和I/O控 制器集線器204,并且音頻適配器216、 4建盤和鼠標適配器220、調(diào)制解 調(diào)器222、只讀存儲器(ROM) 224、通用串行總線(USB)端口和其它 通信端口 232、以及PCI/PCIe裝置234經(jīng)由總線238連接到南橋和I/O 控制器集線器204,硬盤驅(qū)動器(HDD) 226和CD-ROM驅(qū)動器230 經(jīng)由總線240連接到南橋和I/O控制器集線器204。 PCI/PCIe裝置可能 包括例如,以太網(wǎng)適配器、插入卡、以及筆記本計算機的PC卡。PCI 使用卡總線控制器,然而PCIe不用。例如,ROM 224可能是閃速二進 制輸入/輸出系統(tǒng)(BIOS )。例如,硬盤驅(qū)動器226和CD - ROM驅(qū)動器 230可能使用集成驅(qū)動電子元件(IDE)或串行高級技術(shù)附件(SATA)
接口 ??蓪⒊塈/0( SIO )裝置236連接到南橋和I/O控制器集線器204。
圖2中,操作系統(tǒng)在處理器單元206上運行,調(diào)整并且提供對數(shù)據(jù) 處理系統(tǒng)200內(nèi)的多種組件的控制。操作系統(tǒng)可能是一個商業(yè)可得的操 作系統(tǒng),例如Microsoft Windows XP ("Microsoft"和"Windows" 是微軟公司在美國、其它國家或同時在美國和其它國家的商標)。面向?qū)?象的編程系統(tǒng),例如JaveTM編程系統(tǒng),可能結(jié)合l乘作系統(tǒng)運行并且提供 從在數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的Java程序或應用對操作系統(tǒng)的調(diào)用 ("Java"和所有基于Java的商標是Sun Microsystem公司在美國、其它 國家或同時在美國和其它國家的商標)。
用于才喿作系統(tǒng)的指令,面向?qū)ο蟮木幊滔到y(tǒng),以及應用或程序都位 于諸如硬盤驅(qū)動器226的存儲裝置上,并且可以載入主存儲器208供處 理器單元206處理。處理器單元206通過使用計算機實現(xiàn)指令來執(zhí)行示 例性實施例的處理,計算機實現(xiàn)指令位于存儲器中,例如位于主存儲器 208、只讀存儲器224中,或位于一個或多個外圍裝置中。
圖l-圖2中的硬件可能依據(jù)實現(xiàn)而變化。作為對圖l-圖2中所示的 硬件的補充和替代,可以使用其它內(nèi)部硬件或外圍裝置,例如閃存、等 效的非易失性存儲器,或光盤驅(qū)動器等。同樣,示例性實施例的處理也 適用于多處理器數(shù)據(jù)處理系統(tǒng)。
在一些示例性示例中,數(shù)據(jù)處理系統(tǒng)200可能是通常配置有閃存以 便為存儲操作系統(tǒng)文件和/或用戶產(chǎn)生的數(shù)據(jù)提供非易失性存儲的個人 數(shù)字助理(PDA)??偩€系統(tǒng)可能包括一個或多個總線,例如,系統(tǒng)總 線、I/O總線以及PCI總線。當然,可以使用在附在架構(gòu)或體系結(jié)構(gòu)上 的不同組件或裝置間提供數(shù)據(jù)傳輸?shù)娜魏晤愋偷耐ㄐ偶軜?gòu)或體系結(jié)構(gòu)來 實現(xiàn)總線系統(tǒng)。通信單元可能包括一個或多個用于發(fā)送和接收數(shù)據(jù)的裝 置,例如,調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。存儲器例如可能是主存儲器208 或例如位于北橋和存儲控制器集線器202中的高速緩沖存儲器。處理單 元可能包括一個或多個處理器或CPU。不能將圖1 -圖2中所示示例和 上述示例理解為暗示體系結(jié)構(gòu)上的限制。例如,除采取PDA形式之夕卜, 數(shù)據(jù)處理系統(tǒng)200也可能是寫字板計算機、膝上計算機或電話裝置。諸如圖1中的服務器104之類的一個或多個服務器可以提供電子商 務的Web服務以供諸如客戶端108、 110和112之類的客戶端設(shè)備訪問。 在示例性實施例中,提供事務性能監(jiān)視系統(tǒng)用于監(jiān)視服務器及其企業(yè)后 端系統(tǒng)的組件的性能,以便提供代表在處理事務中的企業(yè)商務的性能的 數(shù)據(jù)。在一個示例性實施例中,該事務性能監(jiān)視系統(tǒng)是IBM Tivoli Monitoring for Transaction Performance For Response Time Tracking (用于 響應時間跟蹤的Tivoli事務性能監(jiān)視)(ITCAMfRTT),其可以測量和 編譯包括企業(yè)系統(tǒng)內(nèi)部的各種組件的事務處理時間、所生成的錯誤消息 等等的事務性能數(shù)據(jù)。ITCAMfRTT是監(jiān)視基于Web的服務和操作系統(tǒng) 應用的可用性和性能的一組中央管理軟件組件。ITCAMfRTT捕獲用于 所有電子商務事務的具體事務和應用性能數(shù)據(jù)。利用ITCAMfRTT,客 戶事務經(jīng)過主機、系統(tǒng)、應用、Web服務器和代理服務器、Web應用服 務器、中間件、數(shù)據(jù)庫管理軟件和傳統(tǒng)后臺管理(back-office)軟件時 其每個步驟可以受到監(jiān)視并且其性能特征數(shù)據(jù)在數(shù)據(jù)庫中受到編譯和存 儲以用于歷史分析和長期規(guī)劃。ITCAMfRTT允許電子商務所有者有效 地測量在不同條件和不同時間用戶體驗到何種電子商務。更重要地是, 電子商務所有者可以在發(fā)生可用性問題時將性能源與可用性問題隔離 開,以便使這些問題在造成昂貴的支出和損失利潤之前得到糾正。事務是由用戶發(fā)起的計算機操作,并且這些用戶事務可以包括下游 子事務。例^口,當用登錄www.amazon.com 購書時,用戶發(fā)起一個事 務。原始請求例如發(fā)送給Web服務器并且隨后發(fā)送給諸如Java服務器 之類的應用服務器。事務可以進一步調(diào)用子事務形式的數(shù)據(jù)庫操作。事 務還可以包括由原始用戶請求發(fā)起的一連串子事務。這些用戶請求可以 例如來自Web瀏覽器。每個實現(xiàn)的應用具有用于應當被監(jiān)視的請求或事務的入口點。入口 點或邊緣事務是事務被監(jiān)視應用記錄的在系統(tǒng)中的第 一個位置。例如, Web應用服務器可以滿足Web頁面請求,并且該請求可以被定義為統(tǒng)一 資源定位符(URL),諸如http:〃www.ibm.com/buycomputers。接收進入 HTTP請求的Web服務器插件可以識別這一 URL并檢測該URL是否與
給定的監(jiān)視策略匹配。可選地,插入到實現(xiàn)的JAVA應用服務器的探測 器可以解釋所有的servlet請求并以類似的方式識別進入的HTTP請求和 URL。如果所識別的URL與給定的監(jiān)視策略匹配,則將其記錄為事務并 用于表示進入所監(jiān)視的應用的入口點。其他可能的入口點包括Web服 務、遠程方法調(diào)用(RMI)、 Java數(shù)據(jù)庫連接(JDBC)、 Java連接體系結(jié) 構(gòu)(JCA), Java消息服務(JMS)、 .NET、 shell腳本等上的事務。因此, 每個實現(xiàn)的應用可以具有用于將被監(jiān)視的請求(即,Servlet、 EJB等) 的入口點。入口點在應用監(jiān)視策略中定義。監(jiān)視策略可以包括監(jiān)視到達 服務器的每個事務或通過規(guī)定將被監(jiān)視的事務的特定URL而監(jiān)視選定 事務的策略。盡管現(xiàn)有的系統(tǒng)允許管理員在應用監(jiān)視策略中定義入口點以規(guī)定事 務將被監(jiān)視的點,但示例性實施例通過使得所實現(xiàn)的軟件應用中的個別 事務在更微小的水平上被監(jiān)視,而改進了這種現(xiàn)有的監(jiān)^L策略。示例性 實施例中的應用監(jiān)視策略包括度量,該度量控制某一事務是否應當被監(jiān) 視,并且如果應當被監(jiān)視,什么時候應當開始監(jiān)視。該度量由管理員定 義,并且可以包括對事務將經(jīng)過的系統(tǒng)上已經(jīng)被監(jiān)視的各種系統(tǒng)資源的 描述。例如,這種受監(jiān)視的系統(tǒng)資源可以包括但不限于例如給定服務器 上的空閑虛擬存儲器量、CPU利用率、當前企業(yè)JavaBean (EJB)緩沖 池大小或當前線程池大小。應用監(jiān)視策略中的度量還可以定義受監(jiān)視資 源可以操作于其中的預定系統(tǒng)條件。預定系統(tǒng)條件是當事務經(jīng)過資源時 可能對事務性能造成負面影響的任何條件。例如,如果受監(jiān)視的資源操 作于預定的系統(tǒng)條件下,諸如操作于在監(jiān)視策略中定義的可接受的闊值 水平以上,則度量可以規(guī)定該事務應當受到監(jiān)視。相反,如果該受監(jiān)視 的資源沒有操作在預定的系統(tǒng)條件下,則事務將不被監(jiān)視。因此,當應 用監(jiān)視策略中的度量規(guī)定事務經(jīng)過的服務器的CPU利用率應當受到監(jiān) 視時,度量還可以進一步規(guī)定監(jiān)視應當僅在CPU利用率才喿作于預定的系 統(tǒng)條件下諸如滿足或超過限制或閾值水平時才發(fā)生。預定系統(tǒng)條件的其 他例子包括但不限于,服務器關(guān)閉、應用不可用或受限、應用在錯誤版 本下、數(shù)據(jù)庫被鎖定等。因此,應用監(jiān)視策略中定義的度量為管理員提
供性能監(jiān)視中的另 一 維度的控制并且可以用于減少實際事務監(jiān)視的開 銷。圖3是根據(jù)示例性實施例用于選擇性地監(jiān)視分布式計算系統(tǒng)300中 的個別事務的示例性組件的框圖。客戶端302是諸如圖1中的客戶端 108、110和112的客戶端的例子。服務器304是諸如圖1中的服務器104 的應用服務器,并且可以作為組合的Web服務器/應用服務器來工作。 典型的應用服務器是基于J2EE的,運行EJB,或其他Java組件。EJB 組件在會話bean、實體bean和消息驅(qū)動bean中封裝了商務規(guī)則和其他 功能??蛻舳?02與服務器304進行通信以便獲得對由后端企業(yè)計算系 統(tǒng)資源306提供的服務的訪問。在本例中,客戶端302向服務器304發(fā)送一個請求,這引起一個事 務被創(chuàng)建。該請求可以采取很多形式,包括但不限于HTTP、 Web服務、 EJB或JMS請求。服務器304充當在客戶端請求和需要運行以提供所請 求服務的應用組件之間的中介。響應于接收到客戶端請求,服務器304 解析該請求以獲得URL。該URL用于建立作為參考的Web服務標識。 基于該URL,服務器304可以識別應當被運行以執(zhí)行客戶端請求的一個 或多個服務。服務器304通過調(diào)用適當?shù)姆战M件,諸如月良務器組件308、 310 或312來服務該請求,以處理該事務。服務器組件可以包括應用服務器、 Web服務器、數(shù)據(jù)庫服務器或任何其他被服務的后端系統(tǒng)。此外,事務 性能監(jiān)視系統(tǒng)314當服務器304和后端計算系統(tǒng)資源306處理該事務的 時候?qū)λ麄冞M行監(jiān)視。該性能監(jiān)視包括收集和存儲與服務器304和后端 計算系統(tǒng)資源306的各種組件的性能參數(shù)有關(guān)的數(shù)據(jù)。例如,監(jiān)視性能 可以包括收集和存儲與下述參數(shù)有關(guān)的信息特定組件處理事務所花費 的時間量、組件的比特率、SQL詢問、包括Java虛擬機(JVM)中的類 名稱和實例ID的組件信息、存儲器利用率統(tǒng)計數(shù)據(jù)、該JVM的狀態(tài)的 任何性質(zhì)、該JAM的組件的任何性質(zhì)和/或該系統(tǒng)總體上的任何性質(zhì)等。當事務到達服務器304的目的入口點處時,插入到服務器304的字節(jié)碼中的監(jiān)視探測器,諸如探測器316的存在使得確定該特定事務是否
將被監(jiān)視。探測器是為了監(jiān)視或收集關(guān)于網(wǎng)絡(luò)活動的數(shù)據(jù)而插入在網(wǎng)絡(luò) 的關(guān)4建位置的程序。探測器插入到服務器上正在運行的程序的字節(jié)碼中。探測器插入到加載到Java虛擬機(JVM)的很多類中。這些類的類型包 括但不限于實現(xiàn)企業(yè)Java Bean (EJB )、 Servlet、 Java服務器頁面(JSP )、 HTTP服務器、Java消息服務器(JMS )、 Java數(shù)據(jù)庫連接(JDBC )和 其他的類。探測器316通過檢查與該入口點相關(guān)聯(lián)的監(jiān)視策略,諸如服務器304 中的監(jiān)視策略318,來確定該特定事務是否要被監(jiān)視。監(jiān)視策略318內(nèi) 的附加度量用于描述應當被監(jiān)視的各種服務器資源,諸如,例如在該事 務將經(jīng)過的系統(tǒng)上的給定服務器上的空閑虛擬存儲器量、CPU利用率、 當前EJB緩沖池或線程池大小。該度量還可以進一步通過規(guī)定預定系統(tǒng) 條件來定義服務器資源的操作,并且如果滿足了預定系統(tǒng)條件,則事務 將被監(jiān)視。如果該資源操作于預定系統(tǒng)條件之下,則該資源可能潛在地 經(jīng)歷性能降級并且應當被監(jiān)視。因此,如果資源沒有操作于預定的系統(tǒng) 條件之下,則該事務將不被監(jiān)視。可選地,根據(jù)監(jiān)視策略,如果該資源 操作于預定的系統(tǒng)條件之下則該事務應當被監(jiān)視。在一個實施例中,使用運行于受監(jiān)視的服務器外部的程序可以獲得 該受監(jiān)視服務器的資源信息,該程序或者安裝在同一物理機器上,或者 運行于不同的機器上,其產(chǎn)生由探測器使用的相關(guān)器。例如,在用于響 應時間跟蹤的Tivoli事務性能監(jiān)視(ITCAMfRTT)中,該程序是應用響 應測量(ARM)引擎。當新的事務到達服務器時,4采測器啟動并從ARM 引擎請求相關(guān)器。在這一請求中,探測器向ARM引擎提供該新事務的 URL。如果該URL與監(jiān)視策略相匹配,并且如果ARM引擎確定規(guī)定資 源的操作已經(jīng)滿足了預定系統(tǒng)條件,則ARM引擎向探測器提供相關(guān)器。 ARM引擎自身可以監(jiān)視資源信息以確定資源是否滿足了預定系統(tǒng)條件。 可選地,外部資源監(jiān)視程序可以監(jiān)視資源并將資源條件數(shù)據(jù)供給到ARM 引擎。一旦利用監(jiān)視策略318中規(guī)定的系統(tǒng)資源信息確定了該事務是否應 當被監(jiān)視,則探測器316返回此信息給事務性能監(jiān)視系統(tǒng)314。如果該 信息表明該事務實例不應當被監(jiān)視,則事務性能監(jiān)視系統(tǒng)314不監(jiān)視該事務。如果該信息表明該事務實例應當被監(jiān)視,則事務性能監(jiān)視系統(tǒng)314 中的探測器316以典型的方式監(jiān)視該事務。以這種方式,字節(jié)碼中插入 的探測器可以基于監(jiān)視策略中的系統(tǒng)資源信息動態(tài)地確定事務是否應當 被監(jiān)視。探測器檢查監(jiān)視策略中定義的資源信息以識別策略是否規(guī)定了件是否得到了滿足。基于策略中定義的資源信息,允許事務性能監(jiān)視系 統(tǒng)針對監(jiān)視動態(tài)地包括或排除事務實例。換言之,策略中的系統(tǒng)資源度 量定義了事務是否應當被記錄。服務器組件304和后端計算系統(tǒng)資源306的組件可以包括硬件或?qū)G?件組件。例如,這些組件可以包括主機系統(tǒng)、Java服務器頁面、Servlet、 實體Bean、企業(yè)Java Bean、數(shù)據(jù)連接等。每個組件可以具有其自己的 性能特征集,其可以由事務性能監(jiān)視系統(tǒng)314來收集和存儲以便獲得關(guān) 于企業(yè)系統(tǒng)處理事務情況如何的指示。服務組件308、 310和312各自包 含執(zhí)行特定功能所必需的所有邏輯??梢酝ㄟ^使用企業(yè)JavaBean(EJB ) 容器320來進行對服務組件308、 310和312的調(diào)用。正如所述,服務組 件308、 310或312還可以接收來自父組件的請求(當服務組件本身不是 根服務時)。服務組件308、 310或312解釋請求,執(zhí)行所期望的功能并 向服務器304發(fā)送應答。這一應答隨后被傳遞給客戶端302。圖4示出了根據(jù)示例性實施例在事務的監(jiān)視策略中的系統(tǒng)資源度量 的示例性使用。測量工具或探測器監(jiān)視應用中的入口點402。當事務的 執(zhí)行到達入口點402時,與事務一并執(zhí)行探測器并且探測器檢查監(jiān)視策 略404。監(jiān)視策略404維護一個或多個監(jiān)視策略的定義列表。監(jiān)視策略 404嘗試匹配進入請求中的所有關(guān)鍵參數(shù),以便唯一地將事務與某個定 義的監(jiān)視策略匹配。 一旦事務與某個定義的監(jiān)視策略匹配,則探測器檢 查該定義的監(jiān)視策略,以確定該事務是否應當被監(jiān)視。該定義的監(jiān)視策 略包含諸如度量406的附加度量,其包括由管理員定義的系統(tǒng)資源信息。 基于在該監(jiān)視策略中的該附加度量中的描述,如果滿足該策略標準,則 探測器可以監(jiān)視該事務408。例如,如果事務將經(jīng)過特定的系統(tǒng)資源,
則由探測器檢查該資源以確定該資源當前是否操作于預定的系統(tǒng)條件之 下,諸如是否操作于超過給定閾值的水平。如果該資源當前操作于預定 系統(tǒng)條件之下,則探測器將監(jiān)視該事務。如果該資源沒有操作于預定的 系統(tǒng)條件之下,則探測器不監(jiān)視該事務。因此,使用監(jiān)視策略中的附加 系統(tǒng)資源度量為管理員提供了監(jiān)視事務中的另 一維度的控制。由于示例 性實施例實現(xiàn)了選擇性地監(jiān)視事務,因此可以使與監(jiān)視事務相關(guān)聯(lián)的計 算開銷最小化,并且可以減少由事務監(jiān)視引起的數(shù)據(jù)量。別事務的處理的流程圖。圖5所示的處理可以在數(shù)據(jù)處理系統(tǒng)諸如圖3 的服務器304中實現(xiàn)。處理開始于客戶端向服務器發(fā)送服務請求(步驟 502 )。新事務到達服務器的入口點("邊緣")(步驟504 )。在服務器中, 監(jiān)視探測器檢查監(jiān)視策略以確定該事務是否應當被監(jiān)視(步驟506 )。監(jiān) 視策略可以包括定義了在事務將經(jīng)過的系統(tǒng)上被監(jiān)視的各種系統(tǒng)資源的 度量。如果監(jiān)視策略表明該事務實例不應當被監(jiān)視(步驟506輸出"否"), 則不監(jiān)視該特定事務實例,并且處理隨后結(jié)束。如果監(jiān)視策略表明該事 務實例應當被監(jiān)視(步驟506輸出"是,,),則監(jiān)視探測器確定該監(jiān)視策 略中的定義的資源系統(tǒng)條件(如果有的話)在事務到達服務器的一刻是 否得到了滿足(步驟508 )。如果監(jiān)視探測器確定沒有滿足任何資源系統(tǒng) 條件(步驟508輸出"否,,),則不監(jiān)視該特定事務實例,并且處理隨后 結(jié)束。如果監(jiān)視探測器確定已經(jīng)滿足了某個預定系統(tǒng)條件(步驟508輸 出"是,,),則探測器以常用的方式監(jiān)視該事務(步驟510),并且處理隨后結(jié)束。由于確定系統(tǒng)資源操作于在策略中預定的系統(tǒng)條件之下,因此 當事務經(jīng)過該資源時,自該事務潛在地經(jīng)歷性能降級起實現(xiàn)的探測器開始監(jiān)視該事務。本發(fā)明可以采用完全硬件實施例、完全軟件實施例或包含硬件和軟 件單元的實施例的形式。在優(yōu)選的實施例中,本發(fā)明以軟件的形式實現(xiàn), 其包括但不限于固件、駐留軟件、微代碼等。此外,本發(fā)明可以采取可從計算機可用介質(zhì)或計算機可讀介質(zhì)訪
問的計算機程序產(chǎn)品的形式,該計算機可用介質(zhì)或計算機可讀介質(zhì)提 供程序代碼以供計算機或任意指令執(zhí)行系統(tǒng)使用或結(jié)合計算機或任 意指令執(zhí)行系統(tǒng)而使用。對于本說明書的目的,計算機可用介質(zhì)或計 算機可讀介質(zhì)可以是任意可包含、存儲、傳送、傳播或傳輸供指令執(zhí) 行系統(tǒng)、設(shè)備或裝置使用或結(jié)合指令執(zhí)行系統(tǒng)、設(shè)備或裝置而使用的 程序的有形設(shè)備。該介質(zhì)可以是電子的、》茲的、光的、電》茲的、紅外的或半導體的 系統(tǒng)(或設(shè)備、裝置)或者傳播介質(zhì)。計算機可讀介質(zhì)的例子包括半導體或固態(tài)存儲器(solid status memory)、磁帶、可擦除的計算機磁 盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬盤以及光 盤。目前的光盤例子包括壓縮光盤-只讀存儲器(CD-ROM)、壓縮 光盤-讀/寫(CD-R7W)和DVD (數(shù)字視頻光盤)。適合于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)可以包括直接地 或通過系統(tǒng)總線間接地連接到存儲單元的至少 一個處理器。這些存儲 單元可以包括在實際執(zhí)行程序代碼期間所使用的本地存儲器,大容量 存儲器(bulk storage ),以及對至少某些程序代碼提供臨時存儲以便 減少在執(zhí)行期間必須從大容量存儲器中恢復代碼的次數(shù)的高速緩存 存儲器。輸入/輸出裝置或I/0裝置(包括但不限于鍵盤、顯示器、指示裝 置等)可以直接地或通過中間1/0控制器連接到系統(tǒng)。網(wǎng)絡(luò)適配器同樣可以連接到系統(tǒng),以使得數(shù)據(jù)處理系統(tǒng)能夠通過 中間的專用的或公共的網(wǎng)絡(luò)而連接到其他數(shù)據(jù)處理系統(tǒng)或遠端的打 印機或存儲裝置。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器(Cable Modem)和 以太網(wǎng)卡只是當前可用的幾類網(wǎng)絡(luò)適配器。已經(jīng)提出的對本發(fā)明的描述的目的是進行說明和描述,而不是旨 在窮舉或使本發(fā)明限于所公開的形式。本領(lǐng)域的普通技術(shù)人員可以容 易地想到各種修改和變更。選擇和描述實施例是為了最好地說明發(fā)明 原理、實際應用,并使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明還可以
權(quán)利要求
1.一種用于選擇性地監(jiān)視分布式計算系統(tǒng)中的事務的計算機實現(xiàn)方法,所述計算機實現(xiàn)方法包括響應于在入口點接收到新事務,檢查監(jiān)視策略以確定該監(jiān)視策略是否表明了該新事務應當被監(jiān)視;確定系統(tǒng)資源是否操作于預定系統(tǒng)條件之下;響應于確定所述系統(tǒng)資源操作于預定系統(tǒng)條件之下,監(jiān)視該新事務。
2. 根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,還包括響應于確定所述系統(tǒng)資源沒有操作于所述預定系統(tǒng)條件之下,允許 該新事務作為不受監(jiān)視的事務繼續(xù)。
3. 根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中所述確定所述系 統(tǒng)資源是否操作于所述預定系統(tǒng)條件之下的步驟還包括獲得所述系統(tǒng)資源的性能信息;將所述性能信息與在所述監(jiān)視策略中定義的預定系統(tǒng)條件進行比較。
4. 根據(jù)權(quán)利要求3所述的計算機實現(xiàn)方法,其中每當在所述入口 點處接收到所述新事務時確定性能信息。
5. 根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中所述監(jiān)視策略定 義將由所述事務經(jīng)過的一個或多個系統(tǒng)資源。
6. 根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中所述預定系統(tǒng)條 件是在所述監(jiān)視策略中定義的閾值水平。
7. 根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中所述系統(tǒng)資源包 括給定服務器上的空閑虛擬存儲器量、CPU利用率、當前企業(yè)JavaBean 緩沖池大小或當前線程池大小中的至少一個。
8. 根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中所述檢查、確定 和監(jiān)視步驟由所實現(xiàn)的監(jiān)視探測器執(zhí)行。
9. 根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中所述監(jiān)視策略中的所述系統(tǒng)資源由管理員定義。
10. —種用于選擇性地監(jiān)視分布式計算系統(tǒng)中的事務的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括 總線;連接到所述總線的存儲設(shè)備,其中所述存儲設(shè)備包含計算機可用代碼;連接到所述總線的至少 一個受管理的設(shè)備; 連接到所述總線的通信單元;以及連接到所述總線的處理單元,其中所述處理單元執(zhí)行所述計算機可 用代碼,響應于在入口點接收到新事務,檢查監(jiān)^見策略以確定該監(jiān)—見策 略是否表明了該新事務應當被監(jiān)視;確定系統(tǒng)資源是否操作于預定系統(tǒng) 條件之下;并且響應于確定所述系統(tǒng)資源操作于所述預定系統(tǒng)條件之 下,監(jiān)視該新事務。
11. 根據(jù)權(quán)利要求IO所述的數(shù)據(jù)處理系統(tǒng),其中所述處理單元還執(zhí) 行所述計算機可用代碼,以響應于確定所述系統(tǒng)資源沒有操作于所述預 定系統(tǒng)條件之下,允許該新事務作為不受監(jiān)視的事務繼續(xù)。
12. 根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中所述用于確定所 述系統(tǒng)資源是否操作于所述預定系統(tǒng)條件之下的計算機可用代碼還包 括用于獲得所述系統(tǒng)資源的性能信息和用于將所述性能信息與在所述 監(jiān)視策略中定義的預定系統(tǒng)條件進行比較的計算機可用代碼。
13. 根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中所述預定系統(tǒng)條 件是在所述監(jiān)視策略中定義的閾值水平。
全文摘要
一種用于選擇性地監(jiān)視所實現(xiàn)的軟件應用中的個別事務的計算機實現(xiàn)方法、數(shù)據(jù)處理系統(tǒng)和計算機程序產(chǎn)品。響應于在入口點接收到新事務,檢查監(jiān)視策略以確定該監(jiān)視策略是否表明了該事務應當被監(jiān)視。如果該監(jiān)視策略表明該事務應當被監(jiān)視,則確定系統(tǒng)資源是否操作于在該監(jiān)視策略中定義的預定系統(tǒng)條件之下。如果系統(tǒng)資源操作于預定系統(tǒng)條件之下,則該事務將被監(jiān)視。如果系統(tǒng)資源沒有操作于預定系統(tǒng)條件之下,則該事務將不被監(jiān)視。
文檔編號G06F9/46GK101118502SQ20071013913
公開日2008年2月6日 申請日期2007年7月26日 優(yōu)先權(quán)日2006年8月3日
發(fā)明者H·M·麥金尼 申請人:國際商業(yè)機器公司