Documentation ¶
Index ¶
- Constants
- func GetTaskResourceManager(r pluginCore.ResourceManager, ...) pluginCore.ResourceManager
- type Builder
- type Metrics
- type NoopResourceManager
- func (*NoopResourceManager) AllocateResource(ctx context.Context, namespace pluginCore.ResourceNamespace, ...) (pluginCore.AllocationStatus, error)
- func (*NoopResourceManager) GetID() string
- func (*NoopResourceManager) ReleaseResource(ctx context.Context, namespace pluginCore.ResourceNamespace, ...) error
- type NoopResourceManagerBuilder
- func (r *NoopResourceManagerBuilder) BuildResourceManager(ctx context.Context) (pluginCore.ResourceManager, error)
- func (r *NoopResourceManagerBuilder) GetID() string
- func (r *NoopResourceManagerBuilder) GetResourceRegistrar(namespacePrefix pluginCore.ResourceNamespace) pluginCore.ResourceRegistrar
- func (r *NoopResourceManagerBuilder) RegisterResourceQuota(ctx context.Context, namespace pluginCore.ResourceNamespace, quota int) error
- type Proxy
- type Redis
- type RedisClient
- type RedisResourceManager
- func (r *RedisResourceManager) AllocateResource(ctx context.Context, namespace pluginCore.ResourceNamespace, ...) (pluginCore.AllocationStatus, error)
- func (r *RedisResourceManager) GetID() string
- func (r *RedisResourceManager) ReleaseResource(ctx context.Context, namespace pluginCore.ResourceNamespace, ...) error
- type RedisResourceManagerBuilder
- func (r *RedisResourceManagerBuilder) BuildResourceManager(ctx context.Context) (pluginCore.ResourceManager, error)
- func (r *RedisResourceManagerBuilder) GetID() string
- func (r *RedisResourceManagerBuilder) GetResourceRegistrar(namespacePrefix pluginCore.ResourceNamespace) pluginCore.ResourceRegistrar
- func (r *RedisResourceManagerBuilder) RegisterResourceQuota(ctx context.Context, namespace pluginCore.ResourceNamespace, quota int) error
- type RedisResourceManagerMetrics
- type Resource
- type ResourceRegistrarProxy
- type TokenPrefix
Constants ¶
View Source
const NoopResourceManagerID = "noopresourcemanager"
View Source
const RedisSetKeyPrefix = "redisresourcemanager"
This is the key that will point to the Redis Set. https://redis.io/commands#set
Variables ¶
This section is empty.
Functions ¶
func GetTaskResourceManager ¶
func GetTaskResourceManager(r pluginCore.ResourceManager, resourceNamespacePrefix pluginCore.ResourceNamespace, allocationTokenPrefix TokenPrefix) pluginCore.ResourceManager
Types ¶
type Builder ¶
type Builder interface { GetID() string GetResourceRegistrar(namespacePrefix pluginCore.ResourceNamespace) pluginCore.ResourceRegistrar BuildResourceManager(ctx context.Context) (pluginCore.ResourceManager, error) }
type NoopResourceManager ¶
type NoopResourceManager struct { }
func (*NoopResourceManager) AllocateResource ¶
func (*NoopResourceManager) AllocateResource(ctx context.Context, namespace pluginCore.ResourceNamespace, allocationToken string) ( pluginCore.AllocationStatus, error)
func (*NoopResourceManager) GetID ¶ added in v0.1.28
func (*NoopResourceManager) GetID() string
func (*NoopResourceManager) ReleaseResource ¶
func (*NoopResourceManager) ReleaseResource(ctx context.Context, namespace pluginCore.ResourceNamespace, allocationToken string) error
type NoopResourceManagerBuilder ¶
type NoopResourceManagerBuilder struct { }
func (*NoopResourceManagerBuilder) BuildResourceManager ¶
func (r *NoopResourceManagerBuilder) BuildResourceManager(ctx context.Context) (pluginCore.ResourceManager, error)
func (*NoopResourceManagerBuilder) GetID ¶ added in v0.1.28
func (r *NoopResourceManagerBuilder) GetID() string
func (*NoopResourceManagerBuilder) GetResourceRegistrar ¶ added in v0.1.28
func (r *NoopResourceManagerBuilder) GetResourceRegistrar(namespacePrefix pluginCore.ResourceNamespace) pluginCore.ResourceRegistrar
func (*NoopResourceManagerBuilder) RegisterResourceQuota ¶
func (r *NoopResourceManagerBuilder) RegisterResourceQuota(ctx context.Context, namespace pluginCore.ResourceNamespace, quota int) error
type Proxy ¶
type Proxy struct { pluginCore.ResourceManager ResourceNamespacePrefix pluginCore.ResourceNamespace TokenPrefix TokenPrefix }
A proxy will be created for each TaskExecutionContext. The Proxy of an execution contains the resource namespace prefix (e.g., "qubole-hive-executor" for a hive task) and the token prefix (e.g., ex:<project>:<domain>:<exec_id>) of that execution. The plugins will only have access to a Proxy but not directly the underlying resource manager. The Proxy will prepend proper prefixes for the resource namespace and the allocation token.
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 Redis ¶ added in v0.1.28
type Redis struct {
// contains filtered or unexported fields
}
type RedisClient ¶ added in v0.1.28
type RedisClient interface { // A pass-through method. Getting the cardinality of the Redis set SCard(string) *redis.IntCmd // A pass-through method. Checking if an entity is a member of the set specified by the key SIsMember(string, interface{}) *redis.BoolCmd // A pass-through method. Adding an entity to the set specified by the key SAdd(string, interface{}) *redis.IntCmd // A pass-through method. Removing an entity from the set specified by the key SRem(string, interface{}) *redis.IntCmd // A pass-through method. Pinging the Redis client Ping() *redis.StatusCmd }
func NewRedisClient ¶
func NewRedisClient(ctx context.Context, config config.RedisConfig) (RedisClient, 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) GetID ¶ added in v0.1.28
func (r *RedisResourceManager) GetID() string
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 RedisClient, scope promutils.Scope) (*RedisResourceManagerBuilder, error)
func (*RedisResourceManagerBuilder) BuildResourceManager ¶
func (r *RedisResourceManagerBuilder) BuildResourceManager(ctx context.Context) (pluginCore.ResourceManager, error)
func (*RedisResourceManagerBuilder) GetID ¶ added in v0.1.28
func (r *RedisResourceManagerBuilder) GetID() string
func (*RedisResourceManagerBuilder) GetResourceRegistrar ¶ added in v0.1.28
func (r *RedisResourceManagerBuilder) GetResourceRegistrar(namespacePrefix pluginCore.ResourceNamespace) pluginCore.ResourceRegistrar
func (*RedisResourceManagerBuilder) RegisterResourceQuota ¶
func (r *RedisResourceManagerBuilder) RegisterResourceQuota(ctx context.Context, namespace pluginCore.ResourceNamespace, quota int) error
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 ¶
func (rrmm RedisResourceManagerMetrics) GetScope() promutils.Scope
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 ResourceNamespacePrefix pluginCore.ResourceNamespace }
The Proxy will prepend a proper prefix for the resource namespace.
func (ResourceRegistrarProxy) RegisterResourceQuota ¶
func (p ResourceRegistrarProxy) RegisterResourceQuota(ctx context.Context, namespace pluginCore.ResourceNamespace, quota int) error
type TokenPrefix ¶ added in v0.1.23
type TokenPrefix string
func ComposeTokenPrefix ¶ added in v0.1.23
func ComposeTokenPrefix(id *core.TaskExecutionIdentifier) TokenPrefix
Source Files ¶
Click to show internal directories.
Click to hide internal directories.