feat: disable GA events report by setting environment DISABLE_GA=true

This commit is contained in:
debugtalk
2022-04-05 10:31:50 +08:00
parent 87db9b302e
commit 1aefc9f698
8 changed files with 30 additions and 3 deletions

View File

@@ -4,6 +4,9 @@ on:
release:
types: [created]
env:
DISABLE_GA: "true"
jobs:
releases-matrix:
name: Release hrp cli binaries

View File

@@ -6,6 +6,9 @@ on:
- master
pull_request:
env:
DISABLE_GA: "true"
jobs:
scaffold-with-python-plugin:
strategy:

View File

@@ -6,6 +6,9 @@ on:
- master
pull_request:
env:
DISABLE_GA: "true"
jobs:
smoke-test:

View File

@@ -6,6 +6,9 @@ on:
- master
pull_request:
env:
DISABLE_GA: "true"
jobs:
py-httprunner:
runs-on: ${{ matrix.os }}

View File

@@ -4,6 +4,7 @@
- refactor: merge [hrp] into httprunner v4, which will include golang and python dual engine
- refactor: redesign `IStep` to make step extensible to support implementing new protocols and test types
- feat: disable GA events report by setting environment `DISABLE_GA=true`
**go version**

View File

@@ -10,7 +10,7 @@ func TestSendEvents(t *testing.T) {
Action: "SendEvents",
Value: 123,
}
err := gaClient.SendEvent(event)
err := SendEvent(event)
if err != nil {
t.Fatal(err)
}

View File

@@ -2,6 +2,7 @@ package sdk
import (
"fmt"
"os"
"github.com/denisbrodbeck/machineid"
"github.com/getsentry/sentry-go"
@@ -46,5 +47,9 @@ func init() {
}
func SendEvent(e IEvent) error {
if os.Getenv("DISABLE_GA") == "true" {
// do not send GA events in CI environment
return nil
}
return gaClient.SendEvent(e)
}

View File

@@ -2,6 +2,7 @@ import collections
import copy
import itertools
import json
import os
import os.path
import platform
import uuid
@@ -40,8 +41,13 @@ class GAClient(object):
'cid': uuid.getnode(), # Anonymous Client ID
'ua': f'HttpRunner/{__version__}',
}
# do not send GA events in CI environment
self.__is_ci = os.getenv("DISABLE_GA") == "true"
def track_event(self, category: Text, action: Text, value: int = 0):
if self.__is_ci:
return
data = {
't': 'event', # Event hit type = event
'ec': category, # Required. Event Category.
@@ -51,11 +57,14 @@ class GAClient(object):
}
data.update(self.common_params)
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
pass
def track_user_timing(self, category: Text, variable: Text, duration: int):
if self.__is_ci:
return
data = {
't': 'timing', # Event hit type = timing
'utc': category, # Required. user timing category. e.g. jsonLoader
@@ -65,7 +74,7 @@ class GAClient(object):
}
data.update(self.common_params)
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
pass