Hello, Following are the work items planned for 21.02 from NTT TechnoCross: I will try to post patch set after 20.11 is released.
--- 1) Introduce API stats function In general, DPDK application consumes CPU usage because it polls incoming packets using rx_burst API in infinite loop. This makes difficult to estimate how much CPU usage is really used to send/receive packets by the DPDK application. For example, even if no incoming packets arriving, CPU usage looks nearly 100% when observed by top command. It is beneficial if developers can observe real CPU usage of the DPDK application. Such information can be exported to monitoring application like prometheus/graphana and shows CPU usage graphically. To achieve above, this patch set provides apistats functionality. apistats provides the followiing two counters for each lcore. - rx_burst_counts[RTE_MAX_LCORE] - tx_burst_counts[RTE_MAX_LCORE] Those accumulates rx_burst/tx_burst counts since the application starts. By using those values, developers can roughly estimate CPU usage. Let us assume a DPDK application is simply forwarding packets. It calls tx_burst only if it receive packets. If rx_burst_counts=1000 and tx_burst_count=1000 during certain period of time, one can assume CPU usage is 100%. If rx_burst_counts=1000 and tx_burst_count=100 during certain period of time, one can assume CPU usage is 10%. Here we assumes that tx_burst_count equals counts which rx_burst function really receives incoming packets. -- Thank you, Hideyuki Yamashita NTT TechnoCross