Documentation ¶
Index ¶
- func AutoUsageLimits() run.ResizerManager
- func FixedUsageLimits(limit int64) run.ResizerManager
- func NewConsumerdServer(ctx context.Context, opts ...ConsumerdServerOption) *consumerdServer
- type ConsumerdServerOption
- func WithMonitorClient(client types.MonitorClient) ConsumerdServerOption
- func WithQueueOptions(opts ...SplitQueueOption) ConsumerdServerOption
- func WithSchedulerClient(client types.SchedulerClient) ConsumerdServerOption
- func WithToolchainFinders(args ...toolchains.FinderWithOptions) ConsumerdServerOption
- func WithToolchainRunners(args ...run.StoreAddFunc) ConsumerdServerOption
- type ConsumerdServerOptions
- type Entries
- func (e Entries) Deltas() (entries Entries)
- func (e Entries) EWMA(halfLife time.Duration) (entries Entries)
- func (e Entries) Filter(include func(Entry) bool) (entries Entries)
- func (e Entries) LinearRegression() (alpha, beta float64)
- func (e Entries) TimeRange(begin, end time.Time) Entries
- func (e Entries) ToXYs() (xys plotter.XYs)
- type Entry
- type EntryKind
- type NoRemoteUsageManager
- type SplitQueue
- func (sq *SplitQueue) CompleteDelegatedTasksCompleted(m *metrics.DelegatedTasksCompleted)
- func (sq *SplitQueue) CompleteLocalTasksCompleted(m *metrics.LocalTasksCompleted)
- func (sq *SplitQueue) CompleteTaskStatus(m *metrics.TaskStatus)
- func (sq *SplitQueue) CompleteUsageLimits(m *metrics.UsageLimits)
- func (sq *SplitQueue) Exec(task run.Task) error
- func (sq *SplitQueue) Telemetry() *Telemetry
- type SplitQueueOption
- type SplitQueueOptions
- type SplitTask
- type SplitTaskLocation
- type Telemetry
- type TelemetryConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AutoUsageLimits ¶
func AutoUsageLimits() run.ResizerManager
func FixedUsageLimits ¶
func FixedUsageLimits(limit int64) run.ResizerManager
func NewConsumerdServer ¶
func NewConsumerdServer( ctx context.Context, opts ...ConsumerdServerOption, ) *consumerdServer
Types ¶
type ConsumerdServerOption ¶
type ConsumerdServerOption func(*ConsumerdServerOptions)
func WithMonitorClient ¶
func WithMonitorClient( client types.MonitorClient, ) ConsumerdServerOption
Note this accepts an MonitorClient even though consumerd runs outside the cluster.
func WithQueueOptions ¶
func WithQueueOptions(opts ...SplitQueueOption) ConsumerdServerOption
func WithSchedulerClient ¶
func WithSchedulerClient( client types.SchedulerClient, ) ConsumerdServerOption
func WithToolchainFinders ¶
func WithToolchainFinders(args ...toolchains.FinderWithOptions) ConsumerdServerOption
func WithToolchainRunners ¶
func WithToolchainRunners(args ...run.StoreAddFunc) ConsumerdServerOption
type ConsumerdServerOptions ¶
type ConsumerdServerOptions struct {
// contains filtered or unexported fields
}
func (*ConsumerdServerOptions) Apply ¶
func (o *ConsumerdServerOptions) Apply(opts ...ConsumerdServerOption)
type Entries ¶
type Entries []Entry
func (Entries) LinearRegression ¶
type NoRemoteUsageManager ¶
type NoRemoteUsageManager struct{}
func (NoRemoteUsageManager) Manage ¶
func (NoRemoteUsageManager) Manage(run.Resizer)
type SplitQueue ¶
type SplitQueue struct { *util.PauseController // contains filtered or unexported fields }
func NewSplitQueue ¶
func NewSplitQueue( ctx context.Context, monClient types.MonitorClient, opts ...SplitQueueOption, ) *SplitQueue
func (*SplitQueue) CompleteDelegatedTasksCompleted ¶
func (sq *SplitQueue) CompleteDelegatedTasksCompleted(m *metrics.DelegatedTasksCompleted)
func (*SplitQueue) CompleteLocalTasksCompleted ¶
func (sq *SplitQueue) CompleteLocalTasksCompleted(m *metrics.LocalTasksCompleted)
func (*SplitQueue) CompleteTaskStatus ¶
func (sq *SplitQueue) CompleteTaskStatus(m *metrics.TaskStatus)
func (*SplitQueue) CompleteUsageLimits ¶
func (sq *SplitQueue) CompleteUsageLimits(m *metrics.UsageLimits)
func (*SplitQueue) Telemetry ¶
func (sq *SplitQueue) Telemetry() *Telemetry
type SplitQueueOption ¶
type SplitQueueOption func(*SplitQueueOptions)
func WithBufferSize ¶
func WithBufferSize(sz int) SplitQueueOption
func WithLocalUsageManager ¶
func WithLocalUsageManager(rm run.ResizerManager) SplitQueueOption
func WithRemoteUsageManager ¶
func WithRemoteUsageManager(rm run.ResizerManager) SplitQueueOption
func WithTelemetryConfig ¶
func WithTelemetryConfig(cfg TelemetryConfig) SplitQueueOption
type SplitQueueOptions ¶
type SplitQueueOptions struct {
// contains filtered or unexported fields
}
func (*SplitQueueOptions) Apply ¶
func (o *SplitQueueOptions) Apply(opts ...SplitQueueOption)
type SplitTask ¶
type SplitTask struct { Local run.PackagedRequest Remote run.PackagedRequest Exclusivity SplitTaskLocation // contains filtered or unexported fields }
func (*SplitTask) Which ¶
func (st *SplitTask) Which() SplitTaskLocation
type SplitTaskLocation ¶
type SplitTaskLocation int
const ( Unknown SplitTaskLocation = iota Local Remote )
type Telemetry ¶
type Telemetry struct {
// contains filtered or unexported fields
}
Telemetry stores sampled data from the consumerd split queue. Consumerd telemetry is of particular importance due to the performance impact of balancing local and remote tasks. It is important to be able to log and visualize the state of the consumerd queue to ensure it is performing correctly and to help identify slowdowns, contention, etc. Operations on the Telemetry object are thread-safe.
func (*Telemetry) Entries ¶
Entries returns a slice of all the entries currently in the history buffer.
func (*Telemetry) RecordEntry ¶
func (*Telemetry) StartRecording ¶
func (t *Telemetry) StartRecording()
func (*Telemetry) StopRecording ¶
func (t *Telemetry) StopRecording()
Click to show internal directories.
Click to hide internal directories.