SimpleEventBuilder/TimeoutAropNoblock.C

114 lines
3.3 KiB
C++
Raw Normal View History

2023-09-27 15:47:46 +00:00
void TimeoutAropNoblock() {
gROOT->SetBatch(kTRUE);
auto f4 = "./mean_4_std_0_meantime_0ms_stddevtime_0ms.csv";
auto f4_df = ROOT::RDF::MakeCsvDataFrame(f4, true, ';');
auto f4_nc = f4_df.Define("bandwidth", "( tot_bytes/static_cast<double>(1024) ) / tot_time_taken");
auto f4_noblock = "./mean_4_std_0_meantime_0ms_stddevtime_0ms_NODELAY.csv";
auto f4_noblock_df = ROOT::RDF::MakeCsvDataFrame(f4_noblock, true, ';');
auto f4_noblock_nc = f4_noblock_df.Define("bandwidth", "( tot_bytes/static_cast<double>(1024) ) / tot_time_taken");
auto canvas = new TCanvas("c", "c", 2800, 1000);
//canvas->SetLogx();
//canvas->SetGrid();
//canvas->SetLogy();
canvas->Divide(2,1);
gStyle->SetPalette(1);
canvas->cd(1);
gPad->SetRightMargin(0.05);
gPad->SetLeftMargin(0.15);
gPad->SetGrid();
auto g4 = f4_nc.Graph("timeout_ms", "bandwidth");
g4->SetTitle("TCP_NODELAY Effect: bandwidth;Timeout [ms];Bandwidth [kB/s];");
g4->SetName("g4");
g4->SetMarkerStyle(55);
g4->SetMarkerSize(2);
g4->SetLineWidth(2);
g4->GetHistogram()->SetMinimum(0);
g4->GetHistogram()->SetMaximum(4500);
g4->DrawClone("ALP PLC PMC");
auto g4_noblock = f4_noblock_nc.Graph("timeout_ms", "bandwidth");
g4_noblock->SetName("g4_noblock");
g4_noblock->SetMarkerStyle(55);
g4_noblock->SetMarkerSize(2);
g4_noblock->SetLineWidth(2);
g4_noblock->DrawClone("LP PLC PMC");
auto leg = new TLegend(0.55,0.65,0.86,0.87);
leg->AddEntry("g4","TCP_NODELAY not set","lp");
leg->AddEntry("g4_noblock","TCP_NODELAY set","lp");
leg->Draw();
canvas->cd(2);
gPad->SetRightMargin(0.1);
gPad->SetLeftMargin(0.1);
gPad->SetLogy();
gPad->SetGrid();
auto g4_drop = f4_nc.Graph("timeout_ms", "drop_rate");
g4_drop->SetTitle("TCP_NODELAY Effect: drop rate;Timeout [ms];Fragment Drop Rate;");
g4_drop->SetName("g4_drop");
g4_drop->SetMarkerStyle(55);
g4_drop->SetMarkerSize(2);
g4_drop->SetLineWidth(2);
g4_drop->GetHistogram()->SetMinimum(1e-11);
g4_drop->GetHistogram()->SetMaximum(1e-5);
g4_drop->DrawClone("ALP PLC PMC");
auto g4_drop_noblock = f4_noblock_nc.Graph("timeout_ms", "drop_rate");
g4_drop_noblock->SetTitle("TCP_NODELAY Effect: drop rate;Timeout [ms];Fragment Drop Rate;");
g4_drop_noblock->SetName("g4_drop_noblock");
g4_drop_noblock->SetMarkerStyle(55);
g4_drop_noblock->SetMarkerSize(2);
g4_drop_noblock->SetLineWidth(2);
g4_drop_noblock->DrawClone("LP PLC PMC");
auto leg_drop = new TLegend(0.55,0.65,0.86,0.87);
leg_drop->AddEntry("g4_drop","TCP_NODELAY not set","lp");
leg_drop->AddEntry("g4_drop_noblock","TCP_NODELAY set","lp");
leg_drop->Draw();
/*
g1000->SetTitle("Bandwidth vs Timeout: Log;Timeout [ms];Bandwidth [kB/s]");
g1000->GetHistogram()->SetMinimum(1);
g1000->GetHistogram()->SetMaximum(20000);
g1000->DrawClone("ALP PLC PMC");
g500->DrawClone("LP PLC PMC");
g200->DrawClone("LP PLC PMC");
g100->DrawClone("LP PLC PMC");
g40->DrawClone("LP PLC PMC");
g4->DrawClone("LP PLC PMC");
leg->Draw();*/
//gStyle->SetLegendTextSize(0.01);
//canvas->BuildLegend(0.65,0.2,0.86,0.32, "Connection Method");
canvas->Print("Nodelay.png");
gROOT->SetBatch(kFALSE);
gApplication->Terminate(0);
}