コード例 #1
0
ファイル: pretty.go プロジェクト: elodina/stack-deploy
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()
}
コード例 #2
0
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 "?"
}