Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Interface ¶
type Interface interface {
GetResourceUsage() (*queue_info.ClusterUsage, error)
}
type UsageDBConfig ¶
type UsageDBConfig struct {
ClientType string `yaml:"clientType" json:"clientType"`
ConnectionString string `yaml:"connectionString" json:"connectionString"`
ConnectionStringEnvVar string `yaml:"connectionStringEnvVar" json:"connectionStringEnvVar"`
UsageParams *UsageParams `yaml:"usageParams" json:"usageParams"`
}
func (*UsageDBConfig) GetUsageParams ¶ added in v0.8.2
func (c *UsageDBConfig) GetUsageParams() *UsageParams
GetUsageParams returns the usage params if set, and default params if not set.
type UsageParams ¶ added in v0.8.2
type UsageParams struct {
// Half life period of the usage. If not set, or set to 0, the usage will not be decayed.
HalfLifePeriod *time.Duration `yaml:"halfLifePeriod" json:"halfLifePeriod"`
// Window size of the usage. Default is 1 week.
WindowSize *time.Duration `yaml:"windowSize" json:"windowSize"`
// Window type for time-series aggregation. If not set, defaults to sliding.
WindowType *WindowType `yaml:"windowType" json:"windowType"`
// A cron string used to determine when to reset resource usage for all queues.
TumblingWindowCronString string `yaml:"tumblingWindowCronString" json:"tumblingWindowCronString"`
// ExtraParams are extra parameters for the usage db client, which are client specific.
ExtraParams map[string]string `yaml:"extraParams" json:"extraParams"`
}
UsageParams defines common params for all usage db clients. Some clients may not support all the params.
func (*UsageParams) GetExtraDurationParamOrDefault ¶ added in v0.8.3
func (*UsageParams) GetExtraStringParamOrDefault ¶ added in v0.8.3
func (up *UsageParams) GetExtraStringParamOrDefault(key string, defaultValue string) string
func (*UsageParams) SetDefaults ¶ added in v0.8.2
func (up *UsageParams) SetDefaults()
type WindowType ¶ added in v0.8.2
type WindowType string
WindowType defines the type of time window for aggregating usage data
const ( // TumblingWindow represents non-overlapping, fixed-size time windows // Example: 1-hour windows at 0-1h, 1-2h, 2-3h TumblingWindow WindowType = "tumbling" // SlidingWindow represents overlapping time windows that slide forward // Example: a 1-hour sliding window will consider the usage of the last 1 hour prior to the current time. SlidingWindow WindowType = "sliding" )
func (WindowType) IsValid ¶ added in v0.8.2
func (wt WindowType) IsValid() bool
IsValid returns true if the WindowType is a valid value
Click to show internal directories.
Click to hide internal directories.