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. PrometheusMeterRegistry keeps the first registration and silently drops conflicting 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.