hudson.model.queue
Class LoadPredictor

java.lang.Object
  extended by hudson.model.queue.LoadPredictor
All Implemented Interfaces:
ExtensionPoint
Direct Known Subclasses:
BackFiller, 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

Nested Class Summary
static class LoadPredictor.CurrentlyRunningTasks
          Considers currently running tasks and their completion.
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Constructor Summary
LoadPredictor()
           
 
Method Summary
static ExtensionList<LoadPredictor> all()
          All the registered instances.
 Iterable<FutureLoad> predict(Computer computer, long start, long end)
          Deprecated. as of 1.380 Use predict(MappingWorksheet, Computer, long, long)
 Iterable<FutureLoad> predict(MappingWorksheet plan, Computer computer, long start, long end)
          Estimates load starting from the 'start' timestamp, up to the 'end' timestamp.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

predict

public Iterable<FutureLoad> predict(Computer computer,
                                    long start,
                                    long end)
Deprecated. as of 1.380 Use predict(MappingWorksheet, Computer, long, long)

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.

all

public static ExtensionList<LoadPredictor> all()
All the registered instances.



Copyright © 2004-2013 Hudson. All Rights Reserved.