Interface ThreadLimiterAnalyticsService

All Known Implementing Classes:
NoopThreadLimiterAnalyticsService, ThreadLimiterAnalyticsServiceImpl

public interface ThreadLimiterAnalyticsService
Interface for the thread limiter analytics service.
Since:
9.3.0
  • Field Details

    • THREAD_LIMITER_DISABLED

      static final boolean THREAD_LIMITER_DISABLED
    • log

      static final org.slf4j.Logger log
    • threadLimiterAnalyticsServiceRef

      static final io.atlassian.util.concurrent.LazyReference<ThreadLimiterAnalyticsService> threadLimiterAnalyticsServiceRef
  • Method Details

    • getInstance

      static ThreadLimiterAnalyticsService getInstance()
      LazyReference can return null value, so we have to check again here for nulls
      Returns:
      an instance of ThreadLimiterAnalyticsService
    • onMacroStartRendering

      long onMacroStartRendering(MacroDefinition macroDefinition)
      Is called when the macro rendering starts
      Parameters:
      macroDefinition - macro definition
      Returns:
      unique rendering id
    • onMacroStopRendering

      void onMacroStopRendering(long renderingId)
      Is called when the macro rendering finishes
      Parameters:
      renderingId - rendering id provided by onMacroStartRendering call.
    • onSearchRequestProcessingStart

      long onSearchRequestProcessingStart()
      Is called when the search request processing starts.
      Returns:
      unique processing id
    • onSearchRequestProcessingFinish

      void onSearchRequestProcessingFinish(long requestProcessingId)
      Is called when the search request processing finishes.
      Parameters:
      requestProcessingId - id provided by onSearchRequestProcessingStart call.
    • flushAnalytics

      void flushAnalytics()
      Is called when the analytics should be sent to the server (called by the scheduler).