def print_percentiles()

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("")