...
Requirement is to collectd dpdk interface stats and application stats from the dpdk telemetry library and display.
Overview
The dpdk_telemetry plugin has been developed for the collectd to query dpdk interface stats and application stats from DPDK and display. This This plugin works as a client which uses UNIX socket to send the queries to the DPDK telemetry which is acting as a server. The collectd plugin sends the JSON encoded requests to theserver the server and receives the JSON encoded replies back.
...
Socket initialization includes, the client sockets creation, connecting to the server socket , sending the client registration message to the server and waiting for registration to be accepted by theserver the server to get the plugin initialization to be succeed. In case of registration failure , the sockets will be closed and plugin initialization results to be failed. The plugin does provide some resiliencywhen resiliency when server socket is not connected., i.e. during plugin initialization if it don’t see the server socket, it would keep trying to connect to the server for 6 seconds, if still no connection is established , the the plugin will be marked as uninitialized.
...
Once all the socket initialization happens, the plugin read loop will be kicked off every 6 seconds to read the stats from DPDK by sending JSON encoded message to the server and waiting for the response.During During the read loop if the plugin don’t see the server socket , it would try reconnecting to it for 6 seconds., in case of no success it would result in plugin failed to read.
...
- The plugin is disabled by default , so it should be enabled in collectd.config file
...
- by uncommenting the line "#LoadPlugin dpdk_telemetry"
- The plugin uses below default socket paths for the client and the server, to use configuration other than default below has to be updated in collectd.conf file
...
Reference:
- DPDK telemetry library - library - http://lxr.dpdk.org/dpdk/v19.08/source/lib/librte_telemetry
- DPDK telemetry library doc: - http://lxr.dpdk.org/dpdk/v19.08/source/doc/guides/howto/telemetry.rst