Skip to content

Commit

Permalink
formatting util numbers to match request and limit numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
robscott committed Feb 3, 2019
1 parent 96dab13 commit 6355f74
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 19 deletions.
20 changes: 10 additions & 10 deletions pkg/capacity/printer.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ func printHeaders(w *tabwriter.Writer, cm *clusterMetric, showPods bool, showUti
fmt.Fprintf(w, "* \t *\t *\t %s \t %s \t %s \t %s \t %s \t %s \n",
cm.cpu.requestString(),
cm.cpu.limitString(),
cm.cpu.utilString(),
cm.cpu.utilStringMilli(),
cm.memory.requestString(),
cm.memory.limitString(),
cm.memory.utilString())
cm.memory.utilStringMebi())

fmt.Fprintln(w, "\t\t\t\t\t\t\t\t")
}
Expand All @@ -75,10 +75,10 @@ func printHeaders(w *tabwriter.Writer, cm *clusterMetric, showPods bool, showUti
fmt.Fprintf(w, "* \t %s \t %s \t %s \t %s \t %s \t %s \n",
cm.cpu.requestString(),
cm.cpu.limitString(),
cm.cpu.utilString(),
cm.cpu.utilStringMilli(),
cm.memory.requestString(),
cm.memory.limitString(),
cm.memory.utilString())
cm.memory.utilStringMebi())

} else {
fmt.Fprintln(w, "NODE\t CPU REQUESTS \t CPU LIMITS \t MEMORY REQUESTS \t MEMORY LIMITS")
Expand All @@ -97,10 +97,10 @@ func printNode(w *tabwriter.Writer, name string, nm *nodeMetric, showPods bool,
name,
nm.cpu.requestString(),
nm.cpu.limitString(),
nm.cpu.utilString(),
nm.cpu.utilStringMilli(),
nm.memory.requestString(),
nm.memory.limitString(),
nm.memory.utilString())
nm.memory.utilStringMebi())

for _, pm := range nm.podMetrics {
fmt.Fprintf(w, "%s \t %s \t %s \t %s \t %s \t %s \t %s \t %s \t %s \n",
Expand All @@ -109,10 +109,10 @@ func printNode(w *tabwriter.Writer, name string, nm *nodeMetric, showPods bool,
pm.name,
pm.cpu.requestStringPar(nm.cpu),
pm.cpu.limitStringPar(nm.cpu),
pm.cpu.utilStringPar(nm.cpu),
pm.cpu.utilStringParMilli(nm.cpu),
pm.memory.requestStringPar(nm.memory),
pm.memory.limitStringPar(nm.memory),
pm.memory.utilStringPar(nm.memory))
pm.memory.utilStringParMebi(nm.memory))
}

fmt.Fprintln(w, "\t\t\t\t\t\t\t\t")
Expand Down Expand Up @@ -143,10 +143,10 @@ func printNode(w *tabwriter.Writer, name string, nm *nodeMetric, showPods bool,
name,
nm.cpu.requestString(),
nm.cpu.limitString(),
nm.cpu.utilString(),
nm.cpu.utilStringMilli(),
nm.memory.requestString(),
nm.memory.limitString(),
nm.memory.utilString())
nm.memory.utilStringMebi())

} else {
fmt.Fprintf(w, "%s \t %s \t %s \t %s \t %s \n", name,
Expand Down
44 changes: 35 additions & 9 deletions pkg/capacity/resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,13 @@ func (cm *clusterMetric) addPodMetric(pod *corev1.Pod) {
}

nm := cm.nodeMetrics[pod.Spec.NodeName]
nm.podMetrics[key] = cm.podMetrics[key]
nm.cpu.request.Add(req["cpu"])
nm.cpu.limit.Add(limit["cpu"])
nm.memory.request.Add(req["memory"])
nm.memory.limit.Add(limit["memory"])
if nm != nil {
nm.podMetrics[key] = cm.podMetrics[key]
nm.cpu.request.Add(req["cpu"])
nm.cpu.limit.Add(limit["cpu"])
nm.memory.request.Add(req["memory"])
nm.memory.limit.Add(limit["memory"])
}
}

func (cm *clusterMetric) addNodeMetric(nm *nodeMetric) {
Expand All @@ -94,8 +96,20 @@ func (rm *resourceMetric) limitString() string {
return resourceString(rm.limit, rm.allocatable)
}

func (rm *resourceMetric) utilString() string {
return resourceString(rm.utilization, rm.allocatable)
func (rm *resourceMetric) utilStringMilli() string {
utilPercent := float64(0)
if rm.allocatable.MilliValue() > 0 {
utilPercent = float64(rm.utilization.MilliValue()) / float64(rm.allocatable.MilliValue()) * 100
}
return fmt.Sprintf("%dm (%d%%)", rm.utilization.MilliValue(), int64(utilPercent))
}

func (rm *resourceMetric) utilStringMebi() string {
utilPercent := float64(0)
if rm.allocatable.MilliValue() > 0 {
utilPercent = float64(rm.utilization.MilliValue()) / float64(rm.allocatable.MilliValue()) * 100
}
return fmt.Sprintf("%dMi (%d%%)", rm.utilization.Value()/1048576, int64(utilPercent))
}

func (rm *resourceMetric) requestStringPar(pm *resourceMetric) string {
Expand All @@ -106,8 +120,20 @@ func (rm *resourceMetric) limitStringPar(pm *resourceMetric) string {
return resourceString(rm.limit, pm.allocatable)
}

func (rm *resourceMetric) utilStringPar(pm *resourceMetric) string {
return resourceString(rm.utilization, pm.allocatable)
func (rm *resourceMetric) utilStringParMilli(pm *resourceMetric) string {
utilPercent := float64(0)
if pm.allocatable.MilliValue() > 0 {
utilPercent = float64(rm.utilization.MilliValue()) / float64(pm.allocatable.MilliValue()) * 100
}
return fmt.Sprintf("%dm (%d%%)", rm.utilization.MilliValue(), int64(utilPercent))
}

func (rm *resourceMetric) utilStringParMebi(pm *resourceMetric) string {
utilPercent := float64(0)
if pm.allocatable.MilliValue() > 0 {
utilPercent = float64(rm.utilization.MilliValue()) / float64(pm.allocatable.MilliValue()) * 100
}
return fmt.Sprintf("%dMi (%d%%)", rm.utilization.Value()/1048576, int64(utilPercent))
}

func resourceString(actual, allocatable resource.Quantity) string {
Expand Down

0 comments on commit 6355f74

Please sign in to comment.