summaryrefslogtreecommitdiff
path: root/windowHypervisors.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-03-17 08:18:56 -0500
committerJeff Carr <[email protected]>2025-03-22 09:46:16 -0500
commita97379d76fa34265221b9ab05a38c802f4a09cda (patch)
tree138952f89d78721b7babcee92d8db4f502f6d4d5 /windowHypervisors.go
parent46472fa86881b91786e13b0c68fe95c7fbe70775 (diff)
move to more common code
Diffstat (limited to 'windowHypervisors.go')
-rw-r--r--windowHypervisors.go59
1 files changed, 59 insertions, 0 deletions
diff --git a/windowHypervisors.go b/windowHypervisors.go
index 31da9f6..8e3dc27 100644
--- a/windowHypervisors.go
+++ b/windowHypervisors.go
@@ -4,6 +4,7 @@
package main
import (
+ "fmt"
"sync"
"time"
@@ -103,3 +104,61 @@ func (dw *stdHypervisorTableWin) doStdHypervisors(pb *virtpb.Hypervisors) {
dw.TB.ShowTable()
}
+
+// default table protobuf window
+func (dw *stdHypervisorTableWin) doNewStdHypervisors(pb *virtpb.Hypervisors) {
+ dw.Lock()
+ defer dw.Unlock()
+
+ // erase the old table
+ if dw.TB != nil {
+ dw.TB.Delete()
+ dw.TB = nil
+ }
+
+ // init the table
+ dw.pb = pb
+ t := dw.pb.NewTable("HypervisorsPB Off")
+ t.NewUuid()
+ t.SetParent(dw.box)
+
+ // pick the columns
+ t.AddHostname()
+ t.AddMemory()
+ t.AddCpus()
+ t.AddKillcount()
+ t.AddTimeFunc("last poll", func(h *virtpb.Hypervisor) time.Time {
+ // hm := me.hmap[h]
+ // tmp := hm.lastpoll
+ // log.Info("poll age", h.Hostname, virtpb.FormatDuration(time.Since(tmp)))
+ return time.Now()
+ })
+ t.AddStringFunc("droplets", func(h *virtpb.Hypervisor) string {
+ var totalDroplets int
+ var totalUnknownDroplets int
+ // dur := time.Since(h.lastpoll)
+ // tmp := virtpb.FormatDuration(dur)
+ // fmt.Fprintln(w, h.pb.Hostname, "killcount =", h.killcount, "lastpoll:", tmp)
+ hm := me.hmap[h]
+ for name, _ := range hm.lastDroplets {
+ totalDroplets += 1
+ d := me.cluster.FindDropletByName(name)
+ if d == nil {
+ totalUnknownDroplets += 1
+ }
+ }
+ log.Printf("Total Droplets %d total libvirt only droplets = %d\n", totalDroplets, totalUnknownDroplets)
+ return fmt.Sprintf("%d", totalDroplets)
+ // return "todo"
+ })
+
+ // display the protobuf
+ dw.TB = t
+ f := func(e *virtpb.Hypervisor) {
+ log.Info("std HypervisorWindow() something here", e.Hostname)
+ // m.Enabled = true
+ }
+ dw.TB.Custom(f)
+
+ dw.TB.ShowTable()
+}