Class LoadPredictor

  • All Implemented Interfaces:
    ExtensionPoint
    Direct Known Subclasses:
    LoadPredictor.CurrentlyRunningTasks

    public abstract class LoadPredictor
    extends Object
    implements ExtensionPoint
    Predicts future load to the system, to assist the scheduling decisions

    When Hudson makes a scheduling decision, Hudson considers predicted future load — e.g., "We do currently have one available executor, but we know we need this for something else in 30 minutes, so we can't currently schedule a build that takes 1 hour."

    This extension point plugs in such estimation of future load.

    Author:
    Kohsuke Kawaguchi
    • Constructor Detail

      • LoadPredictor

        public LoadPredictor()
    • Method Detail

      • predict

        public Iterable<FutureLoad> predict​(MappingWorksheet plan,
                                            Computer computer,
                                            long start,
                                            long end)
        Estimates load starting from the 'start' timestamp, up to the 'end' timestamp.
        Parameters:
        start - Where to start enumeration. Always bigger or equal to the current time of the execution.
        plan - This is the execution plan for which we are making a load prediction. Never null. While this object is still being partially constructed when this method is called, some of its properties (like MappingWorksheet.item provide access to more contextual information.
        Since:
        1.380