From 782a07e0ea1218bbd307b7d9e21925842e2f5bec Mon Sep 17 00:00:00 2001 From: Brian Wilson Date: Wed, 30 Oct 2013 17:09:40 -0400 Subject: [PATCH] Add datadog stats for duplicate subtask and subtask update errors. --- lms/djangoapps/instructor_task/subtasks.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lms/djangoapps/instructor_task/subtasks.py b/lms/djangoapps/instructor_task/subtasks.py index 642785e97d..7297ed7e0e 100644 --- a/lms/djangoapps/instructor_task/subtasks.py +++ b/lms/djangoapps/instructor_task/subtasks.py @@ -8,6 +8,7 @@ import math from celery.utils.log import get_task_logger from celery.states import SUCCESS, READY_STATES, RETRY +from dogapi import dog_stats_api from django.db import transaction from django.core.cache import cache @@ -361,6 +362,7 @@ def check_subtask_is_valid(entry_id, current_task_id, new_subtask_status): format_str = "Unexpected task_id '{}': unable to find subtasks of instructor task '{}': rejecting task {}" msg = format_str.format(current_task_id, entry, new_subtask_status) TASK_LOG.warning(msg) + dog_stats_api.increment('instructor_task.subtask.duplicate.nosubtasks', tags=[entry.course_id]) raise DuplicateTaskException(msg) # Confirm that the InstructorTask knows about this particular subtask. @@ -370,6 +372,7 @@ def check_subtask_is_valid(entry_id, current_task_id, new_subtask_status): format_str = "Unexpected task_id '{}': unable to find status for subtask of instructor task '{}': rejecting task {}" msg = format_str.format(current_task_id, entry, new_subtask_status) TASK_LOG.warning(msg) + dog_stats_api.increment('instructor_task.subtask.duplicate.unknown', tags=[entry.course_id]) raise DuplicateTaskException(msg) # Confirm that the InstructorTask doesn't think that this subtask has already been @@ -380,6 +383,7 @@ def check_subtask_is_valid(entry_id, current_task_id, new_subtask_status): format_str = "Unexpected task_id '{}': already completed - status {} for subtask of instructor task '{}': rejecting task {}" msg = format_str.format(current_task_id, subtask_status, entry, new_subtask_status) TASK_LOG.warning(msg) + dog_stats_api.increment('instructor_task.subtask.duplicate.completed', tags=[entry.course_id]) raise DuplicateTaskException(msg) # Confirm that the InstructorTask doesn't think that this subtask is already being @@ -393,6 +397,7 @@ def check_subtask_is_valid(entry_id, current_task_id, new_subtask_status): format_str = "Unexpected task_id '{}': already retried - status {} for subtask of instructor task '{}': rejecting task {}" msg = format_str.format(current_task_id, subtask_status, entry, new_subtask_status) TASK_LOG.warning(msg) + dog_stats_api.increment('instructor_task.subtask.duplicate.retried', tags=[entry.course_id]) raise DuplicateTaskException(msg) # Now we are ready to start working on this. Try to lock it. @@ -402,6 +407,7 @@ def check_subtask_is_valid(entry_id, current_task_id, new_subtask_status): format_str = "Unexpected task_id '{}': already being executed - for subtask of instructor task '{}'" msg = format_str.format(current_task_id, entry) TASK_LOG.warning(msg) + dog_stats_api.increment('instructor_task.subtask.duplicate.locked', tags=[entry.course_id]) raise DuplicateTaskException(msg) @@ -494,6 +500,7 @@ def update_subtask_status(entry_id, current_task_id, new_subtask_status): except Exception: TASK_LOG.exception("Unexpected error while updating InstructorTask.") transaction.rollback() + dog_stats_api.increment('instructor_task.subtask.update_exception', tags=[entry.course_id]) raise else: TASK_LOG.debug("about to commit....")