クラス ServerHttpObservationFilter

実装されたすべてのインターフェース:
FilterEEAwareBeanNameAwareDisposableBeanInitializingBeanEnvironmentAwareEnvironmentCapableServletContextAware

public class ServerHttpObservationFilter extends OncePerRequestFilter
HTTP 交換用の observations を作成する FilterEE。これにより、実行時間に関する情報と ServerRequestObservationContext から収集された情報が収集されます。

Web フレームワーク は、現在の contextrequest attribute としてフェッチし、それに追加情報を提供できます。構成された ServerRequestObservationConvention は、このコンテキストを使用して metadata を収集し、それを観測に添付します。

導入:
6.0
作成者:
Brian Clozel
  • フィールドの詳細

    • CURRENT_OBSERVATION_CONTEXT_ATTRIBUTE

      public static final StringSE CURRENT_OBSERVATION_CONTEXT_ATTRIBUTE
      現在の監視の context を保持するリクエスト属性の名前。
  • コンストラクターの詳細

    • ServerHttpObservationFilter

      public ServerHttpObservationFilter(io.micrometer.observation.ObservationRegistry observationRegistry)
      指定された ObservationRegistry に対する観測を記録する HttpRequestsObservationFilter を作成します。デフォルトの convention が使用されます。
      パラメーター:
      observationRegistry - 観測を記録するために使用するレジストリ
    • ServerHttpObservationFilter

      public ServerHttpObservationFilter(io.micrometer.observation.ObservationRegistry observationRegistry, ServerRequestObservationConvention observationConvention)
      カスタム規則を使用して、指定された ObservationRegistry に対する観測を記録する HttpRequestsObservationFilter を作成します。
      パラメーター:
      observationRegistry - 観測を記録するために使用するレジストリ
      observationConvention - 記録されたすべての観測に使用する規則
  • メソッドの詳細

    • findObservationContext

      public static OptionalSE<ServerRequestObservationContext> findObservationContext(HttpServletRequestEE request)
      利用可能な場合、指定されたリクエストから現在の observation context を取得します。
      パラメーター:
      request - 現在のリクエスト
      戻り値:
      現在の観測コンテキスト
    • shouldNotFilterAsyncDispatch

      protected boolean shouldNotFilterAsyncDispatch()
      クラスからコピーされた説明: OncePerRequestFilter
      ディスパッチャー型 jakarta.servlet.DispatcherType.ASYNC は、1 つのリクエストの過程で複数のスレッドでフィルターを呼び出すことができることを意味します。一部のフィルターは最初のスレッドをフィルタリングするだけで済みます (例: リクエスト 折り返し)。その他のフィルターは、たとえばスレッドローカルを設定するため、または最後に最終処理を実行するために、追加のスレッドごとに少なくとも 1 回呼び出す必要があります。

      フィルターは、web.xml を介して特定のディスパッチャー型を処理するように、または ServletContext を介して Java で処理するようにマップできますが、サーブレットコンテナーはディスパッチャー型に関して異なるデフォルトを適用する場合があることに注意してください。このフラグは、フィルターの設計意図を強制します。

      デフォルトの戻り値は "true" です。これは、後続の非同期ディスパッチ中にフィルターが呼び出されないことを意味します。"false" の場合、フィルターは非同期ディスパッチ中に呼び出され、単一スレッド内のリクエスト中に 1 回だけ呼び出されるという同じ保証があります。

      オーバーライド:
      クラス OncePerRequestFiltershouldNotFilterAsyncDispatch 
    • doFilterInternal

      protected void doFilterInternal(HttpServletRequestEE request, HttpServletResponseEE response, FilterChainEE filterChain) throws ServletExceptionEE, IOExceptionSE
      クラスからコピーされた説明: OncePerRequestFilter
      doFilter と同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。詳細については、OncePerRequestFilter.shouldNotFilterAsyncDispatch() を参照してください。

      デフォルトの ServletRequest および ServletResponse の代わりに、HttpServletRequest および HttpServletResponse 引数を提供します。

      次で指定:
      クラス OncePerRequestFilterdoFilterInternal 
      例外:
      ServletExceptionEE
      IOExceptionSE