Anuket Project

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Requirement

Requirement is to collectd dpdk interface  stats and application  or global 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 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 the server and receives  the JSON encoded replies back.  

Plugin socket initialization:

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 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 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 the plugin interval seconds, if still no connection is established , the plugin  will be marked as uninitialized. 

Plugin read loop:

Once all the socket initialization happens, the plugin read loop will be kicked off every plugin interval  seconds to read the stats from DPDK by sending JSON encoded message to the server and waiting for the response. During the  read loop if the  plugin  don’t see the server socket ,  it would try reconnecting  to it for the plugin interval seconds, in case of no success it would  result in plugin read failed.

Setup:

Plugin configuration:

  • 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

           ClientSocketPath "/var/run/.client" 

           DpdkSocketPath "/var/run/dpdk/rte/telemetry"

Stats Representation:

      The port based dpdk stats will have port number suffixed at the end of the each stat name. The application or global stats are the ones
without any suffix.

Dependencies: 

This plugin depends on the DPDK 19.08 release. 

Reference: 

  1. DPDK telemetry library          - http://lxr.dpdk.org/dpdk/v19.08/source/lib/librte_telemetry
  2. DPDK telemetry library doc:  - http://lxr.dpdk.org/dpdk/v19.08/source/doc/guides/howto/telemetry.rst


  • No labels