28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
"""Helper methods for monitoring of events."""
|
|
from edx_django_utils.monitoring import set_custom_attribute, set_custom_attributes_for_course_key
|
|
|
|
|
|
def monitor_import_failure(course_key, import_step, message=None, exception=None):
|
|
"""
|
|
Helper method to add custom parameters to for import failures.
|
|
Arguments:
|
|
course_key: CourseKey object
|
|
import_step (str): current step in course import
|
|
message (str): any particular message to add
|
|
exception: Exception object
|
|
"""
|
|
set_custom_attribute('course_import_failure', import_step)
|
|
set_custom_attributes_for_course_key(course_key)
|
|
|
|
if message:
|
|
set_custom_attribute('course_import_failure_message', message)
|
|
|
|
if exception is not None:
|
|
exception_module = getattr(exception, '__module__', '')
|
|
separator = '.' if exception_module else ''
|
|
module_and_class = f'{exception_module}{separator}{exception.__class__.__name__}'
|
|
exc_message = str(exception)
|
|
|
|
set_custom_attribute('course_import_failure_error_class', module_and_class)
|
|
set_custom_attribute('course_import_failure_error_message', exc_message)
|