resourcemanager

package
v0.1.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const RedisSetKeyPrefix = "resourcemanager"

This is the key that will point to the Redis Set. https://redis.io/commands#set

Variables

This section is empty.

Functions

func NewRedisClient

func NewRedisClient(ctx context.Context, config config.RedisConfig) (*redis.Client, error)

Types

type Builder

type Builder interface {
	ResourceRegistrar(namespacePrefix pluginCore.ResourceNamespace) pluginCore.ResourceRegistrar
	BuildResourceManager(ctx context.Context) (pluginCore.ResourceManager, error)
}

func GetResourceManagerBuilderByType

func GetResourceManagerBuilderByType(ctx context.Context, managerType rmConfig.Type, scope promutils.Scope) (
	Builder, error)

type Metrics

type Metrics interface {
	GetScope() promutils.Scope
}

type NoopResourceManager

type NoopResourceManager struct {
}

func (*NoopResourceManager) AllocateResource

func (*NoopResourceManager) AllocateResource(ctx context.Context, namespace pluginCore.ResourceNamespace, allocationToken string) (
	pluginCore.AllocationStatus, error)

func (*NoopResourceManager) ReleaseResource

func (*NoopResourceManager) ReleaseResource(ctx context.Context, namespace pluginCore.ResourceNamespace, allocationToken string) error

type NoopResourceManagerBuilder

type NoopResourceManagerBuilder struct {
}

func (*NoopResourceManagerBuilder) BuildResourceManager

func (*NoopResourceManagerBuilder) RegisterResourceQuota

func (r *NoopResourceManagerBuilder) RegisterResourceQuota(ctx context.Context, namespace pluginCore.ResourceNamespace, quota int) error

func (*NoopResourceManagerBuilder) ResourceRegistrar

type Proxy

type Proxy struct {
	pluginCore.ResourceManager
	NamespacePrefix pluginCore.ResourceNamespace
}

func (Proxy) AllocateResource

func (p Proxy) AllocateResource(ctx context.Context, namespace pluginCore.ResourceNamespace,
	allocationToken string) (pluginCore.AllocationStatus, error)

func (Proxy) ReleaseResource

func (p Proxy) ReleaseResource(ctx context.Context, namespace pluginCore.ResourceNamespace,
	allocationToken string) error

type RedisResourceManager

type RedisResourceManager struct {
	MetricsScope promutils.Scope
	// contains filtered or unexported fields
}

func (*RedisResourceManager) AllocateResource

func (r *RedisResourceManager) AllocateResource(ctx context.Context, namespace pluginCore.ResourceNamespace, allocationToken string) (
	pluginCore.AllocationStatus, error)

func (*RedisResourceManager) ReleaseResource

func (r *RedisResourceManager) ReleaseResource(ctx context.Context, namespace pluginCore.ResourceNamespace, allocationToken string) error

type RedisResourceManagerBuilder

type RedisResourceManagerBuilder struct {
	MetricsScope promutils.Scope
	// contains filtered or unexported fields
}

func NewRedisResourceManagerBuilder

func NewRedisResourceManagerBuilder(_ context.Context, client *redis.Client, scope promutils.Scope) (*RedisResourceManagerBuilder, error)

func (*RedisResourceManagerBuilder) BuildResourceManager

func (*RedisResourceManagerBuilder) RegisterResourceQuota

func (r *RedisResourceManagerBuilder) RegisterResourceQuota(ctx context.Context, namespace pluginCore.ResourceNamespace, quota int) error

func (*RedisResourceManagerBuilder) ResourceRegistrar

type RedisResourceManagerMetrics

type RedisResourceManagerMetrics struct {
	Scope                     promutils.Scope
	RedisSizeCheckTime        promutils.StopWatch
	AllocatedTokensGauge      prometheus.Gauge
	ApproximateBackedUpLength prometheus.Gauge
}

func NewRedisResourceManagerMetrics

func NewRedisResourceManagerMetrics(scope promutils.Scope) *RedisResourceManagerMetrics

func (RedisResourceManagerMetrics) GetScope

type Resource

type Resource struct {
	// contains filtered or unexported fields
}

This struct is designed to serve as the identifier of an user of resource manager

type ResourceRegistrarProxy

type ResourceRegistrarProxy struct {
	pluginCore.ResourceRegistrar
	NamespacePrefix pluginCore.ResourceNamespace
}

func (ResourceRegistrarProxy) RegisterResourceQuota

func (p ResourceRegistrarProxy) RegisterResourceQuota(ctx context.Context, namespace pluginCore.ResourceNamespace, quota int) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL