Class TimerMetricsHandler<TData,TResult>

java.lang.Object
nablarch.integration.micrometer.instrument.handler.TimerMetricsHandler<TData,TResult>
Type Parameters:
TData - 処理対象データ型
TResult - 処理結果データ型
All Implemented Interfaces:
Handler<TData,TResult>

public class TimerMetricsHandler<TData,TResult> extends Object implements Handler<TData,TResult>
ハンドラキューに追加することで、後続処理の実行時間をメトリクスとして収集するハンドラクラス。
  • Constructor Details

    • TimerMetricsHandler

      public TimerMetricsHandler()
  • Method Details

    • handle

      public TResult handle(TData param, ExecutionContext executionContext)
      Description copied from interface: Handler
      入力データに対する処理を実行する。
      Specified by:
      handle in interface Handler<TData,TResult>
      Parameters:
      param - 入力データ
      executionContext - 実行コンテキスト
      Returns:
      処理結果データ
    • setMeterRegistry

      public void setMeterRegistry(io.micrometer.core.instrument.MeterRegistry meterRegistry)
      MeterRegistry を設定する。
      Parameters:
      meterRegistry - MeterRegistry
    • setHandlerMetricsMetaDataBuilder

      public void setHandlerMetricsMetaDataBuilder(HandlerMetricsMetaDataBuilder<TData,TResult> handlerMetricsMetaDataBuilder)
      Parameters:
      handlerMetricsMetaDataBuilder - HandlerMetricsMetaDataBuilder
    • setPercentiles

      public void setPercentiles(List<String> percentiles)
      このハンドラによって収集されるメトリクスに、指定されたパーセンタイルのメトリクスを追加する。

      95パーセンタイルの情報を追加したい場合は、0.95を設定する。

      このセッターはコンポーネント定義ファイルからプロパティとして設定されることを想定している。
      システムリポジトリによるリストプロパティの設定は総称型に応じたキャストをサポートしていないため、 いったん文字列で受け取って内部でdoubleにパースしている。

      ここで渡した値は、io.micrometer.core.instrument.Timer.Builder#publishPercentiles(double...)の引数に渡される。

      Parameters:
      percentiles - 追加するパーセンタイルのリスト
    • setEnablePercentileHistogram

      public void setEnablePercentileHistogram(boolean enablePercentileHistogram)
      ヒストグラムバケットを生成するかどうかを設定する。

      ここで渡した値は、io.micrometer.core.instrument.Timer.Builder#publishPercentileHistogram(java.lang.Boolean)の引数に渡される。

      Parameters:
      enablePercentileHistogram - ヒストグラムバケットを生成する場合はtrue
    • setServiceLevelObjectives

      public void setServiceLevelObjectives(List<String> serviceLevelObjectives)
      サービスレベル目標(ミリ秒)のリストを設定する。

      このセッターはコンポーネント定義ファイルからプロパティとして設定されることを想定している。
      システムリポジトリによるリストプロパティの設定は総称型に応じたキャストをサポートしていないため、 いったん文字列で受け取って内部でlongにパースしている。

      ここで渡した値は、io.micrometer.core.instrument.Timer.Builder#serviceLevelObjectives(java.time.Duration...)の引数に渡される。

      Parameters:
      serviceLevelObjectives - サービスレベル目標のリスト
    • setMinimumExpectedValue

      public void setMinimumExpectedValue(long minimumExpectedValue)
      ヒストグラムバケットの下限(ミリ秒)を設定する。

      ここで渡した値は、io.micrometer.core.instrument.Timer.Builder#minimumExpectedValue(java.time.Duration)の引数に渡される。

      Parameters:
      minimumExpectedValue - ヒストグラムバケットの下限
    • setMaximumExpectedValue

      public void setMaximumExpectedValue(long maximumExpectedValue)
      ヒストグラムバケットの上限(ミリ秒)を設定する。

      ここで渡した値は、io.micrometer.core.instrument.Timer.Builder#maximumExpectedValue(java.time.Duration)の引数に渡される。

      Parameters:
      maximumExpectedValue - ヒストグラムバケットの上限