X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=o-du%2Fphy.git;a=blobdiff_plain;f=fapi_5g%2Fsource%2Futils%2Fnr5g_fapi_log.c;h=de13ce6b86050ce877dbca84fbcc23410f5123e4;hp=1d4405537e8aeeb0a91cc4e971934515832b4977;hb=70d9d920dd4e575f085f1f1a9050fefd1c10e127;hpb=331df2273a6667941167c9bcc141a517369bdf43 diff --git a/fapi_5g/source/utils/nr5g_fapi_log.c b/fapi_5g/source/utils/nr5g_fapi_log.c index 1d44055..de13ce6 100644 --- a/fapi_5g/source/utils/nr5g_fapi_log.c +++ b/fapi_5g/source/utils/nr5g_fapi_log.c @@ -22,8 +22,22 @@ **/ #include "nr5g_fapi_std.h" #include "nr5g_fapi_log.h" +#include "nr5g_fapi_memory.h" nr5g_fapi_log_types_t nr5g_fapi_log_level_g; +nr5g_fapi_performance_statistic_t fapi_statis_info_wls_get_dl; +nr5g_fapi_performance_statistic_t fapi_statis_info_parse_dl; +nr5g_fapi_performance_statistic_t fapi_statis_info_wls_send_dl; +nr5g_fapi_performance_statistic_t fapi_statis_info_wls_get_ul; +nr5g_fapi_performance_statistic_t fapi_statis_info_parse_ul; +nr5g_fapi_performance_statistic_t fapi_statis_info_wls_send_ul; +uint64_t tick_total_wls_get_per_tti_dl = 0; +uint64_t tick_total_parse_per_tti_dl = 0; +uint64_t tick_total_wls_send_per_tti_dl = 0; +uint64_t tick_total_wls_get_per_tti_ul = 0; +uint64_t tick_total_parse_per_tti_ul = 0; +uint64_t tick_total_wls_send_per_tti_ul = 0; +uint16_t g_statistic_start_flag = 0; //------------------------------------------------------------------------------ /** @ingroup group_lte_source_phy_api @@ -52,9 +66,6 @@ char *get_logger_type_str( case TRACE_LOG: return ("TRACE_LOG"); - case HEXDUMP_LOG: - return ("HEXDUMP_LOG"); - default: printf("Log Error Type\n"); return (""); @@ -95,4 +106,171 @@ nr5g_fapi_log_types_t nr5g_fapi_get_log_level( { return nr5g_fapi_log_level_g; } +#ifdef STATISTIC_MODE +uint16_t nr5g_fapi_statistic_info_set( + nr5g_fapi_performance_statistic_t * fapi_statis_info, + uint64_t * tick_val_in, + uint16_t start_flag) +{ + + uint64_t tick_val = *tick_val_in; + uint64_t cnt = fapi_statis_info->count; + + if (start_flag) { + if (cnt) { + if (tick_val < fapi_statis_info->min_cycle) { + fapi_statis_info->min_cycle = tick_val; + } else if (tick_val > fapi_statis_info->max_cycle) { + fapi_statis_info->max_cycle = tick_val; + } + + fapi_statis_info->avg_cycle += tick_val; + fapi_statis_info->count++; + + } else { + fapi_statis_info->avg_cycle = tick_val; + fapi_statis_info->min_cycle = tick_val; + fapi_statis_info->max_cycle = tick_val; + fapi_statis_info->count++; + } + } + *tick_val_in = 0; + return 0; +} + +uint16_t nr5g_fapi_statistic_info_set_all( + ) +{ + + nr5g_fapi_statistic_info_set(&fapi_statis_info_wls_get_dl, + &tick_total_wls_get_per_tti_dl, g_statistic_start_flag); + nr5g_fapi_statistic_info_set(&fapi_statis_info_parse_dl, + &tick_total_parse_per_tti_dl, g_statistic_start_flag); + nr5g_fapi_statistic_info_set(&fapi_statis_info_wls_send_dl, + &tick_total_wls_send_per_tti_dl, g_statistic_start_flag); + nr5g_fapi_statistic_info_set(&fapi_statis_info_wls_get_ul, + &tick_total_wls_get_per_tti_ul, g_statistic_start_flag); + nr5g_fapi_statistic_info_set(&fapi_statis_info_parse_ul, + &tick_total_parse_per_tti_ul, g_statistic_start_flag); + nr5g_fapi_statistic_info_set(&fapi_statis_info_wls_send_ul, + &tick_total_wls_send_per_tti_ul, g_statistic_start_flag); + + return 0; +} + +uint16_t nr5g_fapi_statistic_info_init( + ) +{ + + NR5G_FAPI_MEMSET(&fapi_statis_info_wls_get_dl, + sizeof(nr5g_fapi_performance_statistic_t), 0, + sizeof(nr5g_fapi_performance_statistic_t)); + NR5G_FAPI_MEMSET(&fapi_statis_info_parse_dl, + sizeof(nr5g_fapi_performance_statistic_t), 0, + sizeof(nr5g_fapi_performance_statistic_t)); + NR5G_FAPI_MEMSET(&fapi_statis_info_wls_send_dl, + sizeof(nr5g_fapi_performance_statistic_t), 0, + sizeof(nr5g_fapi_performance_statistic_t)); + NR5G_FAPI_MEMSET(&fapi_statis_info_wls_get_ul, + sizeof(nr5g_fapi_performance_statistic_t), 0, + sizeof(nr5g_fapi_performance_statistic_t)); + NR5G_FAPI_MEMSET(&fapi_statis_info_parse_ul, + sizeof(nr5g_fapi_performance_statistic_t), 0, + sizeof(nr5g_fapi_performance_statistic_t)); + NR5G_FAPI_MEMSET(&fapi_statis_info_wls_send_ul, + sizeof(nr5g_fapi_performance_statistic_t), 0, + sizeof(nr5g_fapi_performance_statistic_t)); + return 0; + +} + +uint16_t nr5g_fapi_statistic_info_print( + ) +{ + + printf("\n"); + printf + ("dl wls get Kcycle (count, min, max, avg) : %d %9.2f %9.2f %9.2f \n", + fapi_statis_info_wls_get_dl.count, + fapi_statis_info_wls_get_dl.min_cycle / 1000., + fapi_statis_info_wls_get_dl.max_cycle / 1000., + fapi_statis_info_wls_get_dl.avg_cycle / + fapi_statis_info_wls_get_dl.count / 1000.); + printf + ("dl FAPI parse Kcycle (count, min, max, avg): %d %9.2f %9.2f %9.2f \n", + fapi_statis_info_parse_dl.count, + fapi_statis_info_parse_dl.min_cycle / 1000., + fapi_statis_info_parse_dl.max_cycle / 1000., + fapi_statis_info_parse_dl.avg_cycle / fapi_statis_info_parse_dl.count / + 1000.); + printf + ("dl wls send Kcycle(count, min, max, avg) : %d %9.2f %9.2f %9.2f \n", + fapi_statis_info_wls_send_dl.count, + fapi_statis_info_wls_send_dl.min_cycle / 1000., + fapi_statis_info_wls_send_dl.max_cycle / 1000., + fapi_statis_info_wls_send_dl.avg_cycle / + fapi_statis_info_wls_send_dl.count / 1000.); + + printf + ("ul wls get Kcycle(count, min, max, avg) : %d %9.2f %9.2f %9.2f \n", + fapi_statis_info_wls_get_ul.count, + fapi_statis_info_wls_get_ul.min_cycle / 1000., + fapi_statis_info_wls_get_ul.max_cycle / 1000., + fapi_statis_info_wls_get_ul.avg_cycle / + fapi_statis_info_wls_get_ul.count / 1000.); + printf + ("ul FAPI parse Kcycle(count, min, max, avg) : %d %9.2f %9.2f %9.2f \n", + fapi_statis_info_parse_ul.count, + fapi_statis_info_parse_ul.min_cycle / 1000., + fapi_statis_info_parse_ul.max_cycle / 1000., + fapi_statis_info_parse_ul.avg_cycle / fapi_statis_info_parse_ul.count / + 1000.); + printf + ("ul wls send Kcycle(count, min, max, avg) : %d %9.2f %9.2f %9.2f \n", + fapi_statis_info_wls_send_ul.count, + fapi_statis_info_wls_send_ul.min_cycle / 1000., + fapi_statis_info_wls_send_ul.max_cycle / 1000., + fapi_statis_info_wls_send_ul.avg_cycle / + fapi_statis_info_wls_send_ul.count / 1000.); + return 0; + +} +#else +uint16_t nr5g_fapi_statistic_info_set( + nr5g_fapi_performance_statistic_t * fapi_statis_info, + uint64_t * tick_val_in, + uint16_t start_flag) +{ + + fapi_statis_info->avg_cycle = 0; + *tick_val_in = 0; + if(start_flag) *tick_val_in = 0; + return 0; +} + +uint16_t nr5g_fapi_statistic_info_set_all( + ) +{ + + + return 0; +} + +uint16_t nr5g_fapi_statistic_info_init( + ) +{ + + + return 0; + +} + +uint16_t nr5g_fapi_statistic_info_print( + ) +{ + + return 0; + +} +#endif