in src/graphing/percentiles.py [0:0]
def print_percentiles(pauses_milliseconds=[], print_title=True, percentiles=None, label=None):
# Parameters:
# pauses_milliseconds : a list of pauses to be analyzed (in any order)
# print_title : True if you would like column headers
# percentiles : a list of percentiles to be plotted, in float list form.
# label : a label to be printed. Should be 0-10 characters
if type(pauses_milliseconds) != type(None):
pauses_milliseconds = list(pauses_milliseconds)
if not pauses_milliseconds:
return
pauses_milliseconds = sorted(pauses_milliseconds, reverse=True)
percentile_table = {}
if not percentiles:
percentiles = [50, 95, 99, 99.99]
for p in percentiles:
percentile_table[p] = np.percentile(pauses_milliseconds, p)
if not label:
label = "label"
num_column_spaces = 18
if print_title:
title = ""
for p in percentiles:
title += __string_const_chars(str(p) + "%", num_column_spaces) + " | "
print(" | " + title + "\n" + "-" * (len(title) + 12))
print(__string_const_chars(label, 3) + " | ", end="")
for p in percentiles:
print(float_constant_chars(str(round(percentile_table[p], 4)), num_column_spaces) + " | ", end="")
print("")