New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dpdk_telemetry plugin: add plugin for DPDK metrics via DPDK Telemetry library #3273
Conversation
Hi , I am a new contributor to the collectd and I have pushed new plugin and the build seems failing Thanks, |
This is typical for Collectd infrastructure to have continuosly failing CI checks. Nobody cares.
Don't think things happen fast here. Some guys waits for years before his PR gets merged (Personally, I have been waiting for months). This is a harsh truth, sorry for bad news. |
Fortunately, you have passed "clang-format" check. That is serious success. |
Thanks @reshmapattan for your contributions. Looking in to the CI issues now. |
@sunkuranganath, you is responsible person for Collectd CI? If you is responsible for Collectd CI, will you solve issue wide, or you will help only Intel people, leaving other away (example: #3264)? |
From my POV, this plugin implementation is strange and needs to be reworked. |
But |
@rpv-tomsk I do not have permissions/technical accesses to the Collectd CI nor that I am responsible for it. However as part of my learning, I am trying to ramp up as much as I can to see what I can do. Some sort of response is better than nothing, especially in open source community. While I am buried with my own deadlines, doing my best. As per solving the issues, I do believe in helping as many as I can! As we make progress in one, we could help others with similar issues. :) |
I will remove the
|
That's why my #3159 left opened w/o any comments for 4 months. Ok.... |
If you format your comments to be more readable, you will get more responses, I think. |
So, you simply can't do anything with this. |
I have pushed the new changes by removing the |
The CI job failed due to network (or ubuntu mirror issues): E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/s/systemd/libudev1_229-4ubuntu21.22_amd64.deb Unable to connect to apt.cache.travis-ci.com:http: E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/liba/libatasmart/libatasmart4_0.19-3_amd64.deb Unable to connect to apt.cache.travis-ci.com:http: |
Would it be possible to use something like yajl instead of another json library? |
So, CI failed due to networking issues, not because of the submission itself. |
@@ -6802,6 +6852,7 @@ AC_PLUGIN([dns], [$with_libpcap], [DNS traffic analy | |||
AC_PLUGIN([dpdkevents], [$plugin_dpdkevents], [Events from DPDK]) | |||
AC_PLUGIN([dpdkstat], [$plugin_dpdkstat], [Stats from DPDK]) | |||
AC_PLUGIN([drbd], [$plugin_drbd], [DRBD statistics]) | |||
AC_PLUGIN([dpdk_telemetry], [$plugin_dpdk_telemetry], [Metrics from DPDK Telemetry]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, keep list sorted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed and available in latest commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rpv-tomsk , Can you please approve the pull request , if no more comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I'm untrusted contributor
and have no such permission.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. +1
f0619a1
to
33826e4
Compare
@anaudx , @kkepka , @sunkuranganath |
… library This patch introduces a new plugin for collectd, which consumes DPDK metrics via the dpdk_telemetry library. The collectd plugin here provides an easy way to use the DPDK telemetry API to query ethernet device metrics. The collectd plugin retrieves metrics from a DPDK packet forwarding application by sending a JSON formatted message via a UNIX domain socket. The DPDK telemetry component will respond with a JSON formatted reply, delivering the requested metrics. The dpdk_telemetry collectd plugin parses the JSON data, and publishes the metric values to collectd for further use. This plugin has a dependency on the DPDK Telemetry library, as it must be "in sync" with the DPDK Telemetry implementation. Change-Id: If3343aae4c5473f0574465fab0395b7672fa2488 Signed-off-by: Emma Kenny <emma.kenny@intel.com> Signed-off-by: Brian Archbold <brian.archbold@intel.com> Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Remove socket reconnect logic from init callbacks. Read callbacks will try to connect to the socket if not connected. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Place dpdk_telemetry plugin in sorted order in the list. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Some places missing the lib prefix in "with_libjansson", so add the missing prefix. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Use "json_loads" symbol instead of "json_is_object" in configure.ac . Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Fix some of the logs level to be debug instead of info. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Move read loop callback registration to module_register(). Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Instead of closing each socket during failures, just call clean up function to be more consistent across the file. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
33826e4
to
097e87b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good to me. I have tested with DPDK 19.08 (testpmd app) and pktgen powered by DPDK.
@mrunge : can this be mergered to master now. |
I am unfortunately utterly busy with other things currently. This will have to wait (or until someone else approves this PR). Self approving won't help you. In any case, you could help by reviewing other PRs. |
Ok , if you are busy I can wait. In case if you missed it is this already aprroved by mkobyli . |
I believe @reshmapattan just wanted to friendly ping / bump this up here, as 5.10 is out and window for new features for 5.11 is open now. |
Given there arent any more comments/review, i hope we can approve this to make in to 5.11 release. |
There hasn't been any serious reviews for now.... |
ChangeLog: dpdk_telemetry plugin: New plugin to fetch DPDK metrics.
This patch introduces a new plugin for collectd, which consumes DPDK metrics
via the dpdk_telemetry library. The collectd plugin here provides an
easy way to use the DPDK telemetry API to query ethernet device metrics.
The collectd plugin retrieves metrics from a DPDK packet forwarding
application by sending a JSON formatted message via a UNIX domain
socket. The DPDK telemetry component will respond with a JSON formatted
reply, delivering the requested metrics. The dpdk_telemetry collectd
plugin parses the JSON data, and publishes the metric values to collectd
for further use.
This plugin has a dependency on the DPDK Telemetry library, as it must be
"in sync" with the DPDK Telemetry implementation.
Signed-off-by: Emma Kenny emma.kenny@intel.com
Signed-off-by: Brian Archbold brian.archbold@intel.com
Signed-off-by: Reshma Pattan reshma.pattan@intel.com