From f114fb50d5447af55bda7c2b2a2b8e76765e0740 Mon Sep 17 00:00:00 2001 From: Suchita Chaturvedi Date: Thu, 26 Sep 2024 18:16:36 +0000 Subject: [PATCH] 8259: Several JFR pages throwing exceptions after JMC-8244 Reviewed-by: aptmac --- .../jmc/flightrecorder/jdk/JdkAttributes.java | 114 +++++++++--------- 1 file changed, 59 insertions(+), 55 deletions(-) diff --git a/core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/JdkAttributes.java b/core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/JdkAttributes.java index 55cf2efa0..e50b71149 100644 --- a/core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/JdkAttributes.java +++ b/core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/JdkAttributes.java @@ -387,8 +387,32 @@ public IQuantity getMember(U i) { } }); - public static final IAttribute RECORDING_ID = attr("id", Messages.getString(Messages.ATTR_RECORDING_ID), //$NON-NLS-1$ - NUMBER); + private static IAttribute convertNumberToQuantity( + String identifier, String name, String description, IAttribute attribute) { + return Attribute.canonicalize(new Attribute(identifier, name, //$NON-NLS-1$ + description, NUMBER) { + @Override + public IMemberAccessor customAccessor(IType type) { + + final IMemberAccessor accessor = attribute.getAccessor(type); + return accessor == null ? null : new IMemberAccessor() { + @Override + public IQuantity getMember(U i) { + Number countNumber = accessor.getMember(i); + return countNumber == null ? null : UnitLookup.NUMBER_UNITY.quantity(countNumber); + } + }; + } + }); + } + + public static final IAttribute RECORDING_ID_NUMBER = attr("id", //$NON-NLS-1$ + Messages.getString(Messages.ATTR_RECORDING_ID), Messages.getString(Messages.ATTR_RECORDING_ID), RAW_NUMBER); + + public static final IAttribute RECORDING_ID = convertNumberToQuantity("id", + Messages.getString(Messages.ATTR_RECORDING_ID), Messages.getString(Messages.ATTR_RECORDING_ID), + RECORDING_ID_NUMBER); + public static final IAttribute RECORDING_NAME = attr("name", //$NON-NLS-1$ Messages.getString(Messages.ATTR_RECORDING_NAME), PLAIN_TEXT); public static final IAttribute RECORDING_START = attr("recordingStart", //$NON-NLS-1$ @@ -752,8 +776,15 @@ public String getMember(U i) { Messages.getString(Messages.ATTR_FLAG_OLD_VALUE_TEXT), PLAIN_TEXT); public static final IAttribute FLAG_ORIGIN = attr("origin", Messages.getString(Messages.ATTR_FLAG_ORIGIN), //$NON-NLS-1$ PLAIN_TEXT); - public static final IAttribute FLAG_VALUE_NUMBER = attr("value", //$NON-NLS-1$ - Messages.getString(Messages.ATTR_FLAG_VALUE_NUMBER), NUMBER); + + public static final IAttribute FLAG_VALUE_NUMBER_RAW = attr("value", //$NON-NLS-1$ + Messages.getString(Messages.ATTR_FLAG_VALUE_NUMBER), Messages.getString(Messages.ATTR_FLAG_VALUE_NUMBER), + RAW_NUMBER); + + public static final IAttribute FLAG_VALUE_NUMBER = convertNumberToQuantity("value", + Messages.getString(Messages.ATTR_FLAG_VALUE_NUMBER), Messages.getString(Messages.ATTR_FLAG_VALUE_NUMBER), + FLAG_VALUE_NUMBER_RAW); + public static final IAttribute FLAG_VALUE_BOOLEAN = attr("value", //$NON-NLS-1$ Messages.getString(Messages.ATTR_FLAG_VALUE_BOOLEAN), FLAG); public static final IAttribute FLAG_VALUE_TEXT = attr("value", //$NON-NLS-1$ @@ -797,26 +828,18 @@ public IMemberAccessor customAccessor(IType type) { Messages.getString(Messages.ATTR_CLASSLOADER_LOADED_COUNT), Messages.getString(Messages.ATTR_CLASSLOADER_LOADED_COUNT_DESC), RAW_NUMBER); - public static final IAttribute CLASSLOADER_LOADED_COUNT = Attribute.canonicalize( - new Attribute("loadedClassCount", Messages.getString(Messages.ATTR_CLASSLOADER_LOADED_COUNT), //$NON-NLS-1$ - Messages.getString(Messages.ATTR_CLASSLOADER_LOADED_COUNT_DESC), NUMBER) { - @Override - public IMemberAccessor customAccessor(IType type) { + public static final IAttribute CLASSLOADER_LOADED_COUNT = convertNumberToQuantity("loadedClassCount", + Messages.getString(Messages.ATTR_CLASSLOADER_LOADED_COUNT), + Messages.getString(Messages.ATTR_CLASSLOADER_LOADED_COUNT_DESC), CLASSLOADER_LOADED_COUNT_NUMBER); - final IMemberAccessor accessor = CLASSLOADER_LOADED_COUNT_NUMBER.getAccessor(type); - return accessor == null ? null : new IMemberAccessor() { - @Override - public IQuantity getMember(U i) { - Number countNumber = accessor.getMember(i); - return countNumber == null ? null : UnitLookup.NUMBER_UNITY.quantity(countNumber); - } - }; - } - }); + public static final IAttribute CLASSLOADER_UNLOADED_COUNT_NUMBER = attr("unloadedClassCount", //$NON-NLS-1$ + Messages.getString(Messages.ATTR_CLASSLOADER_UNLOADED_COUNT), + Messages.getString(Messages.ATTR_CLASSLOADER_UNLOADED_COUNT_DESC), RAW_NUMBER); - public static final IAttribute CLASSLOADER_UNLOADED_COUNT = attr("unloadedClassCount", //$NON-NLS-1$ + public static final IAttribute CLASSLOADER_UNLOADED_COUNT = convertNumberToQuantity("unloadedClassCount", Messages.getString(Messages.ATTR_CLASSLOADER_UNLOADED_COUNT), - Messages.getString(Messages.ATTR_CLASSLOADER_UNLOADED_COUNT_DESC), NUMBER); + Messages.getString(Messages.ATTR_CLASSLOADER_UNLOADED_COUNT_DESC), CLASSLOADER_UNLOADED_COUNT_NUMBER); + private static final IAttribute CLASS_DEFINING_CLASSLOADER_V0 = attr("definingClassLoader", //$NON-NLS-1$ Messages.getString(Messages.ATTR_CLASS_DEFINING_CLASSLOADER), CLASS); private static final IAttribute CLASS_INITIATING_CLASSLOADER_V0 = attr("initiatingClassLoader", //$NON-NLS-1$ @@ -1151,22 +1174,9 @@ public IQuantity getMember(U i) { Messages.getString(Messages.ATTR_EXCEPTION_THROWABLES_COUNT), Messages.getString(Messages.ATTR_EXCEPTION_THROWABLES_COUNT_DESC), RAW_NUMBER); - public static final IAttribute EXCEPTION_THROWABLES_COUNT = Attribute.canonicalize( - new Attribute("throwables", Messages.getString(Messages.ATTR_EXCEPTION_THROWABLES_COUNT), //$NON-NLS-1$ - Messages.getString(Messages.ATTR_EXCEPTION_THROWABLES_COUNT_DESC), NUMBER) { - @Override - public IMemberAccessor customAccessor(IType type) { - - final IMemberAccessor accessor = EXCEPTION_THROWABLES_COUNT_NUMBER.getAccessor(type); - return accessor == null ? null : new IMemberAccessor() { - @Override - public IQuantity getMember(U i) { - Number countNumber = accessor.getMember(i); - return countNumber == null ? null : UnitLookup.NUMBER_UNITY.quantity(countNumber); - } - }; - } - }); + public static final IAttribute EXCEPTION_THROWABLES_COUNT = convertNumberToQuantity("throwables", + Messages.getString(Messages.ATTR_EXCEPTION_THROWABLES_COUNT), + Messages.getString(Messages.ATTR_EXCEPTION_THROWABLES_COUNT_DESC), EXCEPTION_THROWABLES_COUNT_NUMBER); public static final IAttribute EXCEPTION_THROWNCLASS = attr("thrownClass", //$NON-NLS-1$ Messages.getString(Messages.ATTR_EXCEPTION_THROWNCLASS), CLASS); @@ -1212,8 +1222,15 @@ public IMemberAccessor customAccessor(IType type) { }); public static final IAttribute REFERENCE_STATISTICS_TYPE = attr("type", //$NON-NLS-1$ Messages.getString(Messages.ATTR_REFERENCE_STATISTICS_TYPE), PLAIN_TEXT); - public static final IAttribute REFERENCE_STATISTICS_COUNT = attr("count", //$NON-NLS-1$ - Messages.getString(Messages.ATTR_REFERENCE_STATISTICS_COUNT), NUMBER); + + public static final IAttribute REFERENCE_STATISTICS_COUNT_NUMBER = attr("count", //$NON-NLS-1$ + Messages.getString(Messages.ATTR_REFERENCE_STATISTICS_COUNT), + Messages.getString(Messages.ATTR_REFERENCE_STATISTICS_COUNT), RAW_NUMBER); + + public static final IAttribute REFERENCE_STATISTICS_COUNT = convertNumberToQuantity("count", //$NON-NLS-1$ + Messages.getString(Messages.ATTR_REFERENCE_STATISTICS_COUNT), + Messages.getString(Messages.ATTR_REFERENCE_STATISTICS_COUNT), REFERENCE_STATISTICS_COUNT_NUMBER); + public static final IAttribute GC_SUM_OF_PAUSES = attr("sumOfPauses", //$NON-NLS-1$ Messages.getString(Messages.ATTR_GC_SUM_OF_PAUSES), Messages.getString(Messages.ATTR_GC_SUM_OF_PAUSES_DESC), TIMESPAN); @@ -1347,22 +1364,9 @@ public IQuantity getMember(U i) { Messages.getString(Messages.ATTR_TOTAL_FINALIZERS_RUN), Messages.getString(Messages.ATTR_TOTAL_FINALIZERS_RUN_DESC), RAW_NUMBER); - public static final IAttribute TOTAL_FINALIZERS_RUN = Attribute.canonicalize( - new Attribute("totalFinalizersRun", Messages.getString(Messages.ATTR_TOTAL_FINALIZERS_RUN), //$NON-NLS-1$ - Messages.getString(Messages.ATTR_TOTAL_FINALIZERS_RUN_DESC), NUMBER) { - @Override - public IMemberAccessor customAccessor(IType type) { - - final IMemberAccessor accessor = TOTAL_FINALIZERS_RUN_NUMBER.getAccessor(type); - return accessor == null ? null : new IMemberAccessor() { - @Override - public IQuantity getMember(U i) { - Number countNumber = accessor.getMember(i); - return countNumber == null ? null : UnitLookup.NUMBER_UNITY.quantity(countNumber); - } - }; - } - }); + public static final IAttribute TOTAL_FINALIZERS_RUN = convertNumberToQuantity("totalFinalizersRun", + Messages.getString(Messages.ATTR_TOTAL_FINALIZERS_RUN), + Messages.getString(Messages.ATTR_TOTAL_FINALIZERS_RUN_DESC), TOTAL_FINALIZERS_RUN_NUMBER); public static final IAttribute FINALIZABLE_CLASS = attr("finalizableClass", //$NON-NLS-1$ Messages.getString(Messages.ATTR_FINALIZABLE_CLASS),