fix: report GA event with value to indicate failure

This commit is contained in:
debugtalk
2022-01-08 12:35:54 +08:00
parent e596bddda7
commit 2598691c69
3 changed files with 13 additions and 7 deletions

View File

@@ -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" {

View File

@@ -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 {

View File

@@ -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)