Class MemoryProblemsHealthReport

    • Constructor Detail

      • MemoryProblemsHealthReport

        public MemoryProblemsHealthReport()
    • Method Detail

      • reportGCOverheadError

        public boolean reportGCOverheadError​(double totalGcOverheadThreshold,
                                             long maxAvailable)
      • reportLowMemoryProblem

        public boolean reportLowMemoryProblem​(@NotNull
                                              String poolName,
                                              long statisticCalculationTimeMinutes,
                                              float averageMemoryUsagePercent,
                                              long maxSize)
      • removeError

        public boolean removeError​(String poolName)
      • getDisplayName

        @NotNull
        public String getDisplayName()
        Description copied from class: HealthStatusReport
        User presentable name of the problem finder.
        Specified by:
        getDisplayName in class HealthStatusReport
        Returns:
        name of the problem finder to show in the user interface.
      • getCategories

        @NotNull
        public Collection<ItemCategory> getCategories()
        Description copied from class: HealthStatusReport
        Problems categories producing by this problem finder. All problems of 'undeclared' categories will be filtered even if they were consumed.
        Specified by:
        getCategories in class HealthStatusReport
        Returns:
        Unmodifiable not-empty collection of unique categories producing by this problem finder.
      • report

        public void report​(@NotNull
                           HealthStatusScope scope,
                           @NotNull
                           HealthStatusItemConsumer resultConsumer)
        Description copied from class: HealthStatusReport
        When called must report all found problems to result consumer according to the received scope. Always called with system privileges (in all permissions mode) so no permission checks are required.

        Note that this method can be called quite often, so long-running implementations should return false from HealthStatusReport.canReportItemsFor(HealthStatusScope) if it's clear that they can't produce any items for the requested scope.

        Implementations of this method should always return in a reasonable time. For example, long running computations or network calls should not be made in this method, but rather called in some background thread, their result saved to a cache, and then be read from the cache in this method.

        Specified by:
        report in class HealthStatusReport
        Parameters:
        scope - health status code
        resultConsumer - health status item consumer