From 6de25bf5fe4e68e8ef55c6eca02a8b3ebff54b67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s=20Rocha?= Date: Wed, 4 Sep 2013 18:55:00 -0400 Subject: [PATCH] Monitor event tracking time by backend using statsd --- common/djangoapps/track/tracker.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/common/djangoapps/track/tracker.py b/common/djangoapps/track/tracker.py index e905f118c3..0014d98eef 100644 --- a/common/djangoapps/track/tracker.py +++ b/common/djangoapps/track/tracker.py @@ -21,6 +21,8 @@ below:: import inspect from importlib import import_module +from dogapi import dog_stats_api + from django.conf import settings from track.backends import BaseBackend @@ -81,14 +83,17 @@ def _instantiate_backend_from_name(name, options): return backend +@dog_stats_api.timed('track.send') def send(event): """ Send an event object to all the initialized backends. """ - for backend in backends.itervalues(): - backend.send(event) + dog_stats_api.increment('track.send.count') + for name, backend in backends.iteritems(): + with dog_stats_api.timer('track.send.backend.{0}'.format(name)): + backend.send(event) _initialize_backends_from_django_settings()