summaryrefslogtreecommitdiff
path: root/change.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-10-25 03:34:39 -0500
committerJeff Carr <[email protected]>2024-10-25 03:34:39 -0500
commit9518e70d7ad1589add6f766a92b4ed20e4010c3c (patch)
tree1ce0a849ef91e18bcabb45d6b1236954d5237880 /change.go
parent7b3e24740dd3f9df58a29a42a63de54715e9cba3 (diff)
make a change memory size event
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'change.go')
-rw-r--r--change.go37
1 files changed, 31 insertions, 6 deletions
diff --git a/change.go b/change.go
index 95f38d7..b6bfb8d 100644
--- a/change.go
+++ b/change.go
@@ -4,6 +4,7 @@ import (
// "reflect"
"errors"
+ "fmt"
"google.golang.org/protobuf/types/known/anypb"
"google.golang.org/protobuf/types/known/wrapperspb"
@@ -12,7 +13,7 @@ import (
"go.wit.com/log"
)
-func convert(x any) *anypb.Any {
+func convertToAnypb(x any) *anypb.Any {
switch v := x.(type) {
case int64:
var a *anypb.Any
@@ -37,13 +38,37 @@ func convert(x any) *anypb.Any {
return nil
}
+func convertToString(x any) string {
+ switch v := x.(type) {
+ case int64:
+ return fmt.Sprintf("%d", x.(int64))
+ case string:
+ return x.(string)
+ case int:
+ return fmt.Sprintf("%d", x.(int64))
+ case bool:
+ if x.(bool) {
+ return "true"
+ }
+ return "false"
+ default:
+ log.Error(errors.New("Set() unknown type"), "v =", v, "x =", x)
+ return ""
+ }
+ return ""
+}
+
// Wrapping the int into a protobuf message
-func NewEvent(origval any, newval any) *pb.Event {
+func NewChangeEvent(d *pb.Droplet, origval any, newval any) *pb.Event {
var e *pb.Event
e = new(pb.Event)
- e.OrigVal = convert(origval)
- e.NewVal = convert(newval)
+ e.Droplet = d.Hostname
+ e.OrigVal = convertToString(origval)
+ e.NewVal = convertToString(newval)
+
+ // this also works, but it's a bit overkill
+ // e.NewAny = convertToAnypb(newval)
me.events.Events = append(me.events.Events, e)
return e
@@ -55,12 +80,12 @@ func (d *DropletT) SetMemory(b int64) *pb.Event {
newm := pb.HumanFormatBytes(b)
if d.pb.Memory == b {
log.Info("droplet", d.pb.Hostname, "memory unchanged", oldm, "to", newm)
- // return nil
+ return nil
}
log.Info("droplet", d.pb.Hostname, "memory change from", oldm, "to", newm)
var e *pb.Event
- e = NewEvent(d.pb.Memory, b)
+ e = NewChangeEvent(d.pb, d.pb.Memory, b)
e.FieldName = "Droplet.Memory"
stuff := me.events.FormatJSON()