diff options
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() +} |
