Documentation ¶
Index ¶
- Constants
- type Cache
- type Handler
- type PodMetrics
- func (pm *PodMetrics) Delete(podUID string)
- func (pm *PodMetrics) Get(podUID string) *unstructured.Unstructured
- func (pm *PodMetrics) GetAll(namespace string, _ string) []unstructured.Unstructured
- func (pm *PodMetrics) GetCount() int
- func (pm *PodMetrics) GetHistoricalUsage() []Usage
- func (pm *PodMetrics) GetUsage() (cpu float64, mem float64)
- func (pm *PodMetrics) Update(podUID string, metrics *unstructured.Unstructured)
- type ResourceList
- type Usage
Constants ¶
const ( Added = "ADDED" Modified = "MODIFIED" Deleted = "DELETED" )
const MAX_HISTORY_LENGTH = 200
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct { // Core resources Events *ResourceList Namespaces *ResourceList Nodes *ResourceList // Workload resources Pods *ResourceList Deployments *ResourceList Daemonsets *ResourceList Statefulsets *ResourceList Jobs *ResourceList CronJobs *ResourceList // UDS resources UDSPackages *ResourceList UDSExemptions *ResourceList // Config resources Configmaps *ResourceList Secrets *ResourceList // Cluster ops resources MutatingWebhooks *ResourceList ValidatingWebhooks *ResourceList HPAs *ResourceList PriorityClasses *ResourceList RuntimeClasses *ResourceList PodDisruptionBudgets *ResourceList LimitRanges *ResourceList ResourceQuotas *ResourceList // Network resources Services *ResourceList NetworkPolicies *ResourceList Endpoints *ResourceList VirtualServices *ResourceList // Storage resources PersistentVolumes *ResourceList PersistentVolumeClaims *ResourceList StorageClasses *ResourceList // Metrics PodMetrics *PodMetrics MetricsChanges chan struct{} // contains filtered or unexported fields }
func (*Cache) CalculateUsage ¶ added in v0.2.0
func (c *Cache) CalculateUsage(metrics *v1beta1.PodMetrics) (float64, float64)
Update the CalculateUsage function
type Handler ¶
type Handler cache.ResourceEventHandlerFuncs
type PodMetrics ¶
func NewPodMetrics ¶
func NewPodMetrics() *PodMetrics
func (*PodMetrics) Delete ¶
func (pm *PodMetrics) Delete(podUID string)
Delete removes the metrics for a pod from the cache
func (*PodMetrics) Get ¶
func (pm *PodMetrics) Get(podUID string) *unstructured.Unstructured
Get returns the metrics for a pod in the cache
func (*PodMetrics) GetAll ¶
func (pm *PodMetrics) GetAll(namespace string, _ string) []unstructured.Unstructured
GetAll returns all metrics in the cache with optional filtering by namespace, second argument is ignored
func (*PodMetrics) GetCount ¶ added in v0.2.0
func (pm *PodMetrics) GetCount() int
GetCount returns the number of metrics in the cache
func (*PodMetrics) GetHistoricalUsage ¶ added in v0.2.0
func (pm *PodMetrics) GetHistoricalUsage() []Usage
GetHistoricalUsage returns the historical usage data
func (*PodMetrics) GetUsage ¶ added in v0.2.0
func (pm *PodMetrics) GetUsage() (cpu float64, mem float64)
GetUsage returns the current CPU and memory usage
func (*PodMetrics) Update ¶
func (pm *PodMetrics) Update(podUID string, metrics *unstructured.Unstructured)
Update updates the metrics for a pod in the cache
type ResourceList ¶
type ResourceList struct { Resources map[string]*unstructured.Unstructured SparseResources map[string]*unstructured.Unstructured HasSynced cache.InformerSynced Changes chan struct{} // contains filtered or unexported fields }
ResourceList is a thread-safe struct to store the list of resources and notify subscribers of changes.
func NewResourceList ¶
func NewResourceList(informer cache.SharedIndexInformer, gvk schema.GroupVersionKind) *ResourceList
NewResourceList initializes a ResourceList and sets up event handlers for resource changes.
func (*ResourceList) GetResource ¶
func (r *ResourceList) GetResource(uid string) (unstructured.Unstructured, bool)
GetResource returns a resource by UID.
func (*ResourceList) GetResources ¶
func (r *ResourceList) GetResources(namespace string, namePartial string) []unstructured.Unstructured
GetResources returns a slice of the current resources.
func (*ResourceList) GetSparseResources ¶
func (r *ResourceList) GetSparseResources(namespace string, namePartial string) []unstructured.Unstructured
GetSparseResources returns a slice of the current resources with only metadata and status fields.