Skip to content

Commit db17d08

Browse files
feat(event): update ua to ga4 analytics (#268)
* feat(event): update ua to ga4 analytics Signed-off-by: Abhinandan Purkait <[email protected]> * feat(google-analytics-4): remove the usage and use common usage Signed-off-by: Abhinandan Purkait <[email protected]> --------- Signed-off-by: Abhinandan Purkait <[email protected]>
1 parent 9e0ac5b commit db17d08

11 files changed

+31
-719
lines changed

go.mod

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ go 1.19
44

55
require (
66
github.com/container-storage-interface/spec v1.8.0
7-
github.com/docker/go-units v0.4.0
8-
github.com/jpillora/go-ogle-analytics v0.0.0-20161213085824-14b04e0594ef
97
github.com/kubernetes-csi/csi-lib-utils v0.9.0
108
github.com/onsi/ginkgo v1.16.4
119
github.com/onsi/gomega v1.27.4
12-
github.com/openebs/lib-csi v0.8.0
10+
github.com/openebs/google-analytics-4 v0.1.0
11+
github.com/openebs/lib-csi v0.8.2
1312
github.com/pkg/errors v0.9.1
1413
github.com/prometheus/client_golang v1.15.1
1514
github.com/spf13/cobra v1.6.0
@@ -32,6 +31,7 @@ require (
3231
github.com/beorn7/perks v1.0.1 // indirect
3332
github.com/cespare/xxhash/v2 v2.2.0 // indirect
3433
github.com/davecgh/go-spew v1.1.1 // indirect
34+
github.com/docker/go-units v0.5.0 // indirect
3535
github.com/emicklei/go-restful/v3 v3.10.2 // indirect
3636
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
3737
github.com/fsnotify/fsnotify v1.6.0 // indirect

go.sum

+6-6
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
7171
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
7272
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
7373
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
74-
github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
75-
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
74+
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
75+
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
7676
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
7777
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
7878
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
@@ -223,8 +223,6 @@ github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7P
223223
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
224224
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
225225
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
226-
github.com/jpillora/go-ogle-analytics v0.0.0-20161213085824-14b04e0594ef h1:jLpa0vamfyIGeIJ/CfUJEWoKriw4ODeOgF1XxDvgMZ4=
227-
github.com/jpillora/go-ogle-analytics v0.0.0-20161213085824-14b04e0594ef/go.mod h1:PlwhC7q1VSK73InDzdDatVetQrTsQHIbOvcJAZzitY0=
228226
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
229227
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
230228
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@@ -312,8 +310,10 @@ github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfad
312310
github.com/onsi/gomega v1.27.3/go.mod h1:5vG284IBtfDAmDyrK+eGyZmUgUlmi+Wngqo557cZ6Gw=
313311
github.com/onsi/gomega v1.27.4 h1:Z2AnStgsdSayCMDiCU42qIz+HLqEPcgiOCXjAU/w+8E=
314312
github.com/onsi/gomega v1.27.4/go.mod h1:riYq/GJKh8hhoM01HN6Vmuy93AarCXCBGpvFDK3q3fQ=
315-
github.com/openebs/lib-csi v0.8.0 h1:lxhv/SRjS7DBz7vTLkaDPd/FJnUftofxSFTU4fdZzW0=
316-
github.com/openebs/lib-csi v0.8.0/go.mod h1:4yc0Q1thH+oU80z73zGELfrOw2yeLdLNIRmcrxBxsBc=
313+
github.com/openebs/google-analytics-4 v0.1.0 h1:6aUDbQoh1ezb+NU/MkapFKffogW4QK3WYt8g2UmENe8=
314+
github.com/openebs/google-analytics-4 v0.1.0/go.mod h1:3DkQfGCo79pZhL76Xtg0/R7LNLMttW6Bm/uP0yiZQHU=
315+
github.com/openebs/lib-csi v0.8.2 h1:HmoiZX3VXFPglwqnRPnRus7K58ixDWBa19OpPZGk2Ws=
316+
github.com/openebs/lib-csi v0.8.2/go.mod h1:4yc0Q1thH+oU80z73zGELfrOw2yeLdLNIRmcrxBxsBc=
317317
github.com/pborman/uuid v0.0.0-20170612153648-e790cca94e6c/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34=
318318
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
319319
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=

pkg/driver/controller.go

+22-11
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import (
3131

3232
clientset "github.com/openebs/lvm-localpv/pkg/generated/clientset/internalclientset"
3333
informers "github.com/openebs/lvm-localpv/pkg/generated/informer/externalversions"
34+
"github.com/openebs/lvm-localpv/pkg/version"
3435

3536
"github.com/container-storage-interface/spec/lib/go/csi"
3637
"golang.org/x/net/context"
@@ -45,12 +46,12 @@ import (
4546
"github.com/openebs/lib-csi/pkg/common/errors"
4647
schd "github.com/openebs/lib-csi/pkg/scheduler"
4748

49+
analytics "github.com/openebs/google-analytics-4/usage"
4850
lvmapi "github.com/openebs/lvm-localpv/pkg/apis/openebs.io/lvm/v1alpha1"
4951
"github.com/openebs/lvm-localpv/pkg/builder/snapbuilder"
5052
"github.com/openebs/lvm-localpv/pkg/builder/volbuilder"
5153
"github.com/openebs/lvm-localpv/pkg/lvm"
5254
csipayload "github.com/openebs/lvm-localpv/pkg/response"
53-
analytics "github.com/openebs/lvm-localpv/pkg/usage"
5455
)
5556

5657
// size constants
@@ -59,6 +60,16 @@ const (
5960
GB = 1000 * 1000 * 1000
6061
Mi = 1024 * 1024
6162
Gi = 1024 * 1024 * 1024
63+
64+
// Ping event is sent periodically
65+
Ping string = "lvm-ping"
66+
67+
// DefaultCASType Event application name constant for volume event
68+
DefaultCASType string = "lvm-localpv"
69+
70+
// LocalPVReplicaCount is the constant used by usage to represent
71+
// replication factor in LocalPV
72+
LocalPVReplicaCount string = "1"
6273
)
6374

6475
// controller is the server implementation
@@ -99,14 +110,13 @@ var SupportedVolumeCapabilityAccessModes = []*csi.VolumeCapability_AccessMode{
99110
}
100111

101112
// sendEventOrIgnore sends anonymous local-pv provision/delete events
102-
func sendEventOrIgnore(pvcName, pvName, capacity, stgType, method string) {
113+
func sendEventOrIgnore(pvcName, pvName, capacity, method string) {
103114
if lvm.GoogleAnalyticsEnabled == "true" {
104-
analytics.New().Build().ApplicationBuilder().
105-
SetVolumeType(stgType, method).
106-
SetDocumentTitle(pvName).
107-
SetCampaignName(pvcName).
115+
analytics.New().CommonBuild(DefaultCASType).ApplicationBuilder().
116+
SetVolumeName(pvName).
117+
SetVolumeClaimName(pvcName).
108118
SetLabel(analytics.EventLabelCapacity).
109-
SetReplicaCount(analytics.LocalPVReplicaCount, method).
119+
SetReplicaCount(LocalPVReplicaCount, method).
110120
SetCategory(method).
111121
SetVolumeCapacity(capacity).Send()
112122
}
@@ -232,8 +242,9 @@ func (cs *controller) init() error {
232242
go pvcInformer.Informer().Run(stopCh)
233243

234244
if lvm.GoogleAnalyticsEnabled == "true" {
235-
analytics.New().Build().InstallBuilder(true).Send()
236-
go analytics.PingCheck()
245+
analytics.RegisterVersionGetter(version.GetVersionDetails)
246+
analytics.New().CommonBuild(DefaultCASType).InstallBuilder(true).Send()
247+
go analytics.PingCheck(DefaultCASType, Ping)
237248
}
238249

239250
if cs.leakProtection, err = csipv.NewLeakProtectionController(kubeClient,
@@ -367,7 +378,7 @@ func (cs *controller) CreateVolume(
367378
}
368379
sendEventOrIgnore(params.PVCName, volName,
369380
strconv.FormatInt(int64(size), 10),
370-
"lvm-localpv", analytics.VolumeProvision)
381+
analytics.VolumeProvision)
371382

372383
topology := map[string]string{lvm.LVMTopologyKey: vol.Spec.OwnerNodeID}
373384
cntx := map[string]string{lvm.VolGroupKey: vol.Spec.VolGroup, lvm.OpenEBSCasTypeKey: lvm.LVMCasTypeName}
@@ -419,7 +430,7 @@ func (cs *controller) deleteVolume(ctx context.Context, volumeID string) error {
419430
if err = lvm.WaitForLVMVolumeDestroy(ctx, volumeID); err != nil {
420431
return err
421432
}
422-
sendEventOrIgnore("", volumeID, vol.Spec.Capacity, "lvm-localpv", analytics.VolumeDeprovision)
433+
sendEventOrIgnore("", volumeID, vol.Spec.Capacity, analytics.VolumeDeprovision)
423434
return nil
424435
}
425436

pkg/usage/const.go

-54
This file was deleted.

pkg/usage/googleanalytics.go

-54
This file was deleted.

pkg/usage/ping.go

-66
This file was deleted.

pkg/usage/ping_test.go

-56
This file was deleted.

0 commit comments

Comments
 (0)