Interface ServerMetricsDetailCollector

All Known Implementing Classes:
MultiThreadedRequestMetricsCollector, NoopServerMetricsDetailCollector

@ThreadSafe @PublicApi @ExperimentalApi @ParametersAreNonnullByDefault public interface ServerMetricsDetailCollector
Allows services/manager to insert details about request processing time into JIRA server metrics. Implementations automatically obtain information about current request from current thread.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addTimeSpentInActivity(String activityName, Duration duration)
    Adds time spent in given activity
    void
    checkpointReached(String checkpointName)
    Insert information that some named point in request processing was reached.
    For server metrics purposes request will be divided into several named blocks and time spent in each block will be logged.
    void
    checkpointReachedOnce(String checkpointName)
    This is special case of checkpointReached(String) - add information about checkpoint being reached only if checkpoint with given name was not visited before.
    void
    This is special case of checkpointReached(String) - override previous information about checkpoint with current information.
  • Method Details

    • checkpointReached

      void checkpointReached(String checkpointName)
      Insert information that some named point in request processing was reached.
      For server metrics purposes request will be divided into several named blocks and time spent in each block will be logged.
      Parameters:
      checkpointName - name of checkpoint - should be whitelisted in jira analytics whitelist: jira-components/jira-plugins/jira-analytics-whitelist-plugin/src/main/resources/jira-analytics-whitelist-plugin-whitelist.json event jira.http.request.stats
    • checkpointReachedOnce

      void checkpointReachedOnce(String checkpointName)
      This is special case of checkpointReached(String) - add information about checkpoint being reached only if checkpoint with given name was not visited before.
    • checkpointReachedOverride

      void checkpointReachedOverride(String checkpointName)
      This is special case of checkpointReached(String) - override previous information about checkpoint with current information.
    • addTimeSpentInActivity

      void addTimeSpentInActivity(String activityName, Duration duration)
      Adds time spent in given activity
      Parameters:
      activityName - activity name i.e.: databaseRead, cacheLoad, etc... - should be whitelisted in jira analytics whitelist: jira-components/jira-plugins/jira-analytics-whitelist-plugin/src/main/resources/jira-analytics-whitelist-plugin-whitelist.json
      duration - duration that will be added to current activity time