Java 執行時監控,第 2 部分:編譯後插裝和效能監控
正如您在本系列(共三篇文章)的 第 1 部分 中所瞭解到的,監控 Java 應用程式的可用性和效能及其生產中的依賴性,這對於確保問題檢測和加速問題診斷和修復至關重要。需要進行監視的類的原始碼級插裝具有 第 1 部分 所論述過的那些優勢,但是這種方法通常都不可取或者不切實際。例如,很多您所感興趣的監控點可能位於第三方元件中,而第三方元件的原始碼您是不得而知的。在第 2 部分中,我著重介紹了無需修改原始原始碼而插裝 Java 類和資源的方法。
可選擇的在原始碼外編排插裝的方法有:
- 擷取
- 類包裝
- 位元組碼插裝
本文使用了 第 1 部分
中呈現的 ITracer
介面來實現效能資料跟蹤,依次舉例闡明瞭這些技巧。
|
擷取 的基本前提是通過一個擷取構造和收集傳入的入站與出站呼叫資訊,對特定的呼叫模式進行轉換。一個基本的擷取程式的實現會:
- 獲取對入站呼叫請求的當前時間。
- 取回出站響應的當前時間。
- 將執行時間作為兩次度量的增量計算出來。
- 將呼叫的執行時間提交給應用程式效能管理(APM)系統。
圖 1 展示了該流程:
圖 1. 效能資料收集擷取程式的基本流程
本文轉自IBM Developerworks中國
相關推薦
Java 執行時監控,第 2 部分:編譯後插裝和效能監控
正如您在本系列(共三篇文章)的 第 1 部分 中所瞭解到的,監控 Java 應用程式的可用性和效能及其生產中的依賴性,這對於確保問題檢測和加速問題診斷和修復至關重要。需要進行監視的類的原始碼級插裝具有 第 1 部分 所論述過的那些優勢,但是這種方法通常都不可取或者不切實
Java 執行時監控,第 2 部分: 編譯後插裝和效能監控
通過擷取進行 Java 插裝 擷取 的基本前提是通過一個擷取構造和收集傳入的入站與出站呼叫資訊,對特定的呼叫模式進行轉換。一個基本的擷取程式的實現會: 獲取對入站呼叫請求的當前時間。 取回出站響應的當前時間。 將執行時間作為兩次度量的增量計算出來。 將呼叫的執行時間提交給應用程式
Java Web 高效能開發,第 2 部分: 前端的高效能
原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-javawebhiperf2/ 引言 在前端優化的第一部分中,主要講解了對靜態資源的一些優化措施,包括圖片壓縮、CSS Sprites 技術、GZIP 壓縮等。這一部分,本文將
用WEKA進行資料探勘,第2部分:分類和群集
簡介 在 用 WEKA 進行資料探勘,第 1 部分:簡介和迴歸,我介紹了資料探勘的概念以及免費的開源軟體 Waikato Environment for Knowledge Analysis(WEKA),利用它可以挖掘資料來獲得趨勢和模式。我還談到了第一種資料探勘的方法 —
Java 執行時監控,第 1 部分: Java 系統執行時效能和可用性監控
簡介 當今的許多 Java 應用程式都依賴於一組複雜的分散式依賴關係和移動部件。很多外部因素都可能對應用程式的效能和可用性造成影響。這些影響基本上都無法完全消除或解決,且難以在預生成環境中準確模擬。Stuff happens。但是,您可以建立並維護一個全面的系統來監控應用程式的整個生態系
Java 執行時監控,第 3 部分: 監控應用程式生態系統的效能與可用性
在本系列(共三篇文章)的 第 1 部分 和 第 2 部分 中,我介紹了監控 Java 應用程式的技巧和模式,在這兩部分中我把重點放在了 JVM 和應用程式類上。在這最後一期中,我將介紹從應用程式的依賴項(諸如底層作業系統、網路或者應用程式的後端資料庫)收集效能與可用性資料的技巧。在文章結尾我將論述
Java 程式設計的動態性,第 8 部分 用程式碼生成取代反射
原文連結:https://www.ibm.com/developerworks/cn/java/j-dyn0610/ --Dennis Sosnoski 不要錯過本系列的其他內容 第 1 部分,“ 類和類裝入”(2003 年 4 月) 第 2 部分,“ 引入
SAS Programming for R Users, Part 2 R語言的SAS程式設計教程,第2部分 Lynda課程中文字幕
SAS Programming for R Users, Part 2 中文字幕 針對R使用者的SAS程式設計,第2部分 中文字幕SAS Programming for R Users, Part 2 針對R的SAS程式設計使用者探索如何在SAS環境中應用您對R-大資料語言的理解
Advanced SAS Programming for R Users, Part 2 R語言高階SAS程式設計,第2部分 Lynda課程中文字幕
Advanced SAS Programming for R Users, Part 2 中文字幕 針對R使用者的高階SAS程式設計,第2部分 中文字幕Advanced SAS Programming for R Users, Part 2 面向R的高階SAS程式設計使用者可以探索
精通 Eclipse V3.4,第 2 部分: JDT
本文將介紹 Java™ Development Tools(JDT),演示一些常用功能並說明如何自定義這些常用功能。還將討論 Eclipse 整合開發環境(IDE)不同於其他環境的概念和功能,或者 JDT 新使用者不容易發現的功能。如果您剛開始使用 Eclipse V3.4,請參閱
開放原始碼 C/C++ 單元測試工具,第 2 部分: 瞭解 CppUnit
https://www.ibm.com/developerworks/cn/aix/library/au-ctools2_cppunit/index.html 本文是討論開放原始碼單元測試工具的 系列文章 的第 2 篇,介紹非常受歡迎的 CppUnit — 最初由 Eri
使用 LLVM 框架建立有效的編譯器,第 2 部分
簡介: 無論您使用哪一種程式語言,LLVM 編譯器基礎架構都會提供一種強大的方法來優化您的應用程式。在這個兩部分系列的第二篇文章中,瞭解在 LLVM 中測試程式碼,使用 clang API 對 C/C++ 程式碼進行預處理。 使用 LLVM 框架建立一個工作編譯器
Java Web 高效能開發,第 1 部分: 前端的高效能
原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-javawebhiperf1/ 引言 前端的高效能部分,主要是指減少請求數、減少傳輸的資料以及提高使用者體驗,在這個部分,圖片的優化顯得至關重要。許多網站的美化,都是靠絢麗的圖片達到的,圖
[譯]最佳安全實踐:在 Java 和 Android 中使用 AES 進行對稱加密:第2部分:AES-CBC + HMAC
原文地址:Security Best Practices: Symmetric Encryption with AES in Java and Android: Part 2: AES-CBC + HMAC 本文是我上一篇文章:“最佳安全實踐:在 Java 和 Android 中使用 AES 進行
深入探索 Kdump,第 2 部分: Kdump 圖形化配置工具
引言 眾所周知,RHEL 和 SUSE 是當今比較主流的兩大企業版 Linux,尤其在雲端計算伺服器領域內錦上添花。對於介面使用者,相對枯燥的 kdump 命令列終端配置檔案,他們更加需要看到一個簡單便捷的圖形配置工具作為絕技殺手鐗。下面以 IBM Power 架構和
Java 8 習慣用語,第 9 部分 級聯 lambda 表示式
原文地址:https://www.ibm.com/developerworks/cn/java/j-java8idioms9/index.html Java 8 習慣用語,第 9 部分 級聯 lambda 表示式 可重用的函式有助於讓程式碼變得非
Spring 的優秀工具類盤點,第 2 部分: 特殊字元轉義和方法入參檢測工具類
特殊字元轉義 由於 Web 應用程式需要聯合使用到多種語言,每種語言都包含一些特殊的字元,對於動態語言或標籤式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字元轉義的問題。下面是 Web 開發者最常面對需要轉義的特殊字元型別: HTML 特
Java 8 習慣用語,第 7 部分 函式介面
原文地址:https://www.ibm.com/developerworks/cn/java/j-java8idioms7/index.html Java 8 習慣用語,第 7 部分 函式介面 瞭解如何建立自定義函式介面,以及為什麼應儘量使用內
分散式管理:DB2 深度壓縮,第 2 部分
DB2 9.5 改進了深度壓縮技術,進一步節省空間和提高效能 簡介: 在前一篇專欄文章 “DB2 深度壓縮,第 1 部分” 中,我提到企業資料庫的增長速度大約是每年 125%。隨著資料庫的增長,儲存、保護、分佈和利用資料庫中資料的需求也在增長。為了幫助減少不斷增長的資
Java 8 習慣用語,第 8 部分 Java 知道您的型別
原文地址:https://www.ibm.com/developerworks/cn/java/j-java8idioms8/index.html Java 8 習慣用語,第 8 部分 Java 知道您的型別 學習如何在 lambda 表示式中使