(cluster *store.Cluster)
| 38 | } |
| 39 | |
| 40 | func printCluster(cluster *store.Cluster) { |
| 41 | writer := tablewriter.NewWriter(os.Stdout) |
| 42 | printLine("") |
| 43 | printLine("cluster: %s", cluster.Name) |
| 44 | printLine("version: %d\n", cluster.Version.Load()) |
| 45 | writer.SetHeader([]string{"SHARD", "NODE_ID", "ADDRESS", "ROLE", "MIGRATING"}) |
| 46 | writer.SetCenterSeparator("|") |
| 47 | for i, shard := range cluster.Shards { |
| 48 | for _, node := range shard.Nodes { |
| 49 | role := strings.ToUpper(store.RoleSlave) |
| 50 | if node.IsMaster() { |
| 51 | role = strings.ToUpper(store.RoleMaster) |
| 52 | } |
| 53 | migratingStatus := "NO" |
| 54 | if shard.IsMigrating() { |
| 55 | migratingStatus = fmt.Sprintf("%s --> %d", shard.MigratingSlot, shard.TargetShardIndex) |
| 56 | } |
| 57 | columns := []string{fmt.Sprintf("%d", i), node.ID(), node.Addr(), role, migratingStatus} |
| 58 | writer.Append(columns) |
| 59 | } |
| 60 | } |
| 61 | writer.Render() |
| 62 | } |
no test coverage detected