jstorm没有使用跟storm一样的metrics设计。首先,jstorm0.9.x系列的版本中,是可以使用自定义metrics,你可以参考一下jstorm源码中examples里的TotalCount类的代码,看自定义metrics如何使用的,这种情况下,自定义metrics可以直接显示在jstorm的web ui上,不过只有最后一个时刻(4个窗口)的数据,没有连续的历史值。如果你想要历史值,那么可以参考一下MetricSendClient接口以及它的一个实现:AlimonitorClient。
在jstorm2.1.0中我们完全重构了metrics system,这个版本支持的所有级别的metric数据,如stream, task, component, worker, topology, 甚至cluster等,并且数据不会像以前版本以及storm那样,只有一个平均值的数据,对于TPS,我们有m1,m5,m15和mean,对于时间类的,我们支持分位点的耗时统计如p999(即99.9%的某个操作耗时为多少微秒),p99, p95, p75, mean等。同样地,我们也提供了MetricsUploader接口,用户可以根据自己的需求来实现这个接口,打造自己的监控系统。
如果需要做自己的jstorm监控系统,我们会强烈推荐2.1.0版本。