jvm jstat_使用jstat报告自定义JVM指标集
jvm jstat
我一直缺少在JStat中配置自定義標頭的可能性 。 當然,有很多預定義的數據集,但是如果我們可以創建自己的數據集,那就更好了。 正如您可能已經設計的那樣,我正在寫這篇文章,因為這樣的功能當然是可用的:)不幸的是我沒有在任何文檔中找到它,所以現在我將嘗試填補這一空白。
我們要做的第一件事是為自定義描述符提供可能的JStat選項。 該描述符只是一個文本文件,其中包含我們稱為“ jstat規范語言”的內容。 為了使該自定義文件可用于JStat,我們應將其放在以下路徑中:
如果要查看捆綁的選項,請參考OpenJDK存儲庫中的文件 。
規范語言與json文件非常相似,并且包含選項元素組。 每個選項都應被威脅為一組列,這些列可以在單個jstat執行中顯示。 僅舉一些預定義的選項:gcnew,gccause或printcompilation。
每個選項元素都包含幾個列段。 我認為列的含義很明顯:)而且,在此描述符中最重要的只是列規范。
每列必須至少包含兩個節點: header和data 。 標頭用于描述列,并且可以使用特殊的字符^對齊,我將其稱為“抓地力”。 Grip表示它將標題粘貼在列的特定側面,因此:
- ^名稱將向左對齊,
- ^名稱^將居中,
- 名稱^將在右側對齊。
下一個重要節點是數據列。 它使用PerfCounter度量標準,并且能夠進行一些基本的算術運算-例如加,減,除,乘以及使用括號將運算分組。 您還可以分組如果您想查看通過此機制可用的所有指標,則可以調用
$jcmd <PID> PerfCounter.print并查看輸出值。
樣本最小文件內容可以像這樣:
option customgc {column {header "Tenuring"data sun.gc.policy.tenuringThreshold} }當我們使用以下命令調用它時:
$jstat -customgc <PID> 1s 3我們將看到類似以下內容:
Tenuring 6 4 5我們還可以使用這些操作來顯示例如聯合年輕一代的用法:
option customgc {column {header "YoungC"data sun.gc.generation.0.space.0.used + sun.gc.generation.0.space.1.used + sun.gc.generation.0.space.2.used} }另外還有四列用于設置我們的列的布局。
| 生的 | 1個 | 沒有縮放 |
| 百分 | 1/100 | 轉換成百分比 |
| ? | 1024 | 公斤 |
| 中號 | 1024 * 1024 | 兆 |
| G | 1024 * 1024 * 1024 | 千兆 |
| ? | 10 ^ -9 | 納米 |
| ü | 10 ^ -6 | 微 |
| 米 | 10 ^ -3 | 毫 |
| 我們 | 10 ^ -6 | 微秒 |
| 多發性硬化癥 | 10 ^ -3 | 毫秒 |
| s | 1個 | 秒 |
| 分 | 1/60 | 分鐘 |
| H | 1/3600 | 小時 |
現在,讓我們看一看優美的示例,該示例將展示我們如何使用其他屬性:
option customgc {column {header "YoungC^"data sun.gc.generation.0.space.0.used + sun.gc.generation.0.space.1.used + sun.gc.generation.0.space.2.usedalign rightscale Mwidth 7format "0.0"}column {header "OldC^"data sun.gc.generation.1.space.0.usedalign rightscale Mwidth 7format "0.0"} }產生:
YoungC OldC67.7 161.037.8 165.492.2 182.8主題結束:)祝你好運!
翻譯自: https://www.javacodegeeks.com/2015/03/using-jstat-to-report-custom-jvm-metric-sets.html
jvm jstat
總結
以上是生活随笔為你收集整理的jvm jstat_使用jstat报告自定义JVM指标集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 改变数据类型的装饰器_用装饰器改变收藏
- 下一篇: oracle idm_批准Oracle