diff --git a/internal/ga/client_test.go b/internal/ga/client_test.go index a1e1cae4..d1c29a72 100644 --- a/internal/ga/client_test.go +++ b/internal/ga/client_test.go @@ -8,7 +8,7 @@ func TestSendEvents(t *testing.T) { event := EventTracking{ Category: "unittest", Action: "SendEvents", - Value: "123", + Value: 123, } err := gaClient.SendEvent(event) if err != nil { @@ -21,7 +21,7 @@ func TestStructToUrlValues(t *testing.T) { Category: "unittest", Action: "convert", Label: "v0.3.0", - Value: "123", + Value: 123, } val := structToUrlValues(event) if val.Encode() != "ea=convert&ec=unittest&el=v0.3.0&ev=123" { diff --git a/internal/ga/events.go b/internal/ga/events.go index 2044d196..99e91179 100644 --- a/internal/ga/events.go +++ b/internal/ga/events.go @@ -17,7 +17,7 @@ type EventTracking struct { Category string `form:"ec"` // Required. Event Category. Action string `form:"ea"` // Required. Event Action. Label string `form:"el"` // Optional. Event label, used as version. - Value string `form:"ev"` // Optional. Event value, must be digits, "123" + Value int `form:"ev"` // Optional. Event value, must be non-negative integer } func (e EventTracking) StartTiming(variable string) UserTimingTracking { diff --git a/plugin.go b/plugin.go index 6a5cf1f7..7748e207 100644 --- a/plugin.go +++ b/plugin.go @@ -35,10 +35,16 @@ func (p *parser) loadPlugin(path string) error { } // report event for loading go plugin - go ga.SendEvent(ga.EventTracking{ - Category: "LoadGoPlugin", - Action: "plugin.Open", - }) + defer func() { + event := ga.EventTracking{ + Category: "LoadGoPlugin", + Action: "plugin.Open", + } + if err != nil { + event.Value = 1 // failed + } + go ga.SendEvent(event) + }() // load plugin plugins, err := plugin.Open(pluginPath)