Versions in this module Expand all Collapse all v0 v0.1.0 Nov 12, 2022 v0.0.1 Nov 10, 2022 Changes in this version + func ResolveCrossReferences(grps map[string]*Group) error + type Group struct + CPULimit *GroupQuotaCPU + JournalLimit *GroupQuotaJournal + MemoryLimit quantity.Size + Name string + ParentGroup string + Snaps []string + SubGroups []string + ThreadLimit int + func NewGroup(name string, resourceLimits Resources) (*Group, error) + func (grp *Group) CurrentMemoryUsage() (quantity.Size, error) + func (grp *Group) CurrentTaskUsage() (int, error) + func (grp *Group) GetCPUSetQuota() []int + func (grp *Group) GetLocalCPUQuota() (int, int) + func (grp *Group) GetLocalCPUSetQuota() []int + func (grp *Group) GetQuotaResources() Resources + func (grp *Group) JournalConfFileName() string + func (grp *Group) JournalNamespaceName() string + func (grp *Group) JournalServiceDropInDir() string + func (grp *Group) JournalServiceDropInFile() string + func (grp *Group) JournalServiceName() string + func (grp *Group) NewSubGroup(name string, resourceLimits Resources) (*Group, error) + func (grp *Group) SliceFileName() string + func (grp *Group) UpdateQuotaLimits(resourceLimits Resources) error + type GroupQuotaCPU struct + CPUSet []int + Count int + Percentage int + type GroupQuotaJournal struct + RateCount int + RateEnabled bool + RatePeriod time.Duration + Size quantity.Size + type QuotaGroupSet struct + func (s *QuotaGroupSet) AddAllNecessaryGroups(grp *Group) error + func (s *QuotaGroupSet) AllQuotaGroups() []*Group + type ResourceCPU struct + Count int + Percentage int + type ResourceCPUSet struct + CPUs []int + type ResourceJournal struct + Rate *ResourceJournalRate + Size *ResourceJournalSize + type ResourceJournalRate struct + Count int + Period time.Duration + type ResourceJournalSize struct + Limit quantity.Size + type ResourceMemory struct + Limit quantity.Size + type ResourceThreads struct + Limit int + type Resources struct + CPU *ResourceCPU + CPUSet *ResourceCPUSet + Journal *ResourceJournal + Memory *ResourceMemory + Threads *ResourceThreads + func (qr *Resources) Change(newLimits Resources) error + func (qr *Resources) CheckFeatureRequirements() error + func (qr *Resources) Unset() bool + func (qr *Resources) Validate() error + func (qr *Resources) ValidateChange(newLimits Resources) error + type ResourcesBuilder struct + CPUCount int + CPUCountSet bool + CPUPercentage int + CPUPercentageSet bool + CPUSet []int + CPUSetSet bool + JournalNamespaceSet bool + JournalRateCountLimit int + JournalRatePeriodLimit time.Duration + JournalRateSet bool + JournalSizeLimit quantity.Size + JournalSizeLimitSet bool + MemoryLimit quantity.Size + MemoryLimitSet bool + ThreadLimit int + ThreadLimitSet bool + func NewResourcesBuilder() *ResourcesBuilder + func (rb *ResourcesBuilder) Build() Resources + func (rb *ResourcesBuilder) WithCPUCount(count int) *ResourcesBuilder + func (rb *ResourcesBuilder) WithCPUPercentage(percentage int) *ResourcesBuilder + func (rb *ResourcesBuilder) WithCPUSet(cpuSet []int) *ResourcesBuilder + func (rb *ResourcesBuilder) WithJournalNamespace() *ResourcesBuilder + func (rb *ResourcesBuilder) WithJournalRate(count int, period time.Duration) *ResourcesBuilder + func (rb *ResourcesBuilder) WithJournalSize(limit quantity.Size) *ResourcesBuilder + func (rb *ResourcesBuilder) WithMemoryLimit(limit quantity.Size) *ResourcesBuilder + func (rb *ResourcesBuilder) WithThreadLimit(limit int) *ResourcesBuilder