diff --git a/compte_rendu.md b/compte_rendu.md new file mode 100644 index 0000000..9817977 --- /dev/null +++ b/compte_rendu.md @@ -0,0 +1,40 @@ +## daemon.c: + +create_daemon = 6 +ping_request = 2 +send_check = 4 +check_keep_working = 5 +daemon_work = 4 + + +## db-sqlite.c: + +db_connect = 1 +db_disconnect = 1 +insert_hourly_report = 1 + + +## ping-report.c: + +main = 4 + + +## stats.c : +ce fus un plasir immence de réaliser les graphs et de comté la complexité des fonctions j'ai retenue la lesson je fera au minimum des fonction avec une complexite trop grande + +get_ping_from_temp_log = 14 +write_ping_log = 2 +void set_stats_ping = 12 + +## utils.c: + +write_pid_file = 2 +remove_file = 1 + + +On a créer la fonction " remplacement "on a factoriser un bout de la methode por avoir une complexité plus fable + + + +Maxime Lebreton +Maxime Aubert \ No newline at end of file diff --git a/get_ping_from_temp_log_mama.drawio b/get_ping_from_temp_log_mama.drawio new file mode 100644 index 0000000..2fdaf28 --- /dev/null +++ b/get_ping_from_temp_log_mama.drawio @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ping-report/src/stats.c b/ping-report/src/stats.c index 5b343e8..0c65b5b 100644 --- a/ping-report/src/stats.c +++ b/ping-report/src/stats.c @@ -11,6 +11,59 @@ #include "../include/stats.h" #include "../include/db-sqlite.h" + + + + + +void factorisation(){ + /* Read file */ + while(getline(&read_line,&n,fd) != -1){ + + if(read_line == NULL){ + break; + } + + /* Exec regex to find ping */ + + if(regexec(p_reg,read_line,nmatch,pmatch,0) == 0){ + + /* Extract ping position from read line */ + start = (int) pmatch[1].rm_so; + end = (int) pmatch[1].rm_eo; + size_ping = (size_t) (end - start); + + /* ping string memory allocation */ + ping = malloc(sizeof(char) * (size_ping+2)); + if(ping == NULL){ + free(read_line); + read_line = NULL; + n = 0; + break; + } + + /* Create ping string */ + (void) strncpy(ping, &read_line[start], size_ping); + ping[size_ping]='\n'; + ping[size_ping+1]='\0'; + + /* Free memory */ + free(read_line); + read_line = NULL; + n = 0; + break; + } + + free(read_line); + read_line = NULL; + n = 0; + } +} + + + + + /* -- get_ping_from_temp_log -- Desc : @@ -67,47 +120,7 @@ return ping; /* NULL */ } - /* Read file */ - while(getline(&read_line,&n,fd) != -1){ - - if(read_line == NULL){ - break; - } - - /* Exec regex to find ping */ - - if(regexec(p_reg,read_line,nmatch,pmatch,0) == 0){ - - /* Extract ping position from read line */ - start = (int) pmatch[1].rm_so; - end = (int) pmatch[1].rm_eo; - size_ping = (size_t) (end - start); - - /* ping string memory allocation */ - ping = malloc(sizeof(char) * (size_ping+2)); - if(ping == NULL){ - free(read_line); - read_line = NULL; - n = 0; - break; - } - - /* Create ping string */ - (void) strncpy(ping, &read_line[start], size_ping); - ping[size_ping]='\n'; - ping[size_ping+1]='\0'; - - /* Free memory */ - free(read_line); - read_line = NULL; - n = 0; - break; - } - - free(read_line); - read_line = NULL; - n = 0; - } + factorisation(); /* free allocated memory */ regfree(p_reg); @@ -171,6 +184,30 @@ void write_ping_log(char* new_ping){ Return value : None */ + + +void remplacement(){ + + /* Number of ping readed (for mean calculation) */ + nb_ping++; + /* Max ping */ + if(ping > max){ + max = ping; + } + /* Min ping */ + if(ping < min){ + min = ping; + } + /* Number of ping above 100 ms */ + if(ping > 100.0){ + nb_high++; + } + /* Sum (for mean calculation) */ + sum += ping; + + +} + void set_stats_ping(){ /* Variables */ @@ -203,28 +240,13 @@ void set_stats_ping(){ if(strcmp(read_line,"LOSS") == 0){ nb_loss++; }else{ - /* Evaluate the ping as a double */ + /* Evaluate the ping as a double */ ping = strtod(read_line,NULL); /* Test null ping */ if(ping < 0.1){ /* Ignore null ping */ }else{ - /* Number of ping readed (for mean calculation) */ - nb_ping++; - /* Max ping */ - if(ping > max){ - max = ping; - } - /* Min ping */ - if(ping < min){ - min = ping; - } - /* Number of ping above 100 ms */ - if(ping > 100.0){ - nb_high++; - } - /* Sum (for mean calculation) */ - sum += ping; + remplacement(); } } free(read_line); diff --git a/set_stats_ping_mama.drawio b/set_stats_ping_mama.drawio new file mode 100644 index 0000000..32c3383 --- /dev/null +++ b/set_stats_ping_mama.drawio @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +