Pull sorting into separate function
This commit is contained in:
parent
ce61ef6170
commit
2327149854
|
@ -145,7 +145,7 @@ func (c *cmd) Run(args []string) int {
|
||||||
}
|
}
|
||||||
|
|
||||||
//Restructures stats given above to be human readable
|
//Restructures stats given above to be human readable
|
||||||
formattedStats, formattedStatsKV := generatetypeStats(info)
|
formattedStats, formattedStatsKV := generateStats(info)
|
||||||
|
|
||||||
in := &OutputFormat{
|
in := &OutputFormat{
|
||||||
Meta: metaformat,
|
Meta: metaformat,
|
||||||
|
@ -171,22 +171,14 @@ type typeStats struct {
|
||||||
Count int
|
Count int
|
||||||
}
|
}
|
||||||
|
|
||||||
func generatetypeStats(info SnapshotInfo) ([]typeStats, []typeStats) {
|
func generateStats(info SnapshotInfo) ([]typeStats, []typeStats) {
|
||||||
ss := make([]typeStats, 0, len(info.Stats))
|
ss := make([]typeStats, 0, len(info.Stats))
|
||||||
|
|
||||||
for _, s := range info.Stats {
|
for _, s := range info.Stats {
|
||||||
ss = append(ss, s)
|
ss = append(ss, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort the stat slice
|
ss = sortTypeStats(ss)
|
||||||
sort.Slice(ss, func(i, j int) bool {
|
|
||||||
if ss[i].Sum == ss[j].Sum {
|
|
||||||
// sort alphabetically if size is equal
|
|
||||||
return ss[i].Name < ss[j].Name
|
|
||||||
}
|
|
||||||
|
|
||||||
return ss[i].Sum > ss[j].Sum
|
|
||||||
})
|
|
||||||
|
|
||||||
if len(info.StatsKV) > 0 {
|
if len(info.StatsKV) > 0 {
|
||||||
ks := make([]typeStats, 0, len(info.StatsKV))
|
ks := make([]typeStats, 0, len(info.StatsKV))
|
||||||
|
@ -195,15 +187,7 @@ func generatetypeStats(info SnapshotInfo) ([]typeStats, []typeStats) {
|
||||||
ks = append(ks, s)
|
ks = append(ks, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort the kv stat slice
|
ks = sortTypeStats(ks)
|
||||||
sort.Slice(ks, func(i, j int) bool {
|
|
||||||
if ks[i].Sum == ks[j].Sum {
|
|
||||||
// sort alphabetically if size is equal
|
|
||||||
return ks[i].Name < ks[j].Name
|
|
||||||
}
|
|
||||||
|
|
||||||
return ks[i].Sum > ks[j].Sum
|
|
||||||
})
|
|
||||||
|
|
||||||
return ss, ks
|
return ss, ks
|
||||||
}
|
}
|
||||||
|
@ -211,6 +195,20 @@ func generatetypeStats(info SnapshotInfo) ([]typeStats, []typeStats) {
|
||||||
return ss, nil
|
return ss, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sort the stat slice
|
||||||
|
func sortTypeStats(stats []typeStats) []typeStats {
|
||||||
|
sort.Slice(stats, func(i, j int) bool {
|
||||||
|
// sort alphabetically if size is equal
|
||||||
|
if stats[i].Sum == stats[j].Sum {
|
||||||
|
return stats[i].Name < stats[j].Name
|
||||||
|
}
|
||||||
|
|
||||||
|
return stats[i].Sum > stats[j].Sum
|
||||||
|
})
|
||||||
|
|
||||||
|
return stats
|
||||||
|
}
|
||||||
|
|
||||||
// countingReader helps keep track of the bytes we have read
|
// countingReader helps keep track of the bytes we have read
|
||||||
// when reading snapshots
|
// when reading snapshots
|
||||||
type countingReader struct {
|
type countingReader struct {
|
||||||
|
|
Loading…
Reference in New Issue