feat(assessment): auto comprehensive assessment - rules engine from college scoring standard, per-semester stats, manual overrides, word export
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
"""Constants for the sampling profiler."""
|
||||
|
||||
# Time unit conversion constants
|
||||
MICROSECONDS_PER_SECOND = 1_000_000
|
||||
MILLISECONDS_PER_SECOND = 1_000
|
||||
|
||||
# Profiling mode constants
|
||||
PROFILING_MODE_WALL = 0
|
||||
PROFILING_MODE_CPU = 1
|
||||
PROFILING_MODE_GIL = 2
|
||||
PROFILING_MODE_ALL = 3 # Combines GIL + CPU checks
|
||||
PROFILING_MODE_EXCEPTION = 4 # Only samples when thread has an active exception
|
||||
|
||||
PROFILING_MODE_NAMES = {
|
||||
PROFILING_MODE_WALL: "wall",
|
||||
PROFILING_MODE_CPU: "cpu",
|
||||
PROFILING_MODE_GIL: "gil",
|
||||
PROFILING_MODE_ALL: "all",
|
||||
PROFILING_MODE_EXCEPTION: "exception",
|
||||
}
|
||||
|
||||
# Sort mode constants
|
||||
SORT_MODE_NSAMPLES = 0
|
||||
SORT_MODE_TOTTIME = 1
|
||||
SORT_MODE_CUMTIME = 2
|
||||
SORT_MODE_SAMPLE_PCT = 3
|
||||
SORT_MODE_CUMUL_PCT = 4
|
||||
SORT_MODE_NSAMPLES_CUMUL = 5
|
||||
|
||||
# Default location for synthetic frames (native, GC) that have no source location
|
||||
# Format: (lineno, end_lineno, col_offset, end_col_offset)
|
||||
DEFAULT_LOCATION = (0, 0, -1, -1)
|
||||
|
||||
# Internal frame path suffixes to filter from profiling output
|
||||
# These are internal profiler modules that should not appear in user-facing output
|
||||
_INTERNAL_FRAME_SUFFIXES = (
|
||||
"_sync_coordinator.py",
|
||||
)
|
||||
|
||||
# Thread status flags
|
||||
try:
|
||||
from _remote_debugging import (
|
||||
THREAD_STATUS_HAS_GIL,
|
||||
THREAD_STATUS_ON_CPU,
|
||||
THREAD_STATUS_UNKNOWN,
|
||||
THREAD_STATUS_GIL_REQUESTED,
|
||||
THREAD_STATUS_HAS_EXCEPTION,
|
||||
THREAD_STATUS_MAIN_THREAD,
|
||||
)
|
||||
except ImportError:
|
||||
# Fallback for tests or when module is not available
|
||||
THREAD_STATUS_HAS_GIL = (1 << 0)
|
||||
THREAD_STATUS_ON_CPU = (1 << 1)
|
||||
THREAD_STATUS_UNKNOWN = (1 << 2)
|
||||
THREAD_STATUS_GIL_REQUESTED = (1 << 3)
|
||||
THREAD_STATUS_HAS_EXCEPTION = (1 << 4)
|
||||
THREAD_STATUS_MAIN_THREAD = (1 << 5)
|
||||
Reference in New Issue
Block a user