RFR: 8244: Turn off scientific notation in JMC for attributes with long data type

Suchita Chaturvedi schaturvedi at openjdk.org
Tue Aug 20 18:31:11 UTC 2024


On Tue, 20 Aug 2024 01:55:33 GMT, Marcus Hirt <hirt at openjdk.org> wrote:

>> This PR resolves the issue of scientific notation display for attributes with long datatype. This was the common pain-point of several customers and we were getting repeated requests of fixing this issue as they were not able to analyze the data due to this format of display. Since there is very less difference between the values of each row, after converting it to scientific notation all values look-alike and its difficult for customers to analyze the data. We have consulted the JFR team and there was a suggestion of skipping long attributes for this format display as they have followed in JFR-tools also. Same approach I have followed in JMC too. Please provide your valuable feedbacks. 
>> 
>> Attaching few screenshots for better reference:
>> 
>> Before:
>> <img width="464" alt="image" src="https://github.com/user-attachments/assets/44566b32-8f40-4f14-8885-c81ebd2e1d97">
>> 
>> After:
>> <img width="473" alt="image" src="https://github.com/user-attachments/assets/788785b1-d3b1-42fc-ae52-c03d01b20da2">
>> 
>> Before:
>> <img width="394" alt="image" src="https://github.com/user-attachments/assets/32568ba2-9925-4914-91db-d949f4f6d78e">
>> 
>> After:
>> <img width="385" alt="image" src="https://github.com/user-attachments/assets/90288ce2-1565-41ba-87c3-0e1fcc28b1ad">
>> 
>> Before:
>> <img width="688" alt="image" src="https://github.com/user-attachments/assets/0968b452-8097-4e71-b951-55c9996de8f6">
>> 
>> After:
>> <img width="692" alt="image" src="https://github.com/user-attachments/assets/0388ae51-dfc4-46b4-9e64-857b81da1853">
>
> core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/JdkAttributes.java line 796:
> 
>> 794: 			Messages.getString(Messages.ATTR_SHUTDOWN_REASON), Messages.getString(Messages.ATTR_SHUTDOWN_REASON_DESC),
>> 795: 			PLAIN_TEXT);
>> 796: 	public static final IAttribute<Number> CLASSLOADER_LOADED_COUNT_NUMBER = attr("loadedClassCount", //$NON-NLS-1$
> 
> Note that this is changing the generic type for publicly defined constants, and that we would be breaking people depending on them.

Thanks for the review @thegreystone . I understand this concern, thats why I have retained the attribute with same datatype i.e. IQuantity on line number 800. So basically the internal value is number but I have written a custom accessor to retain the uniformity of IQuantity data type. So that it doesn;t break anything. Please let me know if I am missing something here.

-------------

PR Review Comment: https://git.openjdk.org/jmc/pull/572#discussion_r1723765131


More information about the jmc-dev mailing list