-
-
Notifications
You must be signed in to change notification settings - Fork 242
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
Add Rocestat PMDA for collecting and analyzing RoCE device metrics #2132
base: main
Are you sure you want to change the base?
Add Rocestat PMDA for collecting and analyzing RoCE device metrics #2132
Conversation
This commit introduces the Rocestat PMDA, which enables the collection of hardware and software statistics for RDMA over Converged Ethernet (RoCE) devices. The PMDA provides essential metrics such as packet reception statistics, transport-level performance data, and hardware counters to facilitate system monitoring and analysis. This integration enhances diagnostic capabilities, particularly for analyzing network performance in RoCE-enabled environments. Signed-off-by: Mohith Kumar Thummaluru <[email protected]>
207c068
to
1624ca9
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.
@mohith-kumar-thummaluru hi, nice work - there's a few questions and observations inline. Also, we'll need to do some automated regression tests for this new agent - you might find the "lio" PMDA as a good reference python case there (see qa/lio/ and qa/1061)
Hi Nathan, Thanks for reviewing the code and providing your comments. I'll make the necessary updates and send a v2. |
@natoscott Need a suggestion. |
… rocestat-pmda
e7ef98e
to
5f063cc
Compare
Signed-off-by: Mohith Kumar Thummaluru <[email protected]>
5f063cc
to
d916d2d
Compare
|
||
def get_up_interfaces(self): | ||
"""Get the names of all interfaces that are in the Up state.""" | ||
result = subprocess.Popen(['/usr/bin/ibdev2netdev'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) |
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.
Hmm ... there is no /usr/bin/ibdev2netdev installed by default on my Ubuntu system, so I think we need some configure magic and/or packaging magic to make this an optionally built and packaged PMDA. Think outside the RH/Oracle box ... SuSE? all the Debian derivatives? *BSD? Windows? MacOS?
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.
I have added a conditional check to verify whether the IB devices are configured. Based on this, the PMDA will be installed. I hope this logic works as expected. Let me know your thoughts on this.
Feel free to include it here. It will also need tests, man pages, etc. Also, consider using a pmrep(1) configuration file as the way to report these metrics, perhaps no new code/tests/docs would be needed that way? |
… rocestat-pmda
- Removed binary notready protocol and unnecessary sleep. - Eliminated redundant debugger logging wrappers. - Cleaned up unused variables and imports. - Fixed PM units for metrics. - Moved delta/rate conversion calculation logic from the PMDA. - Added conditional check in installation script to run only if IB devices are configured; exit otherwise. - Integrated pylint static code checking in the Makefile. Signed-off-by: Mohith Kumar Thummaluru <[email protected]>
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.
@mohith-kumar-thummaluru thanks for the updates - if further advice is needed (esp. with QA and man pages) please let us know. Also, the pylint makefile change has shown there's quite a few warnings to resolve - check the fedora CI results for that (that's where we enable pylint by default).
This commit introduces the Rocestat PMDA, which enables the collection of hardware and software statistics for RDMA over Converged Ethernet (RoCE) devices. The PMDA provides essential metrics such as packet reception statistics, transport-level performance data, and hardware counters to facilitate system monitoring and analysis.
This integration enhances diagnostic capabilities, particularly for analyzing network performance in RoCE-enabled environments.