Google Analytics 4
Track and monitor your Go programs for free with Google Analytics
The ga
package is essentially a Go wrapper around the Google Analytics - Measurement Protocol (Google Analytics 4)
Install
go get -v github.com/openebs/google-analytics-4
API
Create a new client
and Send()
an 'event'.
Quick Usage
-
Log into GA and create a new property and note its Measurement ID
-
Create a ga-test.go
file
package main
import (
"fmt"
gaClient "github.com/openebs/google-analytics-4/pkg/client"
gaEvent "github.com/openebs/google-analytics-4/pkg/event"
)
func main() {
client, err := gaClient.NewMeasurementClient(
gaClient.WithApiSecret("<api-secret>"),
gaClient.WithMeasurementId("<measurement-id>"),
gaClient.WithClientId("<client-id>"),
)
if err != nil {
panic(err)
}
event := gaEvent.NewOpenebsEventBuilder().
Project("OpenEBS").
K8sVersion("v1.25.15").
EngineName("test-engine").
EngineVersion("v1.0.0").
K8sDefaultNsUid("f5d2a546-19ce-407d-99d4-0655d67e2f76").
EngineInstaller("helm").
NodeOs("Ubuntu 20.04.6 LTS").
NodeArch("linux/amd64").
NodeKernelVersion("5.4.0-165-generic").
VolumeName("pvc-b3968e30-9020-4011-943a-7ab338d5f19f").
VolumeClaimName("openebs-lvmpv").
Category("volume-deprovision").
NodeCount("3").
Build()
err = client.Send(event)
if err != nil {
panic(err)
}
fmt.Println("Event fired!")
}
-
In GA, go to Report > Realtime
-
Run ga-test.go
$ go run ga-test.go
Event fired!
-
Watch as your event appears