diff --git a/rhodecode/api/__init__.py b/rhodecode/api/__init__.py --- a/rhodecode/api/__init__.py +++ b/rhodecode/api/__init__.py @@ -177,6 +177,10 @@ def exception_view(exc, request): exc_info = exc.exc_info() store_exception(id(exc_info), exc_info, prefix='rhodecode-api') + statsd = request.registry.statsd + if statsd: + statsd.incr('rhodecode_exception', tags=["api"]) + return jsonrpc_error(request, fault_message, rpc_id) diff --git a/rhodecode/lib/celerylib/loader.py b/rhodecode/lib/celerylib/loader.py --- a/rhodecode/lib/celerylib/loader.py +++ b/rhodecode/lib/celerylib/loader.py @@ -170,12 +170,16 @@ def task_retry_signal( def task_failure_signal( task_id, exception, args, kwargs, traceback, einfo, **kargs): from rhodecode.lib.exc_tracking import store_exception + from rhodecode.lib.statsd_client import StatsdClient meta.Session.remove() # simulate sys.exc_info() exc_info = (einfo.type, einfo.exception, einfo.tb) store_exception(id(exc_info), exc_info, prefix='rhodecode-celery') + statsd = StatsdClient.statsd + if statsd: + statsd.incr('rhodecode_exception', tags=["celery"]) closer = celery_app.conf['PYRAMID_CLOSER'] if closer: