Skip to content

Commit dd520fb

Browse files
chore: set account details for honeycomb metrics (#1515)
Signed-off-by: Darren Murray <[email protected]>
1 parent 3ac46ed commit dd520fb

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

api/metrics.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,41 @@
1818

1919
package api
2020

21+
import "runtime"
22+
2123
// MetricsService is a service that sends events to Lacework APIv2 Server metrics endpoint
2224
type MetricsService struct {
2325
client *Client
2426
}
2527

2628
func (svc *MetricsService) Send(event Honeyvent) (response HoneyEventResponse, err error) {
29+
event.setAccountDetails(*svc.client)
2730
err = svc.client.RequestEncoderDecoder("POST", apiV2HoneyMetrics, event, &response)
2831
return
2932
}
3033

34+
func NewHoneyvent(version, feature, dataset string) Honeyvent {
35+
event := Honeyvent{
36+
Os: runtime.GOOS,
37+
Arch: runtime.GOARCH,
38+
TraceID: newID(),
39+
Version: version,
40+
Dataset: dataset,
41+
Feature: feature,
42+
}
43+
44+
return event
45+
}
46+
47+
func (h *Honeyvent) setAccountDetails(client Client) {
48+
if h.Account == "" {
49+
h.Account = client.account
50+
}
51+
if h.Subaccount == "" {
52+
h.Subaccount = client.subaccount
53+
}
54+
}
55+
3156
// Honeyvent defines what a Honeycomb event looks like for the Lacework CLI
3257
type Honeyvent struct {
3358
Version string `json:"version"`

0 commit comments

Comments
 (0)