jvm jstat_使用jstat报告自定义JVM指标集

jvm jstat

我一直缺少在JStat中配置自定义标头的可能性 。 当然,有很多预定义的数据集,但是如果我们可以创建自己的数据集,那就更好了。 正如您可能已经设计的那样,我正在写这篇文章,因为这样的功能当然是可用的:)不幸的是我没有在任何文档中找到它,所以现在我将尝试填补这一空白。

我们要做的第一件事是为自定义描述符提供可能的JStat选项。 该描述符只是一个文本文件,其中包含我们称为“ jstat规范语言”的内容。 为了使该自定义文件可用于JStat,我们应将其放在以下路径中:

$HOME/.jvmstat/jstat_options

如果要查看捆绑的选项,请参考OpenJDK存储库中的文件

规范语言与json文件非常相似,并且包含选项元素组。 每个选项都应被威胁为一组列,这些列可以在单个jstat执行中显示。 仅举一些预定义的选项:gcnew,gccauseprintcompilation。

每个选项元素都包含几个段。 我认为列的含义很明显:)而且,在此描述符中最重要的只是规范。

每列必须至少包含两个节点: headerdata标头用于描述列,并且可以使用特殊的字符^对齐,我将其称为“抓地力”。 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. 首先是路线设置。 通过将align元素设置为上述值之一,可以选择是否要将数据对齐到左,中或右。
  2. 对于数字量度,我们可以通过在格式节点中输入字符串来指定用作DecimalFormat输入的字符串。
  3. 我们还可以通过添加具有特定长度的width元素来指​​定列的大小。
  4. 最后但并非最不重要的是缩放功能。 因为大多数指标仅包含来自JVM的原始输出,所以我们需要对其进行一些转换,以使其对人眼有用。 这可以通过将scale属性设置为以下值之一(令牌列)来完成。
    代币 因子 描述
    生的 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.used
    align right
    scale M
    width 7
    format "0.0"
  }
  column {
    header "OldC^"
    data sun.gc.generation.1.space.0.used
    align right
    scale M
    width 7
    format "0.0"
  }
}

产生:

YoungC    OldC
  67.7   161.0
  37.8   165.4
  92.2   182.8

主题结束:)祝你好运!

翻译自: https://www.javacodegeeks.com/2015/03/using-jstat-to-report-custom-jvm-metric-sets.html

jvm jstat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值