第一个开源项目: libcjstat,一个简单的 C API 用于采集 Java 虚拟机运行状况,以代替 jstat

2015-11-09 17:43:59 +08:00
 aheadlead
刚考完汇编,容我吐槽一下。人肉编译器,没有 stdio.h 里面的一切,有一题,让我读入 10 个“有符号”数,排序输出。看上去简单,妈蛋我人肉编译写了两大张 A3 纸(字是大点)还没编译完,然后交卷了……

--------

正题:

大家好。

大二实习的时候,干了一个 JVM 集群垃圾回收性能采集呈现的工作,当时集群里面一个机器上跑几十上百个 JVM 。我们关心她的 FGC 、 FGCT 这样的指标。但是,使用 jstat 一个个去采的话,性能上是不可接受的。

于是稍微研究了下 jvm 和 openjdk 代码,发现了 hsperfdata 这个文件。接着在 github 上发现了 twitter 的一个 Python 库,可以用于解析 hsperfdata ,进而透过 jstat 源码可算出 FGC 的值。不过 Python 实在太慢。

我拥抱变化归来后,就用 C 写了个库,直接提供一个 C 的 API ,就可以访问一个 JVM 的 jstat 的指标。

代码应该没啥特别的地方的。但这是我第一个开源作品,任何方面都欢迎大家拍砖点评。

谢谢(考完汇编大脑蛋疼中)
2584 次点击
所在节点    分享创造
8 条回复
lytofb
2015-11-09 18:19:31 +08:00
代码呢啊?同学
fire5
2015-11-09 18:36:32 +08:00
加油,哥们。
mingyuan2011
2015-11-09 18:44:45 +08:00
不明觉厉,不过还是贴一下代码地址,我想长姿势。
aheadlead
2015-11-09 19:23:50 +08:00
macrosea
2015-11-10 00:17:27 +08:00
mark
zzlyzq
2015-11-10 19:01:41 +08:00
牛逼啊哥们, 我们正在搞这个,下下来研究下,谢谢啦~
zonghua
2015-11-11 01:06:12 +08:00
大二就会研究 jvm 啦
aheadlead
2015-11-11 15:55:52 +08:00
@zzlyzq 多多交流
@zonghua 实习的干的活呢……平常应该不会想到去接触 jvm

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/234843

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX