Skip to content

Commit 5f3d081

Browse files
authored
Merge pull request #51 from arokem/popylar
Remove sentry tracking and add popylar tracking.
2 parents b98c7e9 + 79fe4e2 commit 5f3d081

File tree

4 files changed

+12
-28
lines changed

4 files changed

+12
-28
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ dist: clean ## builds source and wheel package
8787
install: clean ## install the package to the active Python's site-packages
8888
python setup.py install
8989

90-
docker: docker
90+
docker:
9191
docker build --rm -t nipreps/dmriprep:latest \
9292
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
9393
--build-arg VCS_REF=`git rev-parse --short HEAD` \

dmriprep/__about__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@
1414
DOWNLOAD_URL = (
1515
'https://github.com/nipreps/{name}/archive/{ver}.tar.gz'.format(
1616
name=__packagename__, ver=__version__))
17+
18+
__ga_id__ = "UA-156165436-1"

dmriprep/cli/run.py

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ def main():
214214
from nipype import logging as nlogging
215215
from multiprocessing import set_start_method, Process, Manager
216216
from ..utils.bids import write_derivative_description, validate_input_dir
217+
from ..__about__ import __ga_id__
217218
set_start_method('forkserver')
218219
warnings.showwarning = _warn_redirect
219220
opts = get_parser().parse_args()
@@ -229,11 +230,9 @@ def main():
229230
if os.getenv('DOCKER_VERSION_8395080871'):
230231
exec_env = 'dmriprep-docker'
231232

232-
sentry_sdk = None
233233
if not opts.notrack:
234-
import sentry_sdk
235-
from ..utils.sentry import sentry_setup
236-
sentry_setup(opts, exec_env)
234+
import popylar
235+
popylar.track_event(__ga_id__, 'run', 'cli_run')
237236

238237
# Validate inputs
239238
if not opts.skip_bids_validation:
@@ -301,27 +300,14 @@ def main():
301300
# Clean up master process before running workflow, which may create forks
302301
gc.collect()
303302

304-
# Sentry tracking
305-
if not opts.notrack:
306-
from ..utils.sentry import start_ping
307-
start_ping(run_uuid, len(subject_list))
308-
309303
errno = 1 # Default is error exit unless otherwise set
310304
try:
311305
dmriprep_wf.run(**plugin_settings)
312306
except Exception as e:
313307
if not opts.notrack:
314-
from ..utils.sentry import process_crashfile
315-
crashfolders = [output_dir / 'dmriprep' / 'sub-{}'.format(s) / 'log' / run_uuid
316-
for s in subject_list]
317-
for crashfolder in crashfolders:
318-
for crashfile in crashfolder.glob('crash*.*'):
319-
process_crashfile(crashfile)
320-
321-
if "Workflow did not execute cleanly" not in str(e):
322-
sentry_sdk.capture_exception(e)
308+
popylar.track_event(__ga_id__, 'run', 'cli_error')
323309
logger.critical('dMRIPrep failed: %s', e)
324-
raise
310+
raise e
325311
else:
326312
if opts.run_reconall:
327313
from templateflow import api
@@ -334,8 +320,8 @@ def main():
334320
errno = 0
335321
logger.log(25, 'dMRIPrep finished without errors')
336322
if not opts.notrack:
337-
sentry_sdk.capture_message('dMRIPrep finished without errors',
338-
level='info')
323+
popylar.track_event(__ga_id__, 'run', 'cli_finished')
324+
339325
finally:
340326
from niworkflows.reports import generate_reports
341327
from subprocess import check_call, CalledProcessError, TimeoutExpired
@@ -389,10 +375,6 @@ def main():
389375
packagename='dmriprep')
390376
write_derivative_description(bids_dir, output_dir / 'dmriprep')
391377

392-
if failed_reports and not opts.notrack:
393-
sentry_sdk.capture_message(
394-
'Report generation failed for %d subjects' % failed_reports,
395-
level='error')
396378
sys.exit(int((errno + failed_reports) > 0))
397379

398380

setup.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ docs =
5757
%(doc)s
5858
duecredit = duecredit
5959
resmon = psutil >=5.4
60-
sentry = sentry-sdk >=0.6.9
60+
popylar = popylar >= 0.2
6161
style =
6262
flake8 >= 3.7.0
6363
test =
@@ -72,7 +72,7 @@ all =
7272
%(doc)s
7373
%(duecredit)s
7474
%(resmon)s
75-
%(sentry)s
75+
%(popylar)s
7676
%(tests)s
7777

7878
[options.package_data]

0 commit comments

Comments
 (0)