change: do not send GA events in CI environment

This commit is contained in:
debugtalk
2022-04-05 10:34:53 +08:00
parent 87db9b302e
commit 9eac87543e
3 changed files with 17 additions and 3 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ func TestSendEvents(t *testing.T) {
Action: "SendEvents", Action: "SendEvents",
Value: 123, Value: 123,
} }
err := gaClient.SendEvent(event) err := SendEvent(event)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
+5
View File
@@ -2,6 +2,7 @@ package sdk
import ( import (
"fmt" "fmt"
"os"
"github.com/denisbrodbeck/machineid" "github.com/denisbrodbeck/machineid"
"github.com/getsentry/sentry-go" "github.com/getsentry/sentry-go"
@@ -46,5 +47,9 @@ func init() {
} }
func SendEvent(e IEvent) error { func SendEvent(e IEvent) error {
if os.Getenv("CI") == "true" {
// do not send GA events in CI environment
return nil
}
return gaClient.SendEvent(e) return gaClient.SendEvent(e)
} }
+11 -2
View File
@@ -2,6 +2,7 @@ import collections
import copy import copy
import itertools import itertools
import json import json
import os
import os.path import os.path
import platform import platform
import uuid import uuid
@@ -40,8 +41,13 @@ class GAClient(object):
'cid': uuid.getnode(), # Anonymous Client ID 'cid': uuid.getnode(), # Anonymous Client ID
'ua': f'HttpRunner/{__version__}', 'ua': f'HttpRunner/{__version__}',
} }
# do not send GA events in CI environment
self.__is_ci = os.getenv("CI") == "true"
def track_event(self, category: Text, action: Text, value: int = 0): def track_event(self, category: Text, action: Text, value: int = 0):
if self.__is_ci:
return
data = { data = {
't': 'event', # Event hit type = event 't': 'event', # Event hit type = event
'ec': category, # Required. Event Category. 'ec': category, # Required. Event Category.
@@ -51,11 +57,14 @@ class GAClient(object):
} }
data.update(self.common_params) data.update(self.common_params)
try: try:
self.http_client.post(self.report_url, data=data) self.http_client.post(self.report_url, data=data, timeout=5)
except Exception: # ProxyError, SSLError, ConnectionError except Exception: # ProxyError, SSLError, ConnectionError
pass pass
def track_user_timing(self, category: Text, variable: Text, duration: int): def track_user_timing(self, category: Text, variable: Text, duration: int):
if self.__is_ci:
return
data = { data = {
't': 'timing', # Event hit type = timing 't': 'timing', # Event hit type = timing
'utc': category, # Required. user timing category. e.g. jsonLoader 'utc': category, # Required. user timing category. e.g. jsonLoader
@@ -65,7 +74,7 @@ class GAClient(object):
} }
data.update(self.common_params) data.update(self.common_params)
try: try:
self.http_client.post(self.report_url, data=data) self.http_client.post(self.report_url, data=data, timeout=5)
except Exception: # ProxyError, SSLError, ConnectionError except Exception: # ProxyError, SSLError, ConnectionError
pass pass