From ac05012d23e72c5459bd2757fac4f9924aae7665 Mon Sep 17 00:00:00 2001 From: John Eskew Date: Fri, 25 Sep 2015 17:04:06 -0400 Subject: [PATCH] Add response times to get_many/set_many/delete_many. --- 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 e6b70fa2f3..c4fcc20ddf 100644 --- a/lms/djangoapps/courseware/user_state_client.py +++ b/lms/djangoapps/courseware/user_state_client.py @@ -169,7 +169,9 @@ class DjangoXBlockUserStateClient(XBlockUserStateClient): # The rest of this method exists only to submit DataDog events. # Remove it once we're no longer interested in the data. + finish_time = time() self._ddog_histogram(evt_time, 'get_many.blks_out', block_count) + self._ddog_histogram(evt_time, 'get_many.response_time', (finish_time - evt_time) * 1000) @donottrack(StudentModule, StudentModuleHistory) def set_many(self, username, block_keys_to_state, scope=Scope.user_state): @@ -243,8 +245,10 @@ class DjangoXBlockUserStateClient(XBlockUserStateClient): num_fields_updated = max(0, len(state) - num_new_fields_set) self._ddog_histogram(evt_time, 'set_many.fields_updated', num_fields_updated) - # Event for the entire set_many call. + # Events for the entire set_many call. + finish_time = time() self._ddog_histogram(evt_time, 'set_many.blks_updated', len(block_keys_to_state)) + self._ddog_histogram(evt_time, 'set_many.response_time', (finish_time - evt_time) * 1000) @donottrack(StudentModule, StudentModuleHistory) def delete_many(self, username, block_keys, scope=Scope.user_state, fields=None): @@ -283,6 +287,10 @@ class DjangoXBlockUserStateClient(XBlockUserStateClient): # We just read this object, so we know that we can do an update student_module.save(force_update=True) + # Event for the entire delete_many call. + finish_time = time() + self._ddog_histogram(evt_time, 'delete_many.response_time', (finish_time - evt_time) * 1000) + @donottrack(StudentModule, StudentModuleHistory) def get_history(self, username, block_key, scope=Scope.user_state): """