Metrics Glossary
Cost Metrics
Monthly Cost
Definition: Projected cost for entire month based on current resource allocation.
Formula:
text1Monthly Cost = Hourly Cost × 24 hours × 30 days
Example:
text1Hourly Cost: $0.384 2Monthly Cost: $0.384 × 24 × 30 = $276.48
Note: Uses 30 days as standard month (not actual calendar days).
Hourly Cost
Definition: Cost per hour for running resources.
Formula:
text1Hourly Cost = (CPU Cost + Memory Cost + Storage Cost)
Components:
CPU Cost:
text1CPU Cost = CPU Cores Requested × Cost per Core per Hour
Memory Cost:
text1Memory Cost = Memory GB Requested × Cost per GB per Hour
Storage Cost:
text1Storage Cost = Storage GB × Storage Cost per GB per Month / 720 hours
Example:
text1Pod requesting: 2- 2 CPU cores @ $0.04/core/hour = $0.08/hour 3- 4 GB memory @ $0.005/GB/hour = $0.02/hour 4- 50 GB storage @ $0.08/GB/month = $0.0056/hour 5 6Hourly Cost = $0.08 + $0.02 + $0.0056 = $0.1056/hour 7Monthly Cost = $0.1056 × 720 = $76.03/month
Daily Cost
Definition: Cost per 24-hour period.
Formula:
text1Daily Cost = Hourly Cost × 24
Example:
text1Hourly Cost: $0.384 2Daily Cost: $0.384 × 24 = $9.22
Allocated Cost
Definition: Cost based on resource requests (what's reserved).
Formula:
text1CPU Allocated Cost = CPU Request × CPU Unit Cost ($/core/hour) 2Memory Allocated Cost = Memory Request × Memory Unit Cost ($/GB/hour) 3 4Allocated Cost = CPU Allocated Cost + Memory Allocated Cost
Example:
text1Pod requests: 500m CPU (0.5 cores), 1Gi memory 2 3Pricing (from cloud provider or Kubeadapt-opencost deployment): 4- CPU unit cost: $0.024/core/hour 5- Memory unit cost: $0.006/GB/hour 6 7CPU allocated cost = 0.5 cores × $0.024/core/hour = $0.012/hour 8Memory allocated cost = 1 GB × $0.006/GB/hour = $0.006/hour 9 10Allocated cost = $0.012 + $0.006 = $0.018/hour 11Monthly: $0.018 × 720 = $12.96/month
Actual Cost
Definition: Cost based on resource usage (what's actually used).
Formula:
text1CPU Actual Cost = CPU Usage × CPU Unit Cost ($/core/hour) 2Memory Actual Cost = Memory Usage × Memory Unit Cost ($/GB/hour) 3 4Actual Cost = CPU Actual Cost + Memory Actual Cost
Example:
text1Pod using: 200m CPU (0.2 cores), 600Mi memory (0.6 GB) - actual usage 2 3Pricing (same as above): 4- CPU unit cost: $0.024/core/hour 5- Memory unit cost: $0.006/GB/hour 6 7CPU actual cost = 0.2 cores × $0.024/core/hour = $0.0048/hour 8Memory actual cost = 0.6 GB × $0.006/GB/hour = $0.0036/hour 9 10Actual cost = $0.0048 + $0.0036 = $0.0084/hour 11Monthly: $0.0084 × 720 = $6.05/month
Note: For right-sizing recommendations, Kubeadapt uses percentile-based usage (P95 for CPU, P99 for memory) rather than instantaneous values to ensure reliable cost optimization.
Where used:
- Efficiency calculations
- Right-sizing recommendations
- Waste identification
Idle Cost
Definition: Cost of unused/wasted resources.
Formula:
text1Idle Cost = Allocated Cost - Actual Cost
Example:
text1Allocated: $0.018/hour (based on requests) 2Actual: $0.0084/hour (based on usage) 3Idle: $0.018 - $0.0084 = $0.0096/hour wasted 4 5Monthly waste: $0.0096 × 720 = $6.91/month 6Waste percentage: ($0.0096 / $0.018) × 100% = 53% waste
Where used:
- Waste reports
- Over-provisioning detection
- Optimization opportunities
Resource Metrics
CPU Request
Definition: CPU cores reserved for a pod (guarantee from Kubernetes).
Unit: Millicores (m) or cores
Example:
text1500m = 0.5 cores = 50% of 1 CPU core 21000m = 1 core = 1 full CPU core 32000m = 2 cores
Where used:
- Cost calculations (allocated)
- Scheduling decisions
- Resource quotas
CPU Usage
Definition: Actual CPU cores consumed by a pod.
Unit: Millicores (m) or cores
Measurement: Average over time period (typically 5-minute window)
For right-sizing: Kubeadapt analyzes historical usage patterns (30-day lookback) and uses P95 percentile for production workloads, P50 for non-production.
Example:
text1Pod requests: 1000m (1 core) 2Pod using: 420m (42% of request) 3Utilization: 42%
Where used:
- Efficiency calculations
- Right-sizing recommendations
- Performance monitoring
CPU Utilization
Definition: Percentage of requested CPU actually used.
Formula:
text1CPU Utilization = (CPU Usage / CPU Request) × 100%
Example:
text1CPU Request: 1000m 2CPU Usage: 420m 3CPU Utilization: (420 / 1000) × 100% = 42%
Where used:
- Right-sizing recommendations
- Performance analysis
- Efficiency scoring
Memory Request
Definition: Memory reserved for a pod (guarantee from Kubernetes).
Unit: Bytes (Ki, Mi, Gi)
Example:
text1512Mi = 536,870,912 bytes = ~512 MB 21Gi = 1,073,741,824 bytes = ~1.07 GB 32Gi = 2,147,483,648 bytes = ~2.14 GB
Where used:
- Cost calculations
- Resource quotas
Memory Usage
Definition: Actual memory consumed by a pod.
Unit: Bytes (Ki, Mi, Gi)
Measurement: Working set memory (RSS + cache)
For right-sizing: Kubeadapt analyzes historical usage patterns (30-day lookback) and uses P99 percentile for production workloads (conservative to prevent OOM), P50 for non-production.
Example:
text1Pod requests: 2Gi 2Pod using: 1.4Gi (working set) 3Utilization: 70%
Where used:
- Efficiency calculations
- OOM risk detection
- Right-sizing
Memory Utilization
Definition: Percentage of requested memory actually used.
Formula:
text1Memory Utilization = (Memory Usage / Memory Request) × 100%
Example:
text1Memory Request: 2Gi 2Memory Usage: 1.4Gi 3Memory Utilization: (1.4 / 2) × 100% = 70%
Where used:
- Right-sizing recommendations
- OOM prevention
- Efficiency scoring
Storage Capacity
Definition: Total size of persistent volume claim.
Unit: Bytes (Gi, Ti)
Example:
text1PVC size: 100Gi
Where used:
- Storage cost calculations
- Capacity planning
Storage Usage
Definition: Actual disk space used in volume.
Unit: Bytes (Gi, Ti)
Measurement: Used bytes on filesystem
Example:
text1PVC capacity: 100Gi 2Used: 42Gi 3Utilization: 42%
Where used:
- Storage efficiency
- Growth trends
- Resize recommendations
Storage Utilization
Definition: Percentage of volume capacity used.
Formula:
text1Storage Utilization = (Storage Used / Storage Capacity) × 100%
Example:
text1Capacity: 100Gi 2Used: 42Gi 3Utilization: 42%
Interpretation:
- < 70%: Normal utilization
- 70-85%: Good utilization
-
85%: Consider expansion
Where used:
- Resize recommendations
- Waste detection
- Capacity alerts
Efficiency Metrics
Resource Efficiency
Definition: How well resources are utilized (not wasted).
Formula:
text1Resource Efficiency = (Observed Usage / Allocated Requests) × 100%
How Usage is Measured:
Kubeadapt uses percentile-based analysis to calculate observed usage:
- CPU Usage: Based on P95 percentile of actual consumption
- Memory Usage: Based on P99 percentile of actual consumption
- Time-weighted: Recent data carries more weight than older data (30-day lookback with recency bias)
The percentile approach varies by environment:
- Production workloads: P95 for CPU, P99 for memory (conservative)
- Non-production workloads: P50 for both CPU and memory (aggressive cost optimization)
For combined CPU + Memory:
text1Overall Efficiency = (CPU Efficiency + Memory Efficiency) / 2
Example:
text1CPU: 420m usage (P95) / 1000m request = 42% 2Memory: 1.4Gi usage (P99) / 2Gi request = 70% 3Overall: (42% + 70%) / 2 = 56%
Target Ranges:
- CPU: 60-75% efficiency (optimal balance between cost and performance)
- Memory: 70-85% efficiency (optimal balance between cost and OOM risk)
Where used:
- Optimization scoring
- Cluster efficiency
- Right-sizing recommendations
Bin-Packing Efficiency
Definition: How well pods fit on nodes (minimize fragmentation).
Formula:
text1Bin-Packing Efficiency = (Used Resources / Allocatable Resources) × 100%
Cluster-level:
text1Cluster Bin-Packing = Σ(All Pod Requests) / Σ(All Node Capacity)
Example:
text1Cluster total allocatable: 100 cores, 400 GB 2Total pod requests: 68 cores, 288 GB 3CPU bin-packing: 68 / 100 = 68% 4Memory bin-packing: 288 / 400 = 72% 5Overall: (68% + 72%) / 2 = 70%
Interpretation:
- < 60%: Poor utilization
- 60-75%: Good utilization
-
75%: Excellent utilization
Where used:
- Node optimization
- Cluster scaling decisions
- Instance type recommendations
Cost Efficiency
Definition: How much of allocated cost is actually used.
Formula:
text1Cost Efficiency = (Actual Cost / Allocated Cost) × 100%
Example:
text1Allocated Cost: $0.018/hour (based on requests) 2Actual Cost: $0.0084/hour (based on usage) 3Cost Efficiency: (0.0084 / 0.018) × 100% = 47% 4 5Interpretation: 47% efficiency means 53% waste
Where used:
- Savings calculations
- Waste reports
- Optimization ROI
Savings Metrics
Available Savings
Definition: Potential monthly cost reduction from optimization opportunities.
Formula:
text1Available Savings = Σ (Optimization Opportunities)
Categories:
- Over-provisioned workloads
- Orphaned resources
- Unused resources
- Storage inefficiencies
Example:
text1Over-provisioned: $1,100/month 2Orphaned: $180/month 3Unused: $40/month 4Total Available Savings: $1,320/month
Where used:
- Optimization dashboard
- ROI calculations
- Executive reporting
Savings Percentage
Definition: How much cost can be reduced as percentage of total.
Formula:
text1Savings % = (Available Savings / Total Cost) × 100%
Example:
text1Available Savings: $1,320/month 2Total Cost: $7,240/month 3Savings %: (1,320 / 7,240) × 100% = 18.2%
Where used:
- Optimization ROI
- Comparison metrics
- Executive dashboards
Implemented Savings
Definition: Actual savings achieved from implemented optimizations.
Formula:
text1Implemented Savings = Baseline Cost - Optimized Cost 2Savings % = (Implemented Savings / Baseline Cost) × 100%
Example:
text1Baseline Cost: $7,240/month 2Optimized Cost: $6,380/month 3Implemented Savings: $7,240 - $6,380 = $860/month (11.9%)
Where used:
- Tracking optimization progress
- ROI validation
- Success metrics
Allocation Metrics
Allocated %
Definition: Percentage of cluster resources allocated to specific dimension (team, namespace, etc.).
Formula:
text1Allocated % = (Dimension Cost / Total Cluster Cost) × 100%
Example:
text1Team Cost: $3,240/month 2Total Cluster Cost: $7,240/month 3Allocated %: (3,240 / 7,240) × 100% = 44.8%
Where used:
- Cost allocation
- Chargeback reports
- Team dashboards
Unallocated Cost
Definition: Cost of resources not attributed to any cost dimension.
Causes:
- Resources missing required labels
- System components (kube-system, monitoring)
- Shared infrastructure
Formula:
text1Unallocated Cost = Total Cost - Σ(Allocated Costs) 2Unallocated % = (Unallocated Cost / Total Cost) × 100%
Example:
text1Total Cost: $7,240/month 2Allocated Costs: $6,890/month 3Unallocated: $7,240 - $6,890 = $350/month (4.8%)
Where used:
- Cost allocation coverage
- Label compliance tracking
Node Metrics
Node Cost
Definition: Monthly cost of running a single node.
Formula:
text1Node Cost = Instance Hourly Rate × 24 × 30
Cost Breakdown:
For pod cost attribution, the bundled instance cost is split into separate CPU and memory components:
- GCP: Real CPU and memory unit costs from Cloud Billing API
- AWS/Azure: Calculated split using standard pricing ratios
Example:
text1m5.2xlarge: $0.384/hour 2Node cost: $0.384 × 24 × 30 = $276.48/month
Where used:
- Node-level cost tracking
- Instance type comparison
- Cluster cost breakdown
Node Utilization
Definition: Percentage of node capacity used by pods.
Formula:
text1Node Utilization = Max(CPU Utilization, Memory Utilization)
Example:
text1Node: 8 cores, 32 GB 2Pod requests: 5.4 cores, 22.1 GB 3 4CPU utilization: 5.4 / 8 = 67.5% 5Memory utilization: 22.1 / 32 = 69% 6 7Node utilization: Max(67.5%, 69%) = 69%
Note: Uses max because Kubernetes schedules based on whichever resource is most constrained.
Where used:
- Node efficiency
- Scaling decisions
- Underutilization detection
Pod Density
Definition: Number of pods per node.
Formula:
text1Pod Density = Pods Running / Node Capacity
Example:
text1Node capacity: 58 pods max 2Pods running: 24 3Pod density: 24 / 58 = 41%
Where used:
- Bin-packing analysis
- Node sizing decisions
Workload Metrics
Workload Cost
Definition: Total cost of all pods in a workload (Deployment, StatefulSet, etc.).
Formula:
text1Workload Cost = Pod Cost × Number of Replicas
Example:
text1Pod Cost: $48/month 2Replicas: 4 3Workload Cost: $48 × 4 = $192/month
Where used:
- Workload-level cost tracking
- Scaling cost impact
- Team cost allocation
Cost per Replica
Definition: Average cost of a single pod/replica.
Formula:
text1Cost per Replica = Workload Cost / Number of Replicas
Example:
text1Workload cost: $192/month 2Replicas: 4 3Cost per replica: $192 / 4 = $48/month
Where used:
- Scaling decisions
- HPA cost impact
- Cost estimation
Forecast Metrics
Projected Monthly Cost
Definition: Estimated end-of-month cost based on current daily rate.
Formula:
text1Projected Monthly = (Actual Spend / Days Elapsed) × Days in Month
Example:
text1Nov 15 (15 days elapsed): 2Actual spend: $3,630 3Projected monthly: ($3,630 / 15) × 30 = $7,260
Where used:
- Budget tracking
- Month-end projections
- Variance alerts
Run Rate
Definition: Annualized cost based on current monthly spend.
Formula:
text1Annual Run Rate = Current Monthly Cost × 12
Example:
text1November projected: $7,260 2Annual run rate: $7,260 × 12 = $87,120/year
Where used:
- Annual budget planning
- Executive reporting
- Multi-year forecasting
Overhead
Definition: Infrastructure costs not directly attributable to workloads.
Components:
- Control plane: EKS/GKE/AKS management fees (cloud-managed clusters only)
- System processes: Kubelet, kube-proxy, system daemons (all clusters)
- Idle node capacity: Unused CPU/memory after pod requests (scheduling waste)
Example:
text1Total cluster: $7,240/month 2Workload costs: $6,890/month 3Overhead: $350/month (4.8%)
Where used:
- True cost accounting
- Workload cost allocation
- Infrastructure efficiency
Calculation Notes
Time Periods
Standard periods:
- Hourly: Near real-time tracking
- Daily: 24 hours
- Monthly: 30 days (720 hours)
- Annual: 365 days
Note: Kubeadapt uses 30-day months (720 hours) for consistency.
Rounding
Display precision:
- Costs: 2 decimal places ($276.48)
- Percentages: 1 decimal place (45.7%)
- Calculations: Full precision internally
- Cost Attribution - How costs are attributed
- Resource Efficiency - How efficiency is measured
- Right-sizing - How recommendations are generated