@@ -15,6 +15,14 @@ import (
1515
1616const DAY = 24 * time .Hour
1717
18+ func limitUsage (val time.Duration , max time.Duration ) time.Duration {
19+ if val > max {
20+ return max
21+ }
22+
23+ return val
24+ }
25+
1826func calculateUsage (start time.Time , end time.Time ) (result []v1.DailyUsage ) {
1927 start = start .UTC ()
2028 end = end .UTC ()
@@ -31,7 +39,7 @@ func _calculateUsage(current time.Time, end time.Time, duration time.Duration) [
3139 // its the same day, so we need to put the remaining duration onto the current day
3240 return []v1.DailyUsage {{
3341 Date : metav1 .NewTime (current ),
34- Usage : metav1.Duration {Duration : duration },
42+ Usage : metav1.Duration {Duration : limitUsage ( duration , DAY ) },
3543 }}
3644
3745 }
@@ -46,7 +54,7 @@ func _calculateUsage(current time.Time, end time.Time, duration time.Duration) [
4654 return append (_calculateUsage (nextDay , end , duration - usageForTheDay ),
4755 v1.DailyUsage {
4856 Date : metav1 .NewTime (current ),
49- Usage : metav1.Duration {Duration : usageForTheDay },
57+ Usage : metav1.Duration {Duration : limitUsage ( usageForTheDay , DAY ) },
5058 },
5159 )
5260}
@@ -98,7 +106,7 @@ func MergeDailyUsages(a []v1.DailyUsage, b []v1.DailyUsage) []v1.DailyUsage {
98106 }
99107 mergedList = append (mergedList , v1.DailyUsage {
100108 Date : metav1.Time {Time : t .UTC ()}, // Store as UTC for consistency
101- Usage : totalUsage ,
109+ Usage : metav1. Duration { Duration : limitUsage ( totalUsage . Duration , DAY )} ,
102110 })
103111 }
104112
0 commit comments