Documentation
¶
Index ¶
- type ResourceAdvisor
- type ResourceAdvisorStub
- func (r *ResourceAdvisorStub) GetHeadroom(resourceName v1.ResourceName) (resource.Quantity, map[int]resource.Quantity, error)
- func (r *ResourceAdvisorStub) GetSubAdvisor(resourceName types.QoSResourceName) (SubResourceAdvisor, error)
- func (r *ResourceAdvisorStub) Run(ctx context.Context)
- func (r *ResourceAdvisorStub) SetHeadroom(resourceName v1.ResourceName, quantity resource.Quantity)
- type SubResourceAdvisor
- type SubResourceAdvisorStub
- func (s *SubResourceAdvisorStub) GetHeadroom() (resource.Quantity, map[int]resource.Quantity, error)
- func (s *SubResourceAdvisorStub) Name() string
- func (s *SubResourceAdvisorStub) Run(ctx context.Context)
- func (s *SubResourceAdvisorStub) SetHeadroom(quantity resource.Quantity)
- func (s *SubResourceAdvisorStub) UpdateAndGetAdvice() (interface{}, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ResourceAdvisor ¶
type ResourceAdvisor interface {
// Run starts all sub resource advisors
Run(ctx context.Context)
// GetSubAdvisor returns the corresponding sub advisor according to resource name
GetSubAdvisor(resourceName types.QoSResourceName) (SubResourceAdvisor, error)
}
ResourceAdvisor is a wrapper of different sub resource advisors. It can be registered to headroom reporter to give designated resource headroom quantity based on provision result.
func NewResourceAdvisor ¶
func NewResourceAdvisor(conf *config.Configuration, extraConf interface{}, metaCache metacache.MetaCache, metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter, ) (ResourceAdvisor, error)
NewResourceAdvisor returns a resource advisor wrapper instance, initializing all required sub resource advisor according to config
type ResourceAdvisorStub ¶
func NewResourceAdvisorStub ¶
func NewResourceAdvisorStub() *ResourceAdvisorStub
func (*ResourceAdvisorStub) GetHeadroom ¶
func (r *ResourceAdvisorStub) GetHeadroom(resourceName v1.ResourceName) (resource.Quantity, map[int]resource.Quantity, error)
func (*ResourceAdvisorStub) GetSubAdvisor ¶
func (r *ResourceAdvisorStub) GetSubAdvisor(resourceName types.QoSResourceName) (SubResourceAdvisor, error)
func (*ResourceAdvisorStub) Run ¶ added in v0.2.0
func (r *ResourceAdvisorStub) Run(ctx context.Context)
func (*ResourceAdvisorStub) SetHeadroom ¶
func (r *ResourceAdvisorStub) SetHeadroom(resourceName v1.ResourceName, quantity resource.Quantity)
type SubResourceAdvisor ¶
type SubResourceAdvisor interface {
// Run starts resource provision update based on the latest system and workload snapshot(s)
Run(ctx context.Context)
// UpdateAndGetAdvice triggers resource provision update and returns the latest advice
UpdateAndGetAdvice() (interface{}, error)
// GetHeadroom returns the latest resource headroom quantity for resource reporter
GetHeadroom() (resource.Quantity, map[int]resource.Quantity, error)
}
SubResourceAdvisor updates resource provision of a certain dimension based on the latest system and workload snapshot(s), and returns provision advice or resource headroom quantity.
func NewSubResourceAdvisor ¶
func NewSubResourceAdvisor(resourceName types.QoSResourceName, conf *config.Configuration, extraConf interface{}, metaCache metacache.MetaCache, metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter, ) (SubResourceAdvisor, error)
NewSubResourceAdvisor returns a corresponding advisor according to resource name
type SubResourceAdvisorStub ¶
func NewSubResourceAdvisorStub ¶
func NewSubResourceAdvisorStub() *SubResourceAdvisorStub
func (*SubResourceAdvisorStub) GetHeadroom ¶
func (*SubResourceAdvisorStub) Name ¶
func (s *SubResourceAdvisorStub) Name() string
func (*SubResourceAdvisorStub) Run ¶ added in v0.2.0
func (s *SubResourceAdvisorStub) Run(ctx context.Context)
func (*SubResourceAdvisorStub) SetHeadroom ¶
func (s *SubResourceAdvisorStub) SetHeadroom(quantity resource.Quantity)
func (*SubResourceAdvisorStub) UpdateAndGetAdvice ¶ added in v0.5.16
func (s *SubResourceAdvisorStub) UpdateAndGetAdvice() (interface{}, error)
Click to show internal directories.
Click to hide internal directories.