def gen_data_table()

in src/hpcadvisor/plot_generator.py [0:0]


def gen_data_table(datapoints, dynamic_filter, appexectime=False):

    print(f"{'SKU':<30}{'NumNodes':<10}{'PPRPerc':<10}{'NumCores':<10}{'ExecTime':<10}{'Cost':<10}")
    print("-" * 80)

    tablepoints = []

    for datapoint in datapoints:
        matched_dynamic_filter = dataset_handler.dynamic_filter_matches(
            datapoint, dynamic_filter
        )
        if not matched_dynamic_filter:
            continue

        new_datapoint = {}
        new_datapoint["exec_time"] = datapoint["exec_time"]
        if appexectime:
            new_datapoint["exec_time"] = datapoint["appexectime"]

        new_datapoint["sku"] = datapoint["sku"]
        new_datapoint["nnodes"] = datapoint["nnodes"]
        new_datapoint["ppr_perc"] = int(datapoint["ppr_perc"])
        new_datapoint["total_cores"] = datapoint["total_cores"]

        cost = price_puller.get_price("eastus", datapoint["sku"]) * \
               datapoint["nnodes"] * \
               new_datapoint["exec_time"] / 3600.0

        new_datapoint["cost"] = cost
        tablepoints.append(new_datapoint)

    tablepoints = sorted(tablepoints, key=lambda x: x["exec_time"])
    for point in tablepoints:
        print(f"{point['sku']:<30}{point['nnodes']:<10}{point['ppr_perc']:<10}{point['total_cores']:<10}{point['exec_time']:<10}{point['cost']:<10.2f}")