From 08a961d60fd3a1ec4b721d36e89f4dee0e382f1b Mon Sep 17 00:00:00 2001 From: Alex Dusenbery <adusenbery@edx.org> Date: Wed, 9 May 2018 13:24:35 -0400 Subject: [PATCH] EDUCATOR-2618 | Add more function_trace() to inline discussion view. --- lms/djangoapps/discussion/views.py | 45 +++++++++++++++++------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/lms/djangoapps/discussion/views.py b/lms/djangoapps/discussion/views.py index 8fb90e1b673..0ba778f96be 100644 --- a/lms/djangoapps/discussion/views.py +++ b/lms/djangoapps/discussion/views.py @@ -192,31 +192,38 @@ def inline_discussion(request, course_key, discussion_id): Renders JSON for DiscussionModules """ - course = get_course_with_access(request.user, 'load', course_key, check_if_enrolled=True) - cc_user = cc.User.from_django_user(request.user) - user_info = cc_user.to_dict() + with function_trace('get_course_and_user_info'): + course = get_course_with_access(request.user, 'load', course_key, check_if_enrolled=True) + cc_user = cc.User.from_django_user(request.user) + user_info = cc_user.to_dict() try: - threads, query_params = get_threads(request, course, user_info, discussion_id, per_page=INLINE_THREADS_PER_PAGE) + with function_trace('get_threads'): + threads, query_params = get_threads( + request, course, user_info, discussion_id, per_page=INLINE_THREADS_PER_PAGE + ) except ValueError: - return HttpResponseServerError("Invalid group_id") + return HttpResponseServerError('Invalid group_id') - with function_trace("get_metadata_for_threads"): + with function_trace('get_metadata_for_threads'): annotated_content_info = utils.get_metadata_for_threads(course_key, threads, request.user, user_info) - is_staff = has_permission(request.user, 'openclose_thread', course.id) - course_discussion_settings = get_course_discussion_settings(course.id) - group_names_by_id = get_group_names_by_id(course_discussion_settings) - course_is_divided = course_discussion_settings.division_scheme is not CourseDiscussionSettings.NONE - threads = [ - utils.prepare_content( - thread, - course_key, - is_staff, - course_is_divided, - group_names_by_id - ) for thread in threads - ] + with function_trace('determine_group_permissions'): + is_staff = has_permission(request.user, 'openclose_thread', course.id) + course_discussion_settings = get_course_discussion_settings(course.id) + group_names_by_id = get_group_names_by_id(course_discussion_settings) + course_is_divided = course_discussion_settings.division_scheme is not CourseDiscussionSettings.NONE + + with function_trace('prepare_content'): + threads = [ + utils.prepare_content( + thread, + course_key, + is_staff, + course_is_divided, + group_names_by_id + ) for thread in threads + ] return utils.JsonResponse({ 'is_commentable_divided': is_commentable_divided(course_key, discussion_id), -- GitLab