in config/print/main.go [89:134]
func printFieldNames(b []byte) error {
type Dashboard struct {
DashboardTabs []map[string]interface{} `json:"dashboard_tab"`
}
type Config struct {
TestGroups []map[string]interface{} `json:"test_groups"`
Dashboards []Dashboard `json:"dashboards"`
DashboardGroups []map[string]interface{} `json:"dashboard_groups"`
}
var output Config
err := json.Unmarshal(b, &output)
if err != nil {
return err
}
fmt.Printf("%d test groups, %d dashboards, %d dashboard groups\n", len(output.TestGroups), len(output.Dashboards), len(output.DashboardGroups))
testGroupFields := map[string]int64{}
for _, value := range output.TestGroups {
for k := range value {
testGroupFields[k]++
}
}
fmt.Printf("Test Groups (%d fields):\n", len(testGroupFields))
for k, v := range testGroupFields {
fmt.Printf("%s,%d\n", k, v)
}
tabFields := map[string]int64{}
for _, dashboard := range output.Dashboards {
for _, val := range dashboard.DashboardTabs {
for k := range val {
tabFields[k]++
}
}
}
fmt.Printf("Dashboard Tabs (%d fields):\n", len(tabFields))
for k, v := range tabFields {
fmt.Printf("%s,%d\n", k, v)
}
fmt.Printf("Test Groups (%d fields):\n", len(testGroupFields))
for k, v := range testGroupFields {
fmt.Printf("%s,%d\n", k, v)
}
return nil
}