RxNetty のメトリクス取得について
RxNetty でサーバー運用するにあたっては、メトリクスを取得したくなるとおもいますが、デフォルトでは spectator がサポートされています。 spectator は netflix 製のライブラリですが netflix 以外ではほとんど利用されていない様子。情報が極めて少ないです。
コード例などは見当たらないのですが、以下のように Global の metrics に Dropwizard の MetricRepository を紐付けてやれば良いです。
RxNetty.useMetricListenersFactory(new SpectatorEventsListenerFactory());
MetricRegistry metricRegistry = new MetricRegistry();
MetricsRegistry registry = new MetricsRegistry(Clock.SYSTEM, metricRegistry);
Spectator.globalRegistry().add(registry);
JmxReporter.forRegistry(metricRegistry).build().start();
依存は以下のような感じ
<dependency>
<groupId>io.reactivex</groupId>
<artifactId>rxnetty-spectator</artifactId>
<version>0.4.19</version>
</dependency>
<dependency>
<groupId>com.netflix.spectator</groupId>
<artifactId>spectator-reg-metrics3</artifactId>
<version>0.43.0</version>
</dependency>
<dependency>
<groupId>com.netflix.spectator</groupId>
<artifactId>spectator-api</artifactId>
<version>0.43.0</version>
</dependency>
取得されるデータは以下のような感じです。一応データとして取得はできていますが、ちょっとコレジャナイ感じもありますね。
Published: 2016-11-12(Sat) 09:54