func Resource(resource *mesos.Resource) string { var buffer bytes.Buffer buffer.WriteString(resource.GetName()) buffer.WriteString(":") if resource.GetScalar() != nil { buffer.WriteString(fmt.Sprintf("%.2f", resource.GetScalar().GetValue())) } if resource.GetRanges() != nil { for _, r := range resource.GetRanges().GetRange() { buffer.WriteString(fmt.Sprintf("[%d..%d]", r.GetBegin(), r.GetEnd())) } } return buffer.String() }
func formatResource(resource *mesosproto.Resource) string { switch resource.GetType() { case mesosproto.Value_SCALAR: if resource.GetName() == "disk" || resource.GetName() == "mem" { return units.BytesSize(resource.GetScalar().GetValue() * 1024 * 1024) } return fmt.Sprintf("%d", int(resource.GetScalar().GetValue())) case mesosproto.Value_RANGES: var ranges []string for _, r := range resource.GetRanges().GetRange() { ranges = append(ranges, fmt.Sprintf("%d-%d", r.GetBegin(), r.GetEnd())) } return strings.Join(ranges, ", ") } return "?" }