/client/proc/start_line_profiling() set category = "Profile" set name = "Start Line Profiling" set desc = "Starts tracking line by line profiling for code lines that support it" LINE_PROFILE_START message_admins("[key_name_admin(src)] started line by line profiling.") // SSblackbox.record_feedback("tally", "admin_verb", 1, "Start Line Profiling") log_admin("[key_name(src)] started line by line profiling.") /client/proc/stop_line_profiling() set category = "Profile" set name = "Stop Line Profiling" set desc = "Stops tracking line by line profiling for code lines that support it" LINE_PROFILE_STOP message_admins("[key_name_admin(src)] stopped line by line profiling.") // SSblackbox.record_feedback("tally", "admin_verb", 1, "Stop Line Profiling") log_admin("[key_name(src)] stopped line by line profiling.") /client/proc/show_line_profiling() set category = "Profile" set name = "Show Line Profiling" set desc = "Shows tracked profiling info from code lines that support it" var/sortlist = list( "Avg time" = GLOBAL_PROC_REF(cmp_profile_avg_time_dsc), "Total Time" = GLOBAL_PROC_REF(cmp_profile_time_dsc), "Call Count" = GLOBAL_PROC_REF(cmp_profile_count_dsc) ) var/sort = input(src, "Sort type?", "Sort Type", "Avg time") as null|anything in sortlist if (!sort) return sort = sortlist[sort] profile_show(src, sort)