Class CurrentProblemsManagerImpl

  • All Implemented Interfaces:
    EventListener, BuildServerListener, CurrentProblemsManager, CurrentProblemsManagerEx, ProjectsModelListener, ServerListener

    public class CurrentProblemsManagerImpl
    extends BuildServerAdapter
    implements CurrentProblemsManagerEx
    Few implementation details:

    the instance of CurrentProblemsManagerImpl holds the reference for all build types (per project) and for all build types - a reference to last normally finished build (can be null). The current problems of a build type include failed tests from the last normally finished build plus failed tests from running builds. All normally finished builds except running ones form the cache.

    The instance also listens for build events - start and finish - to update the cache. Thus there is no "stop-the-world" phase collecting the cache. But if the cache isn't full enough, the first rendering of the "Current Problems" page can take some time.

    Thread-safe.

    Ideas for further performance improvement:

    • persist the cache

    Currently the manager ignores all the problems from non-default branches.

    Author:
    Maxim Podkolzine (maxim.podkolzine@jetbrains.com)