From 3f9027d05e9b29a299964a62e4699ae99907ff3d Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 13 Aug 2015 16:32:24 -0400 Subject: [PATCH] Log delete_many calls and metrics --- lms/djangoapps/courseware/user_state_client.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/user_state_client.py b/lms/djangoapps/courseware/user_state_client.py index 790d110077..5827f658e5 100644 --- a/lms/djangoapps/courseware/user_state_client.py +++ b/lms/djangoapps/courseware/user_state_client.py @@ -245,13 +245,21 @@ class DjangoXBlockUserStateClient(XBlockUserStateClient): Arguments: username: The name of the user whose state should be deleted - block_key (UsageKey): The UsageKey identifying which xblock state to delete. + block_keys (list): The UsageKey identifying which xblock state to delete. scope (Scope): The scope to delete data from fields: A list of fields to delete. If None, delete all stored fields. """ if scope != Scope.user_state: raise ValueError("Only Scope.user_state is supported") + evt_time = time() + if fields is None: + self._ddog_increment(evt_time, 'delete_many.empty_state') + else: + self._ddog_histogram(evt_time, 'delete_many.field_count', len(fields)) + + self._ddog_histogram(evt_time, 'delete_many.block_count', len(block_keys)) + student_modules = self._get_student_modules(username, block_keys) for student_module, _ in student_modules: if fields is None: