diff --git a/common/utils/ocp_itti/intertask_interface.cpp b/common/utils/ocp_itti/intertask_interface.cpp index b0d05c6aca11032540980cbbdae9e81fcc4bc979..a68ed93cab85da1ea01a6c5f139d1d301179d878 100644 --- a/common/utils/ocp_itti/intertask_interface.cpp +++ b/common/utils/ocp_itti/intertask_interface.cpp @@ -49,6 +49,7 @@ extern "C" { int nb_fd_epoll=0; int epoll_fd=-1; int sem_fd=-1; + size_t last_log_size = 0; } task_list_t; int timer_expired(int fd); @@ -131,11 +132,26 @@ extern "C" { int message_id = message->ittiMsgHeader.messageId; size_t s=t->message_queue.size(); - if ( s > t->admin.queue_size ) - LOG_E(TMR,"Queue for %s task contains %ld messages\n", itti_get_task_name(destination_task_id), s ); + if (s > t->last_log_size * 1.1) { + // to reduce the number of logs, we give a message each increase of 10% + if (s > t->admin.queue_size) + LOG_E(TMR, "Queue for %s task contains %ld messages\n", itti_get_task_name(destination_task_id), s); - if ( s > 50 ) - LOG_I(ITTI,"Queue for %s task size: %ld (last message %s)\n",itti_get_task_name(destination_task_id), s+1,ITTI_MSG_NAME(message)); + if (s > t->admin.queue_size / 10) + LOG_I(ITTI, + "Queue for %s task size: %ld (last message %s)\n", + itti_get_task_name(destination_task_id), + s + 1, + ITTI_MSG_NAME(message)); + + t->last_log_size = s; + } + + if (t->last_log_size && t->last_log_size < t->admin.queue_size / 10) { + // Inform when the queue decreases + LOG_I(ITTI, "Queue for %s task size is back under 10%% of max size\n", itti_get_task_name(destination_task_id)); + t->last_log_size = 0; + } t->message_queue.insert(t->message_queue.begin(), message); eventfd_t sem_counter = 1;