diff options
| author | Jeff Carr <[email protected]> | 2024-10-25 03:34:39 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-10-25 03:34:39 -0500 |
| commit | 9518e70d7ad1589add6f766a92b4ed20e4010c3c (patch) | |
| tree | 1ce0a849ef91e18bcabb45d6b1236954d5237880 /change.go | |
| parent | 7b3e24740dd3f9df58a29a42a63de54715e9cba3 (diff) | |
make a change memory size event
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'change.go')
| -rw-r--r-- | change.go | 37 |
1 files changed, 31 insertions, 6 deletions
@@ -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() |
