From: Eric Leblond Date: Tue, 14 May 2013 09:09:48 +0000 (+0200) Subject: Add functions for elapsed time computation. X-Git-Tag: suricata-2.0beta2~439 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4296e5f29eeecaab51b6097914ea88530bd289fe;p=thirdparty%2Fsuricata.git Add functions for elapsed time computation. --- diff --git a/src/suricata.c b/src/suricata.c index ac014f93e2..2b31d44f6c 100644 --- a/src/suricata.c +++ b/src/suricata.c @@ -900,6 +900,8 @@ struct SuriInstance { int rule_reload; int daemon; + struct timeval start_time; + char *log_dir; }; @@ -939,6 +941,22 @@ static TmEcode SuriPrintVersion() return TM_ECODE_OK; } +static void SuriSetStartTime(struct SuriInstance *suri) +{ + memset(&suri->start_time, 0, sizeof(suri->start_time)); + gettimeofday(&suri->start_time, NULL); +} + +static void SuriPrintElapsedTime(struct SuriInstance *suri) +{ + struct timeval end_time; + memset(&end_time, 0, sizeof(end_time)); + gettimeofday(&end_time, NULL); + uint64_t milliseconds = ((end_time.tv_sec - suri->start_time.tv_sec) * 1000) + + (((1000000 + end_time.tv_usec - suri->start_time.tv_usec) / 1000) - 1000); + SCLogInfo("time elapsed %.3fs", (float)milliseconds/(float)1000); +} + static TmEcode SuriParseCommandLine(int argc, char** argv, struct SuriInstance *suri) { int opt; @@ -1980,9 +1998,7 @@ int main(int argc, char **argv) CoredumpLoadConfig(); - struct timeval start_time; - memset(&start_time, 0, sizeof(start_time)); - gettimeofday(&start_time, NULL); + SuriSetStartTime(&suri); SCDropMainThreadCaps(suri.userid, suri.groupid); @@ -2087,12 +2103,7 @@ int main(int argc, char **argv) FlowForceReassembly(); } - struct timeval end_time; - memset(&end_time, 0, sizeof(end_time)); - gettimeofday(&end_time, NULL); - uint64_t milliseconds = ((end_time.tv_sec - start_time.tv_sec) * 1000) + - (((1000000 + end_time.tv_usec - start_time.tv_usec) / 1000) - 1000); - SCLogInfo("time elapsed %.3fs", (float)milliseconds/(float)1000); + SuriPrintElapsedTime(&suri); if (suri.rule_reload == 1) { /* Disable detect threads first. This is required by live rule swap */