[PATCH v4] app/testpmd: add trace dump command

Viacheslav Ovsiienko viacheslavo at nvidia.com
Mon Jun 26 13:57:49 CEST 2023


The "dump_trace" CLI command is added to trigger
saving the trace dumps to the trace directory.

The tracing data are saved according to the EAL configuration
(explicit --trace-dir EAL command line parameter alters
the target folder to save). The result dump folder gets the name
like rte-YYYY-MM-DD-xx-HH-MM-SS format.

This command is useful to get the trace date without exiting
testpmd application and to get the multiple dumps to observe
the situation in dynamics.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>

--

v1: https://inbox.dpdk.org/dev/20230609152847.32496-2-viacheslavo@nvidia.com
v2: https://inbox.dpdk.org/dev/20230613165845.19109-2-viacheslavo@nvidia.com
    - changed to save_trace command
    - Windows compilation check added

v3: https://inbox.dpdk.org/dev/20230626110734.14126-1-viacheslavo@nvidia.com
    - reverted to "dump_trace" command

v4: - added missed header file include
    - missed #ifdef added for Windows compilation (no trace support
      for Windows)
---
 app/test-pmd/cmdline.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 5da38b0bb4..b82763c65d 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -39,6 +39,7 @@
 #include <rte_gro.h>
 #endif
 #include <rte_mbuf_dyn.h>
+#include <rte_trace.h>
 
 #include <cmdline_rdline.h>
 #include <cmdline_parse.h>
@@ -8371,10 +8372,17 @@ static void cmd_dump_parsed(void *parsed_result,
 		rte_lcore_dump(stdout);
 	else if (!strcmp(res->dump, "dump_log_types"))
 		rte_log_dump(stdout);
+#ifndef RTE_EXEC_ENV_WINDOWS
+	else if (!strcmp(res->dump, "dump_trace"))
+		rte_trace_save();
+#endif		
 }
 
 static cmdline_parse_token_string_t cmd_dump_dump =
 	TOKEN_STRING_INITIALIZER(struct cmd_dump_result, dump,
+#ifndef RTE_EXEC_ENV_WINDOWS
+		"dump_trace#"
+#endif
 		"dump_physmem#"
 		"dump_memzone#"
 		"dump_socket_mem#"
-- 
2.18.1



More information about the dev mailing list