Skip to content

Commit

Permalink
Merge pull request #617 from hashicorp/f-agent-info-sort
Browse files Browse the repository at this point in the history
Sort output of agent-info
  • Loading branch information
dadgar committed Dec 21, 2015
2 parents 25f69a6 + c8a25c6 commit bcb2ef0
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions command/agent_info.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package command

import (
"fmt"
"sort"
"strings"
)

Expand Down Expand Up @@ -53,14 +54,28 @@ func (c *AgentInfoCommand) Run(args []string) int {
return 1
}

// Sort and output agent info
var stats map[string]interface{}
stats, _ = info["stats"]
statsKeys := make([]string, 0, len(stats))
for key := range stats {
statsKeys = append(statsKeys, key)
}
sort.Strings(statsKeys)

for _, key := range statsKeys {
c.Ui.Output(key)
statsData, _ := stats[key].(map[string]interface{})
statsDataKeys := make([]string, len(statsData))
i := 0
for key := range statsData {
statsDataKeys[i] = key
i++
}
sort.Strings(statsDataKeys)

for section, data := range stats {
c.Ui.Output(section)
d, _ := data.(map[string]interface{})
for k, v := range d {
c.Ui.Output(fmt.Sprintf(" %s = %v", k, v))
for _, key := range statsDataKeys {
c.Ui.Output(fmt.Sprintf(" %s = %v", key, statsData[key]))
}
}

Expand Down

0 comments on commit bcb2ef0

Please sign in to comment.