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
Feature Request: ability to print all ucx_perftest inputs and outputs in a structured, machine-readable format (like JSON) #9587
Comments
|
I see that by setting
Notably, The problem is that many parameters used to perform the test (such as those I named above, TL;DRI'm not looking for an echo of the input arguments and parameters, I'm looking for a dump of all relevant internal variables. |
Can you try UCX_PROTO_INFO=y ? |
I have tried that, full output is below. Here again, there is no mention of the network interfaces used (
|
Different network devices can be used for different data transfer operations. Threshold for switching from eager to rendezvous protocol is set to |
I don't see $ ifconfig -a | grep -Ev '^($| )' | cut -d: -f1
can0
can1
docker0
eth0
eth1
eth2
eth3
l4tbr0
lo
usb0
usb1
wlan0 This is why it's frustrating to not be able to see detailed output of the
Here again, this information is not evident to me by the program output as it exists today.
I'm apparently expected to have a high degree of familiarity with the hardware, the networking protocol, and the tool itself in order to understand what the test is doing. But I don't even know what questions to ask to get up to speed on it. It's very frustrating. |
You can use |
I appreciate that, and I can see many uses for the It sounds like we are in agreement that the |
TL;DR
Please include functionality in
ucx_perftest
that prints the value of all configuration parameters that were used to perform a test alongside the results of the test itself. Without this, it's not straightforward to compare test results taken on 2 different systems because any number of other parameters might be different; without reporting them as part of test output, it is difficult to be 100% sure what the test is actually doing.I would prefer that this output be provided in a machine-readable format, for ease of ingesting into other systems.
Background
ucx_perftest
seems to determine its test parameters from at least these sources:This can cause significant issues when trying to collect data in bulk, or longitudinally. Here are some examples:
-c 0
flag). Then I run the test again. The results are different. Is it because a different CPU was used? This is not possible to tell, because the exact value used is not included in the program output.UCX_RNDV_THRESH
. Then I decide I want to run multiple tests specifying a different value ofUCX_RNDV_THRESH
for each; but which of these new results is comparable to the original result? This is not possible to tell, because the exact value used is not included in the program output.UCX_NET_DEVICES
. Then I change my network settings, and run another test without specifyingUCX_NET_DEVICES
. The results are different. Is it because different interfaces were used, or something else entirely? This is not possible to tell...Desired Behavior
Whether by outputting to STDOUT or to a specified filename, I would like the output to be in JSON format, containing:
The text was updated successfully, but these errors were encountered: