diff --git a/common/djangoapps/course_modes/views.py b/common/djangoapps/course_modes/views.py index 25f324c0d706297e9b8aaa1266b80da95a6bc122..9d98ac9c664daa8793d5fccfff0970bf2fd7b32c 100644 --- a/common/djangoapps/course_modes/views.py +++ b/common/djangoapps/course_modes/views.py @@ -5,6 +5,7 @@ from __future__ import absolute_import, unicode_literals import decimal import json +import logging import six import six.moves.urllib.error @@ -21,6 +22,7 @@ from django.utils.decorators import method_decorator from django.utils.translation import get_language, to_locale from django.utils.translation import ugettext as _ from django.views.generic.base import View +from edx_django_utils.monitoring.utils import increment from ipware.ip import get_ip from opaque_keys.edx.keys import CourseKey from six import text_type @@ -41,6 +43,9 @@ from util.db import outer_atomic from xmodule.modulestore.django import modulestore +LOG = logging.getLogger(__name__) + + class ChooseModeView(View): """View used when the user is asked to pick a mode. @@ -94,6 +99,13 @@ class ChooseModeView(View): return redirect(embargo_redirect) enrollment_mode, is_active = CourseEnrollment.enrollment_mode_for_user(request.user, course_key) + + increment('track-selection.{}.{}'.format(enrollment_mode, 'active' if is_active else 'inactive')) + increment('track-selection.views') + + if enrollment_mode is None: + LOG.info('Rendering track selection for unenrolled user, referred by %s', request.META.get('HTTP_REFERER')) + modes = CourseMode.modes_for_course_dict(course_key) ecommerce_service = EcommerceService()