Skip to content

Capture Interface type, motherboard model#110

Open
Avinash1423 wants to merge 2 commits intoJDiskMark:devfrom
Avinash1423:interfaceAndMotherboard
Open

Capture Interface type, motherboard model#110
Avinash1423 wants to merge 2 commits intoJDiskMark:devfrom
Avinash1423:interfaceAndMotherboard

Conversation

@Avinash1423
Copy link
Contributor

#87

Added a method getMotherBoardName and getInterfaceType methods in Util.java .
These methods are sensitive to platform.

Mother Board Name is displayed along w cpu info in title area
Interface Type is diplayed along with disk info

@Avinash1423
Copy link
Contributor Author

@jamesmarkchan pls take a look at the PR.


line=line.trim();

if(line.isEmpty()) { continue;}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very minor but if you could add spaces around the keywords like if to avoid others formatting your code and you don't loose the line authorship. same with the = assignment operator and before the {. :)


try {
if (App.os.startsWith("Windows")) {
process = new ProcessBuilder("wmic", "diskdrive", "get", "InterfaceType").start();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have three disk on my system and got this:

image

I think you'd need to get the drive letter to map a drive to it's interface. I wonder if we would be able to tell between scsi and m2 or scis and pcie4/pcie5. I have x3 gen 4 pcie m2 drives.


if(line.isEmpty()) { continue;}

if(line.equalsIgnoreCase("InterfaceType") || line.equalsIgnoreCase("TRAN")|| line.equalsIgnoreCase("NAME")) { continue;}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I've found helpful for code reviews and future maintenance is to show the normal output of the command being used in the java docs or comments. I'm definitely interested in collecting more information on the drives interface so happy to see you are looking at this. worth looking at disk-model.ps1 to see how the drive and target attribute column can be queried in order to create the mapping. might be able to do it with command line also. @jslcom might have thoughts on the linux solutions.


try {
if (App.os.startsWith("Windows")) {
process = new ProcessBuilder("wmic", "baseboard", "get", "Product").start();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i got this

image

} else if (App.os.contains("Linux")) {
process = new ProcessBuilder("cat", "/sys/devices/virtual/dmi/id/board_name").start();
} else if (App.os.startsWith("Mac OS")) {
process = new ProcessBuilder("system_profiler", "SPHardwareDataType").start();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i got this

image

} else if (App.os.contains("Linux")) {
process = new ProcessBuilder("lsblk", "-d", "-o", "tran").start();
} else if (App.os.startsWith("Mac OS")) {
process = new ProcessBuilder("diskutil", "info", "disk0").start();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is what the output looks like, not sure I see the interface.

image

@jamesmarkchan
Copy link
Member

@Avinash1423 i'm not sure if the title and graph title are getting too cluttered but nice to explore making this info easily read. For certain we want this information stored as part of the benchmark and accessible to us and the user.

Screenshot From 2026-01-03 12-24-16

my thoughts to make look more consistent are:

  1. in the title replace the | with a -
  2. in the chart title sequence in info so the interface comes after the disk model and proceeds the partition symbol and is separated by dashes -.

Signed-off-by: Avinash Niyas <avinashNiyaz1423@gmail.com>
Signed-off-by: Avinash Niyas <avinashNiyaz1423@gmail.com>
@Avinash1423 Avinash1423 force-pushed the interfaceAndMotherboard branch from 88d6f95 to d9dc368 Compare January 6, 2026 19:52
@Avinash1423
Copy link
Contributor Author

@jamesmarkchan i made some changes, please take a look.

@jamesmarkchan
Copy link
Member

jamesmarkchan commented Jan 12, 2026

@Avinash1423 definitely interesting to see how this looks, ty for preparing it, it is possible that it is a little cluttered at the top so we'll have to think about it. we still have some time before the target 1.0.0 release.

image

The above screenshot is on my old and aging intel NUC running Fedora.

i'm working on a refactor of the data model where it will become pretty clear where this information can be captured so it is sent back to our community portal. i'll ping you once i get that working in case you would like to pull updates and incorporate that into this branch.

after the information is collected at our community portal the web page is much more spacious for laying out more information and @JasmineRRod can think about where this information can be displayed.

@jamesmarkchan
Copy link
Member

@Avinash1423 if you pull from dev it should give you the new BenchmarkSystemInfo class where this data you are collecting can be stored.

84dcfae#diff-34af0e420f17e3cfbdcaa620020617221c57b66aef920f5f34028cfe2763d285

@jamesmarkchan
Copy link
Member

windows on launch

image

if we resize the chart it wraps like this:

image

after a benchmark we loose the interface

image

@Avinash1423 i think we should detect when OS is not supported and not append the extra separater and interface and when a benchmark is done it would be good to update the method that is used to generate the label ideally in just a single function. not sure if we're manually building it twice. looks good on windows though.

@Avinash1423
Copy link
Contributor Author

@jamesmarkchan
will take a look within this week

@jamesmarkchan
Copy link
Member

jamesmarkchan commented Feb 3, 2026

@Avinash1423 sounds good! to get that into the future portal upload will want to add fields to the BenchmarkSystemInfo (for the motherboard) and BenchmarkDriveInfo (for the interface).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments