c/b/b/webug: add tag count table

Change-Id: I9662f00629335a656c401f66c798575f7db57842
Reviewed-on: https://review.monogon.dev/c/monogon/+/1583
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/cloud/bmaas/bmdb/webug/views.go b/cloud/bmaas/bmdb/webug/views.go
index 7e6d91f..f47ece7 100644
--- a/cloud/bmaas/bmdb/webug/views.go
+++ b/cloud/bmaas/bmdb/webug/views.go
@@ -45,12 +45,20 @@
 	}
 	duration := time.Since(start)
 
+	tagCount := make(map[string]int)
+	for _, d := range res.Data {
+		for _, t := range d.Tags {
+			tagCount[t.Type.Name()]++
+		}
+	}
+
 	type params struct {
 		Base       baseParams
 		Query      string
 		Machines   []*reflection.Machine
 		NMachines  int
 		RenderTime time.Duration
+		TagCount   map[string]int
 	}
 	err = templates.ExecuteTemplate(w, "machines.html", &params{
 		Base:       s.makeBase(),
@@ -58,6 +66,7 @@
 		Machines:   res.Data,
 		NMachines:  len(res.Data),
 		RenderTime: duration,
+		TagCount:   tagCount,
 	})
 	if err != nil {
 		klog.Errorf("Template rendering failed: %v", err)