diff options
| author | Jeff Carr <[email protected]> | 2025-03-17 08:18:56 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-03-22 09:46:16 -0500 |
| commit | a97379d76fa34265221b9ab05a38c802f4a09cda (patch) | |
| tree | 138952f89d78721b7babcee92d8db4f502f6d4d5 /windowHypervisors.go | |
| parent | 46472fa86881b91786e13b0c68fe95c7fbe70775 (diff) | |
move to more common code
Diffstat (limited to 'windowHypervisors.go')
| -rw-r--r-- | windowHypervisors.go | 59 |
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() +} |
