6.3. CodeReady Workspaces モニタリングメトリクスの拡張
本セクションでは、CodeReady Workspaces が公開しているモニタリングメトリクスを拡張するために、メトリクスまたはメトリクスのグループを作成する方法を説明します。
CodeReady Workspaces には 2 つの主要なモジュールメトリクスがあります。
-
che-core-metrics-core
— コアメトリクスモジュールが含まれます。 -
che-core-api-metrics
— ワークスペースやユーザーマネージャーなどの CodeReady Workspaces のコアコンポーネントに依存するメトリクスが含まれます。
手順
MeterBinder
クラスを拡張するクラスを作成します。これにより、作成されたメトリクスをオーバーライドされたbindTo(MeterRegistry registry)
メソッドに登録することができます。以下は、その値を提供する機能が含まれるメトリクスの例です。
メトリクスの例
public class UserMeterBinder implements MeterBinder { private final UserManager userManager; @Inject public UserMeterBinder(UserManager userManager) { this.userManager = userManager; } @Override public void bindTo(MeterRegistry registry) { Gauge.builder("che.user.total", this::count) .description("Total amount of users") .register(registry); } private double count() { try { return userManager.getTotalCount(); } catch (ServerException e) { return Double.NaN; } }
または、メトリクスは参照情報と共に保存でき、コードの別の場所で手動で更新できます。