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)
go get -v github.com/openebs/google-analytics-4
Create a new client
and Send()
an 'event'.
-
Log into GA and create a new property and note its Measurement ID
-
Create a
ga-test.go
filepackage 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