RFR: 8185525: [Event Request] Add Tracing event for DictionarySizes
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Tue Apr 9 15:57:15 UTC 2019
On 4/9/19 11:44 AM, gerard ziemski wrote:
> Thank you Coleen for more feedback!
>
>
> On 4/9/19 9:43 AM, coleen.phillimore at oracle.com wrote:
>>>> http://cr.openjdk.java.net/~gziemski/8185525_rev2/src/hotspot/share/utilities/statistics.hpp.html
>>>>
>>>>
>>>> Can you rename this file tableStatistics.cpp/hpp because
>>>> "statistics" is too general and the class is called TableStatistics.
>>> I deliberately named the file "statistics.hpp", because I assume we
>>> will be adding more JFR events in the future, and this file could
>>> hold all the related code, which for now just comprises of table
>>> statistics as you pointed out.
>>
>> Hi I don't agree with that. I think if you want more different JFR
>> statistics you could add files where they belong as
>> differentStatistics.hpp
>
> Done.
Thanks!
>
>
>>>> http://cr.openjdk.java.net/~gziemski/8185525_rev2/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp.udiff.html
>>>>
>>>>
>>>> Is there anyway to parameterize these functions and/or add them to
>>>> TableStatistics?
>>> I didn't want to add JFR dependency to TableStatistics. I'm unsure
>>> what I can do more here, and whether it deserves the effort -
>>> TableStatistics basically serves as a struct for passing event
>>> attributes around, but I'm open to suggestions.
>>>
>>
>> I didn't think this should be moved from jfrPeriodic.cpp. I thought
>> it could be something like an X macro.
>>
>> Or just make this bit a function that they all call with event as
>> parameter.
>>
>> + event.set_numberOfBuckets(statistics._number_of_buckets);
>> + event.set_numberOfEntries(statistics._number_of_entries);
>> + event.set_totalFootprint(statistics._total_footprint);
>> + event.set_maximumBucketCount(statistics._maximum_bucket_size);
>> + event.set_averageBucketCount(statistics._average_bucket_size);
>> + event.set_varianceOfBucketCount(statistics._variance_of_bucket_size);
>> + event.set_stdDevOfBucketCount(statistics._stddev_of_bucket_size);
>> + event.set_insertionRate(statistics._add_rate);
>> + event.set_removalRate(statistics._remove_rate);
>> + event.commit();
>
> Each of those JFR events are an instance of a different class, so the
> best I can do is a macro here (otherwise I'd have to create a base
> class for the TableStatistics events from which to extend our 6 table
> events, but I'm not sure JFR architecture supports that - it generates
> class automatically from the event's meta description)
>
> Updated webrev http://cr.openjdk.java.net/~gziemski/8185525_rev4/
Yes, that looks better to me.
+ //statistics.print(tty, "SymbolTable");
You should remove commented out code. You can always add it back
locally if you want to debug it again. (I don't need to see this change).
thanks,
Coleen
>
>
> cheers
More information about the jmc-dev
mailing list