Java應用程序監視器(火腿)項目是一個免費的,簡單的,高性能的,線程安全的,Java的API,它使開發人員能夠輕鬆監控生產應用程序。火腿可用於確定應用程序的性能瓶頸,用戶/應用交互和應用可擴展性。
火腿收集匯總統計數據,如命中,執行時間(總數,平均值,最小值,最大值,標準差),並同時應用的要求。火腿統計數據顯示在點擊火腿報告。點擊火腿報告看火腿的現場演示。
火腿被開發主要用於監視J2EE應用,但是它可以在任何JDK 1.2或更高的環境中使用。火腿可以在Servlet的,JSP的,EJB的和Java在各種J2EE應用服務器豆類(Sybase公司的EAServer中,和BEA的WebLogic,…)被使用,並且還可以用在其它的編程環境,可以調用Java代碼(ColdFusion的,PowerBuilder中,宏道,...)。
歡迎繼續閱讀用戶指南或下載火腿和閱讀Java文檔。
使用火腿容易。將JAMon.jar(90K)在類路徑中,並圍繞著您希望與火腿的API開始監控()和stop()方法的代碼。請參見下面的代碼示例:
進口com.jamonapi *。
...
監測週一= MonitorFactory.start(“myFirstMonitor”);
...代碼存在定時...
mon.stop();
例如,要收集統計信息的Web應用程序所有JSP頁面,開發者會發生在每個JSP的頂部調用start()方法,並在底部調用stop()方法。隨著工作幾分鐘開發商將有統計數據的所有應用程序頁面。統計將包含許多頁面點擊,頁面平均執行時間,以及用戶同時訪問的每個頁面的數量。統計數據可以通過調用getReport()方法,或者使用JAMonAdmin.jsp顯示為一個HTML表。
火腿不需要特殊的管理帳戶。許多監控工具需要管理帳戶安裝監控軟件,並查看統計信息。由於這些工具的複雜性,開發人員通常要經過專門培訓的管理員訪問監測統計。許多這些監視工具也需要眼兒的防火牆。
火腿現在沒有這些問題。可通過JAMonAdmin.jsp所有開發人員通過收集火腿統計。沒有管理帳戶,權限,或建立都需要收集和查看統計數據。因為火腿API是應用程序代碼的一部分,開發人員可以進行切換的J2EE應用服務器和監測將繼續工作。 JAMonAdmin.jsp通過HTTP訪問,因此可以在沒有任何沖壓附加孔中的防火牆進行查看。
火腿可以用來監控生產系統。監控生產系統是重要的,因為它是我們可以看到,我們的代碼是由真實用戶執行的頻率的唯一途徑。此外,在生產環境的多次的配置是從測試環境不同,所以這兩個環境之間的性能數據可以是相當不同的。由於這兩個原因監控僅測試環境是不夠的。
不同於許多監控工具,火腿,由於其最小的性能開銷和多線程功能,可以在生產系統中使用。火腿可以在運行時被禁用(使用JAMonAdmin.jsp),進一步降低了性能開銷。在2 GHz的奔騰IV,火腿的start()和stop()方法每秒執行50萬次。禁用後,執行方法每秒3000萬次。
為了測試火腿的業績下載JAMon.jar並執行以下命令。的數字表示多少次啟動()和停止()應調用各種測試(如果不提供一些100000將被用作默認值)。
java命令JAMon.jar com.jamonapi.TestClassPerformance 500000
輸出中的最後一個標籤(“全廠TimingMonitor()”)表示它需要時啟用了監控運行多久,和標籤以“NullMonitor2()”表示需要運行時監測禁用多久。
火腿是柔性的。許多監控工具專門監控應用程序的特定部分。這可以強制開發商訴諸使用多個監控工具來覆蓋其所有的監控需求。例如,開發者可能需要使用不同的工具來監測每個如下:頁面命中,EJB調用的,方法調用與數據庫連接,...。
火腿的start()方法接受一個字符串作為參數。此字符串可以是JSP頁面名稱,EJB名稱,方法名或任何其他代碼或概念可以由串來表示。
同時,由於字符串傳遞給start()方法,開發人員可以決定什麼來監視基於運行時的數據。使用這種技術,我們可以監測發展趨勢以及性能瓶頸。火腿的的靈活性,一些例子:
保持對JSP主頁統計
- 監控週一= MonitorFactory.start(“主頁”);
保持統計數據訪問一類的的openConnection()方法(這將打開一個數據庫連接)
- 監控週一= MonitorFactory.start(“DataAccess.openConnection()”);
請為登錄到我們的系統中每個用戶的統計數據
- 監控週一= MonitorFactory.start(getUserName());
保持統計的所有頁面按日期訪問。例如,“pageAccesses.05 / 10/02”
- 監控週一= MonitorFactory.start(“pageAccesses。”+ getTodaysDate());
什麼在此版本中是新的:
- < LI>這是一個次要發行版,增加了一些功能,2.7版本後用戶請求。火腿仍然需要JDK 1.4或更高版本(有一些例外)。
- 如果2.7版本是為你工作,你不想要的新功能,那麼這不是一個需要升級的。
評論沒有發現