@@ -403,6 +403,28 @@ static int cmd_log_strdup_utilization(const struct shell *shell,
403403 return 0 ;
404404}
405405
406+ static int cmd_log_memory_slabs (const struct shell * sh , size_t argc , char * * argv )
407+ {
408+ uint32_t slabs_free ;
409+ uint32_t used ;
410+ uint32_t max ;
411+
412+ slabs_free = log_msg_mem_get_free ();
413+ used = log_msg_mem_get_used ();
414+
415+ shell_print (sh , "Blocks used:\t%d" , used );
416+ shell_print (sh , "Blocks free:\t%d" , slabs_free );
417+ if (IS_ENABLED (CONFIG_MEM_SLAB_TRACE_MAX_UTILIZATION )) {
418+ max = log_msg_mem_get_max_used ();
419+ shell_print (sh , "Blocks max:\t%d" , max );
420+ } else {
421+ shell_print (
422+ sh ,
423+ "Enable CONFIG_MEM_SLAB_TRACE_MAX_UTILIZATION to get max memory utilization" );
424+ }
425+
426+ return 0 ;
427+ }
406428
407429SHELL_STATIC_SUBCMD_SET_CREATE (sub_log_backend ,
408430 SHELL_CMD_ARG (disable , & dsub_module_name ,
@@ -436,31 +458,28 @@ static void backend_name_get(size_t idx, struct shell_static_entry *entry)
436458
437459SHELL_DYNAMIC_CMD_CREATE (dsub_backend_name_dynamic , backend_name_get );
438460
439-
440- SHELL_STATIC_SUBCMD_SET_CREATE (sub_log_stat ,
441- SHELL_CMD (backend , & dsub_backend_name_dynamic ,
442- "Logger backends commands." , NULL ),
461+ SHELL_STATIC_SUBCMD_SET_CREATE (
462+ sub_log_stat ,
463+ SHELL_CMD (backend , & dsub_backend_name_dynamic , "Logger backends commands." , NULL ),
443464 SHELL_COND_CMD_ARG (CONFIG_SHELL_LOG_BACKEND , disable , & dsub_module_name ,
444- "'log disable <module_0> .. <module_n>' disables logs in specified "
445- "modules (all if no modules specified)." ,
446- cmd_log_self_disable , 1 , 255 ),
465+ "'log disable <module_0> .. <module_n>' disables logs in specified "
466+ "modules (all if no modules specified)." ,
467+ cmd_log_self_disable , 1 , 255 ),
447468 SHELL_COND_CMD_ARG (CONFIG_SHELL_LOG_BACKEND , enable , & dsub_severity_lvl ,
448- "'log enable <level> <module_0> ... <module_n>' enables logs up to"
449- " given level in specified modules (all if no modules specified)." ,
450- cmd_log_self_enable , 2 , 255 ),
451- SHELL_COND_CMD (CONFIG_SHELL_LOG_BACKEND , go , NULL , "Resume logging" ,
452- cmd_log_self_go ),
453- SHELL_COND_CMD (CONFIG_SHELL_LOG_BACKEND , halt , NULL , "Halt logging" ,
454- cmd_log_self_halt ),
455- SHELL_CMD_ARG (list_backends , NULL , "Lists logger backends." ,
456- cmd_log_backends_list , 1 , 0 ),
469+ "'log enable <level> <module_0> ... <module_n>' enables logs up to"
470+ " given level in specified modules (all if no modules specified)." ,
471+ cmd_log_self_enable , 2 , 255 ),
472+ SHELL_COND_CMD (CONFIG_SHELL_LOG_BACKEND , go , NULL , "Resume logging" , cmd_log_self_go ),
473+ SHELL_COND_CMD (CONFIG_SHELL_LOG_BACKEND , halt , NULL , "Halt logging" , cmd_log_self_halt ),
474+ SHELL_CMD_ARG (list_backends , NULL , "Lists logger backends." , cmd_log_backends_list , 1 , 0 ),
457475 SHELL_COND_CMD (CONFIG_SHELL_LOG_BACKEND , status , NULL , "Logger status" ,
458- cmd_log_self_status ),
459- SHELL_COND_CMD_ARG (CONFIG_LOG_STRDUP_POOL_PROFILING , strdup_utilization ,
460- NULL , "Get utilization of string duplicates pool" ,
461- cmd_log_strdup_utilization , 1 , 0 ),
462- SHELL_SUBCMD_SET_END
463- );
476+ cmd_log_self_status ),
477+ SHELL_COND_CMD_ARG (CONFIG_LOG_STRDUP_POOL_PROFILING , strdup_utilization , NULL ,
478+ "Get utilization of string duplicates pool" , cmd_log_strdup_utilization ,
479+ 1 , 0 ),
480+ SHELL_COND_CMD (CONFIG_LOG_MODE_DEFERRED , mem , NULL , "Logger memory usage" ,
481+ cmd_log_memory_slabs ),
482+ SHELL_SUBCMD_SET_END );
464483
465484SHELL_CMD_REGISTER (log , & sub_log_stat , "Commands for controlling logger" ,
466485 NULL );
0 commit comments