Hi Team / Jerin,

I am trying to use DPDK Trace Library functionality in my DPDK application.  
I've successfully observed the trace files being generated by invoking 
rte_trace_save(), particularly when utilizing the EAL option '--trace=.*'

I found following statement in the programmer guide,

The trace memory will be allocated through an internal function 
__rte_trace_mem_per_thread_alloc(). The trace memory will be allocated per 
thread to enable lock less trace-emit function.
For non lcore threads, the trace memory is allocated on the first trace 
emission.
For lcore threads, if trace points are enabled through a EAL option, the trace 
memory is allocated when the threads are known of DPDK (rte_eal_init for EAL 
lcores, rte_thread_register for non-EAL lcores). Otherwise, when trace points 
are enabled later in the life of the application, the behavior is the same as 
non lcore threads and the trace memory is allocated on the first trace emission.
I attempted to enable trace points at runtime using the 
'rte_trace_regexp("lib.mempool.*", true)' API, though I'm unsure if this is the 
correct approach. While the call appears to succeed, I'm puzzled by the absence 
of any trace files being generated even after invoking rte_trace_save().

When adding a new trace point in my application code as per the documentation, 
I used rte_trace_regexp("myapp.trace.test", true) to enable it. However, I 
encountered a failure when attempting to look up the API.

Apr 22 09:53:07.486 [USDP] [DPDK] EAL: rte_trace_regexp():207 NAG1:inside 
rte_trace_regexp
Apr 22 09:53:07.486 [USDP] [DPDK] EAL: rte_trace_regexp():212 NAG2:inside 
rte_trace_regexp
Apr 22 09:53:07.486 [USDP] [DPDK] EAL: rte_trace_regexp():231 NAG4:inside 
rte_trace_regexp
Apr 22 09:53:07.486 [USDP] ***NAG***: DPDK-TRACE:rte_trace_regexp failed

I have the following queries,


1.       How to enable/disable the trace files runtime in a dpdk application?

2.       How to trigger new trace points added in the application code?

Regards,
Nagendra

Reply via email to