added printing info how much time winix spent in the ezc engine

added to Request:
timespec timespec_req_stop;
timespec timespec_req_diff;
timespec timespec_ezc_engine_start;
timespec timespec_ezc_engine_stop;
This commit is contained in:
2021-06-24 15:33:44 +02:00
parent 443c2023d9
commit 2f1cdcf379
9 changed files with 208 additions and 37 deletions

View File

@@ -653,13 +653,15 @@ void App::ProcessRequest()
model_connector.set_winix_request(cur.request);
cur.request->RequestStarts();
system.load_avg.StartRequest();
system.load_avg.StartRequest(cur.request);
log << log2 << config.log_delimiter << logend;
ProcessRequestThrow();
SaveSessionsIfNeeded();
system.load_avg.StopRequest();
cur.request->RequestEnds();
system.load_avg.StopRequest(cur.request);
LogRequestTime();
}
catch(const std::exception & e)
{
@@ -832,11 +834,23 @@ void App::MakePage()
if( cur.request->page_generated || !cur.request->redirect_to.empty() || !cur.request->x_sendfile.empty() )
return;
clock_gettime(CLOCK_REALTIME, &cur.request->timespec_ezc_engine_start);
templates.SetEzcParameters( cur.request->gen_trim_white,
cur.request->gen_skip_new_line,
cur.request->gen_use_special_chars);
templates.Generate();
clock_gettime(CLOCK_REALTIME, &cur.request->timespec_ezc_engine_stop);
timespec diff;
calculate_timespec_diff(cur.request->timespec_ezc_engine_start, cur.request->timespec_ezc_engine_stop, diff);
pt::TextStream str;
timespec_to_stream(diff, str); // IMPROVEME in the future Log can be used directly
log << log3 << "App: ezc engine took: " << str << "s" << logend;
}
@@ -2124,6 +2138,13 @@ void App::LogUserGroups()
}
void App::LogRequestTime()
{
pt::TextStream str;
timespec_to_stream(cur.request->timespec_req_diff, str);
log << log2 << "App: request took: " << str << "s" << logend;
}
bool App::DropPrivileges(char * user, char * group)