Skip to content

Commit

Permalink
Google Analtyics fixes (#289)
Browse files Browse the repository at this point in the history
* Google Analtyics fixes

* fix style
  • Loading branch information
markurtz authored Apr 4, 2023
1 parent ebe6362 commit f6844b8
Show file tree
Hide file tree
Showing 9 changed files with 32 additions and 52 deletions.
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ensure_newline_before_comments = True
force_grid_wrap = 0
include_trailing_comma = True
known_first_party = sparsezoo,tests
known_third_party = bs4,requests,packaging,yaml,tqdm,numpy,onnx,pytest,flaky,pydantic,aiohttp,machineid,geocoder
known_third_party = bs4,requests,packaging,yaml,tqdm,numpy,onnx,pytest,flaky,pydantic,machineid,geocoder
sections = FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER

line_length = 88
Expand Down
1 change: 0 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@
"click>=7.1.2,!=8.0.0", # latest version < 8.0 + blocked version with reported bug
"protobuf>=3.12.2,<4",
"pandas>1.3",
"aiohttp>=3.8.0",
"py-machineid>=0.3.0",
"geocoder>=1.38.0",
]
Expand Down
2 changes: 1 addition & 1 deletion src/sparsezoo/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@
from .deployment_package import *
from .analytics import sparsezoo_analytics as _analytics

_analytics.send_event("python.init")
_analytics.send_event("python__init")
69 changes: 25 additions & 44 deletions src/sparsezoo/analytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@
import asyncio
import json
import os
import threading
import uuid
from functools import wraps
from typing import Dict, Optional

import aiohttp
import machineid
import requests

from sparsezoo.utils.gdpr import is_gdpr_country
from sparsezoo.version import version as sparsezoo_version
Expand Down Expand Up @@ -110,23 +111,6 @@ def send_event(
"""
Send an event
:param event_name: the name of the event to send
:param event_params: optional dictionary of parameters to send with the event
:param raise_errors: True to raise any errors that occur, False otherwise
"""
_LOOP.run_until_complete(
self.send_event_async(event_name, event_params, raise_errors)
)

async def send_event_async(
self,
event_name: str,
event_params: Optional[Dict[str, str]] = None,
raise_errors: bool = False,
):
"""
Send an event asynchronously
:param event_name: the name of the event to send
:param event_params: optional dictionary of parameters to send with the event
:param raise_errors: True to raise any errors that occur, False otherwise
Expand All @@ -137,37 +121,34 @@ async def send_event_async(
if not event_params:
event_params = {}

event_params.update(self._package_params)
event_params["package"] = self._package
event_params["version"] = self._version
payload = {
"client_id": self._client_id,
"events": [{"name": event_name, "params": event_params}],
}

try:
async with aiohttp.ClientSession() as session:
response = await session.post(
self._url,
headers={
"Content-Type": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; rv:91.0) "
"Gecko/20100101 Firefox/91.0",
},
data=json.dumps(payload),
)
def _send_request():
event_params.update(self._package_params)
event_params["package"] = self._package
event_params["version"] = self._version
payload = {
"client_id": self._client_id,
"events": [{"name": event_name, "params": event_params}],
}
headers = {
"Content-Type": "application/json",
}
data = json.dumps(payload)

try:
response = requests.post(self._url, headers=headers, data=data)
response.raise_for_status()
body = await response.read()
body = response.content
if _DEBUG:
print(body)
except Exception as err:
if _DEBUG:
print(err)

return body
except Exception as err:
if _DEBUG:
print(err)
if raise_errors:
raise err

if raise_errors:
raise err
thread = threading.Thread(target=_send_request)
thread.start()


# analytics client for sparsezoo, to disable set NM_DISABLE_ANALYTICS=1
Expand Down
2 changes: 1 addition & 1 deletion src/sparsezoo/analyze_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@

@click.command(context_settings=CONTEXT_SETTINGS)
@analyze_options
@sparsezoo_analytics.send_event_decorator("cli.main")
@sparsezoo_analytics.send_event_decorator("cli__main")
def main(model_path: str, save: Optional[str], **kwargs):
"""
Model analysis for ONNX models.
Expand Down
2 changes: 1 addition & 1 deletion src/sparsezoo/deployment_package/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from sparsezoo.deployment_package.utils.utils import recommend_stub


@sparsezoo_analytics.send_event_decorator("cli.package")
@sparsezoo_analytics.send_event_decorator("cli__package")
def deployment_package(
task: Optional[str] = None,
dataset: Optional[str] = None,
Expand Down
2 changes: 1 addition & 1 deletion src/sparsezoo/download_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def parse_args():
return parser.parse_args()


@sparsezoo_analytics.send_event_decorator("cli.download")
@sparsezoo_analytics.send_event_decorator("cli__download")
def main():
args = parse_args()
logging.basicConfig(level=logging.INFO)
Expand Down
2 changes: 1 addition & 1 deletion src/sparsezoo/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ def search(args):
print("-------------------------")


@sparsezoo_analytics.send_event_decorator("cli.main")
@sparsezoo_analytics.send_event_decorator("cli__main")
def main():
args = parse_args()
logging.basicConfig(level=logging.INFO)
Expand Down
2 changes: 1 addition & 1 deletion src/sparsezoo/model/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ class Model(Directory):
"""

def __init__(self, source: str, download_path: Optional[str] = None):
sparsezoo_analytics.send_event("python.model.init")
sparsezoo_analytics.send_event("python__model__init")
self.source = source
self._stub_params = {}

Expand Down

0 comments on commit f6844b8

Please sign in to comment.