/// Parses rates of Flink operators from a CSV file and updates a topology
///
/// # Arguments
///
/// `rates_file`: The path to the CSV file
///
/// `topology`: The topology struct to update with the rate information
///
/// `epoch`: The epoch number the rates correspond to
///
/// # Comments
///
/// * Each line in `rates_file` contains the true and observed rates of an operator instance aggregated per time window. It has the form:
///
///   `operator_id,instance_id,total_number_of_operator_instances,window_start_timestamp,true_processing_rate,true_output_rate,observed_processing_rate,observed_output_rate`
Parses rates of Flink operators from a CSV file and updates a topology
Parses rates of Flink operators from a CSV file and updates a topology
pub fn update_flink_rates(rates_file: &Path, topology: &mut Topology, epoch: Epoch)
{
    let logs = collect_logs(rates_file,topology);
    update_rates(topology,logs,epoch);
}
pub fn update_flink_rates ( rates_file : & Path , topology : & mut Topology , epoch : Epoch ) { let logs = collect_logs ( rates_file , topology ) ; update_rates ( topology , logs , epoch ) ; }
Parses rates of Flink operators from a CSV file and updates a topology
Parses rates of Flink operators from a CSV file and updates a topology
rates_file
&Path
topology
&mut Topology
epoch
Epoch
comments
Each line in `rates_file` contains the true and observed rates of an operator instance aggregated per time window. It has the form.


Each line in ` rates_file ` contains the true and observed rates of an operator instance aggregated per time window . It has the form .