From 5b9725f98db1a31a852679d518704e0edf21f287 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Mon, 12 Jun 2023 20:18:19 -0700 Subject: [PATCH] Back integrate with patchy --- client.go | 13 +++++++++---- event.go | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/client.go b/client.go index 9cf6fd3..1666569 100644 --- a/client.go +++ b/client.go @@ -11,6 +11,9 @@ import ( "github.com/go-resty/resty/v2" ) +// TODO: Switch to opentelemetry protocol +// TODO: Add protocol-level tests + type Client struct { targets []*Target hooks []Hook @@ -43,16 +46,18 @@ func (c *Client) AddTarget(url string, headers map[string]string, writePeriodSec return target } -func (c *Client) AddHook(hook Hook) { +func (c *Client) AddHook(hook Hook) *Client { c.mu.Lock() defer c.mu.Unlock() c.hooks = append(c.hooks, hook) + + return c } func (c *Client) Log(ctx context.Context, vals ...any) { - ev := newEvent("log", vals...) - c.writeEvent(ctx, ev) + ev := NewEvent("log", vals...) + c.WriteEvent(ctx, ev) parts := []string{} @@ -72,7 +77,7 @@ func (c *Client) Close() { } } -func (c *Client) writeEvent(ctx context.Context, ev *Event) { +func (c *Client) WriteEvent(ctx context.Context, ev *Event) { ev.Set("durationMS", time.Since(ev.start).Milliseconds()) c.mu.Lock() diff --git a/event.go b/event.go index 7dd24f6..f0a6f17 100644 --- a/event.go +++ b/event.go @@ -10,7 +10,7 @@ type Event struct { Data map[string]any `json:"data"` } -func newEvent(eventType string, vals ...any) *Event { +func NewEvent(eventType string, vals ...any) *Event { now := time.Now() ev := &Event{