Class LegacyUiTimerSupport

java.lang.Object
io.jmix.flowui.monitoring.LegacyUiTimerSupport

@Deprecated(since="3.0", forRemoval=true) @Component("flowui_LegacyUiTimerSupport") public class LegacyUiTimerSupport extends Object
Deprecated, for removal: This API element is subject to removal in a future version.
Brackets a piece of work with the legacy Timer-based metrics (jmix.ui.data, jmix.ui.views) when UiProperties.isLegacyMonitoringEnabled() is on.

Exists solely for back-compat with dashboards built on the legacy tag schema. The whole bean is expected to be removed in a future release once consumers migrate to the modern Observation tag schema; at that point this class — together with the property — can be deleted with no impact on call sites in UiObservationSupport.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected io.micrometer.core.instrument.MeterRegistry
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected UiProperties
    Deprecated, for removal: This API element is subject to removal in a future version.
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    <T> T
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    <T> T
    recordViewTimer(View<?> view, ViewLifecycle phase, Supplier<T> action)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    When legacy monitoring is on, modern Observation-based Timer and LongTaskTimer for the same jmix.ui.* metric names would collide with the legacy registrations under different tag schemas.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • meterRegistry

      @Autowired protected io.micrometer.core.instrument.MeterRegistry meterRegistry
      Deprecated, for removal: This API element is subject to removal in a future version.
    • uiProperties

      @Autowired protected UiProperties uiProperties
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Constructor Details

    • LegacyUiTimerSupport

      public LegacyUiTimerSupport()
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Method Details

    • suppressObservationMetersInLegacyMode

      @PostConstruct protected void suppressObservationMetersInLegacyMode()
      Deprecated, for removal: This API element is subject to removal in a future version.
      When legacy monitoring is on, modern Observation-based Timer and LongTaskTimer for the same jmix.ui.* metric names would collide with the legacy registrations under different tag schemas. Since Micrometer 1.17, PrometheusMeterRegistry keeps both conflicting registrations, so this filter is the sole guard preventing modern-schema series from appearing alongside legacy ones. Suppress the modern side at the registry level by denying any meter under jmix.ui.* that carries the modern-schema marker tag lifecycle.name. Tracing spans don't go through MeterRegistry and are not affected.
    • isEnabled

      protected boolean isEnabled()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • recordDataLoaderTimer

      public <T> T recordDataLoaderTimer(DataLoader loader, DataLoaderLifeCycle phase, Supplier<T> action)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • recordViewTimer

      public <T> T recordViewTimer(View<?> view, ViewLifecycle phase, Supplier<T> action)
      Deprecated, for removal: This API element is subject to removal in a future version.