Documentation
¶
Index ¶
- type Calculator
- func (c *Calculator) AggregateWorkloadResources(baseResource tfv1.Resource, replicas int32) tfv1.Resource
- func (c *Calculator) ApplyUsageOperation(currentUsage, available *tfv1.GPUResourceUsage, operation *ResourceOperation, ...)
- func (c *Calculator) CalculateActualDeallocation(currentUsage *tfv1.GPUResourceUsage, operation *ResourceOperation) *ResourceOperation
- func (c *Calculator) CalculateAvailablePercent(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) *tfv1.GPUResourceAvailablePercent
- func (c *Calculator) CalculateUsagePercent(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) map[string]int64
- func (c *Calculator) CopyUsageToTotal(quota *tfv1.GPUResourceQuota) *tfv1.GPUResourceUsage
- func (c *Calculator) CreateStandardConditions(exceeded, alertReached bool, alertThreshold int32) []metav1.Condition
- func (c *Calculator) CreateZeroUsage() *tfv1.GPUResourceUsage
- func (c *Calculator) DecreaseUsage(usage *tfv1.GPUResourceUsage, operation *ResourceOperation)
- func (c *Calculator) IncreaseUsage(usage *tfv1.GPUResourceUsage, operation *ResourceOperation)
- func (c *Calculator) IsAlertThresholdReached(availablePercent *tfv1.GPUResourceAvailablePercent, threshold int32) bool
- func (c *Calculator) IsQuotaExceeded(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) bool
- func (c *Calculator) NewResourceOperation(baseResource tfv1.Resource, replicas int32) *ResourceOperation
- func (c *Calculator) NewResourceOperationFromUsage(usage *tfv1.GPUResourceUsage) *ResourceOperation
- func (c *Calculator) SafeAdd(a *resource.Quantity, b resource.Quantity)
- func (c *Calculator) SafeSub(a *resource.Quantity, b resource.Quantity)
- func (c *Calculator) UpdateAvailableQuota(available *tfv1.GPUResourceUsage, operation *ResourceOperation, ...)
- type ResourceOperation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Calculator ¶
type Calculator struct{}
Calculator provides shared quota calculation logic
func (*Calculator) AggregateWorkloadResources ¶
func (c *Calculator) AggregateWorkloadResources(baseResource tfv1.Resource, replicas int32) tfv1.Resource
AggregateWorkloadResources aggregates workload resources with replicas
func (*Calculator) ApplyUsageOperation ¶
func (c *Calculator) ApplyUsageOperation(currentUsage, available *tfv1.GPUResourceUsage, operation *ResourceOperation, isIncrease bool)
ApplyUsageOperation atomically applies a usage operation (increase or decrease)
func (*Calculator) CalculateActualDeallocation ¶
func (c *Calculator) CalculateActualDeallocation(currentUsage *tfv1.GPUResourceUsage, operation *ResourceOperation) *ResourceOperation
CalculateActualDeallocation calculates actual deallocation amounts clamped to current usage
func (*Calculator) CalculateAvailablePercent ¶
func (c *Calculator) CalculateAvailablePercent(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) *tfv1.GPUResourceAvailablePercent
CalculateAvailablePercent calculates available percentage for each resource
func (*Calculator) CalculateUsagePercent ¶
func (c *Calculator) CalculateUsagePercent(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) map[string]int64
CalculateUsagePercent calculates usage percentage for alert checking
func (*Calculator) CopyUsageToTotal ¶
func (c *Calculator) CopyUsageToTotal(quota *tfv1.GPUResourceQuota) *tfv1.GPUResourceUsage
CopyUsageToTotal copies available quota from total quota specification
func (*Calculator) CreateStandardConditions ¶
func (c *Calculator) CreateStandardConditions(exceeded, alertReached bool, alertThreshold int32) []metav1.Condition
CreateStandardConditions creates standard quota conditions
func (*Calculator) CreateZeroUsage ¶
func (c *Calculator) CreateZeroUsage() *tfv1.GPUResourceUsage
CreateZeroUsage creates a zero-initialized usage object
func (*Calculator) DecreaseUsage ¶
func (c *Calculator) DecreaseUsage(usage *tfv1.GPUResourceUsage, operation *ResourceOperation)
DecreaseUsage safely decreases resource usage with bounds checking
func (*Calculator) IncreaseUsage ¶
func (c *Calculator) IncreaseUsage(usage *tfv1.GPUResourceUsage, operation *ResourceOperation)
IncreaseUsage safely increases resource usage
func (*Calculator) IsAlertThresholdReached ¶
func (c *Calculator) IsAlertThresholdReached(availablePercent *tfv1.GPUResourceAvailablePercent, threshold int32) bool
IsAlertThresholdReached checks if alert threshold is reached for any resource
func (*Calculator) IsQuotaExceeded ¶
func (c *Calculator) IsQuotaExceeded(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) bool
IsQuotaExceeded checks if any quota limit is exceeded
func (*Calculator) NewResourceOperation ¶
func (c *Calculator) NewResourceOperation(baseResource tfv1.Resource, replicas int32) *ResourceOperation
NewResourceOperation creates a resource operation from base resource and replicas
func (*Calculator) NewResourceOperationFromUsage ¶
func (c *Calculator) NewResourceOperationFromUsage(usage *tfv1.GPUResourceUsage) *ResourceOperation
NewResourceOperationFromUsage creates a resource operation from current usage
func (*Calculator) SafeAdd ¶
func (c *Calculator) SafeAdd(a *resource.Quantity, b resource.Quantity)
SafeAdd safely adds quantities with nil checks
func (*Calculator) SafeSub ¶
func (c *Calculator) SafeSub(a *resource.Quantity, b resource.Quantity)
SafeSub safely subtracts b from a, ensuring a doesn't go negative
func (*Calculator) UpdateAvailableQuota ¶
func (c *Calculator) UpdateAvailableQuota(available *tfv1.GPUResourceUsage, operation *ResourceOperation, isIncrease bool)
UpdateAvailableQuota updates available quota after usage change