JMC-6222 Allow filtering by package for the Method Profiling Rule

Marcus Hirt marcus.hirt at oracle.com
Fri Nov 30 22:21:34 UTC 2018


Hi Josh!

Quickly tried your patch, but get this:
java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.openjdk.jmc.flightrecorder.ui.RuleManager$EvaluateJob.run(RuleManager.java:117)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
Caused by: java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
at java.util.AbstractList$Itr.remove(AbstractList.java:374)
at java.util.AbstractCollection.removeAll(AbstractCollection.java:376)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1$1.processPath(MethodProfilingRule.java:462)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1$1.getValue(MethodProfilingRule.java:421)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1$1.getValue(MethodProfilingRule.java:405)
at org.openjdk.jmc.common.item.GroupingAggregator$GroupingAggregatorImpl.getValue(GroupingAggregator.java:164)
at org.openjdk.jmc.common.item.GroupingAggregator$GroupingAggregatorImpl.getValue(GroupingAggregator.java:134)
at org.openjdk.jmc.common.item.Aggregators$MergingAggregator.getValue(Aggregators.java:97)
at org.openjdk.jmc.common.item.Aggregators$MergingAggregator.getValue(Aggregators.java:81)
at org.openjdk.jmc.flightrecorder.ui.ItemIterableToolkit.aggregate(ItemIterableToolkit.java:128)
at org.openjdk.jmc.flightrecorder.ui.ItemCollectionToolkit$StreamBackedItemCollection.getAggregate(ItemCollectionToolkit.java:91)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1.performCalculation(MethodProfilingRule.java:467)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1.visitWindow(MethodProfilingRule.java:344)
at org.openjdk.jmc.flightrecorder.rules.util.SlidingWindowToolkit.slidingWindowUnordered(SlidingWindowToolkit.java:200)
at org.openjdk.jmc.flightrecorder.rules.util.SlidingWindowToolkit.slidingWindowUnordered(SlidingWindowToolkit.java:158)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule.getResult(MethodProfilingRule.java:239)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule.access$000(MethodProfilingRule.java:97)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$MethodProfilingCallable.call(MethodProfilingRule.java:196)
at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$MethodProfilingCallable.call(MethodProfilingRule.java:184)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:748)

The regexp used:
java\.util\..*
And input file:
The "before" file from here:
https://github.com/thegreystone/jmc-tutorial/tree/master/projects/02_JFR_HotMethods

Kind regards,
Marcus

On 2018-11-30, 17:25, "jmc-dev on behalf of Joshua Matsuoka" <jmc-dev-bounces at openjdk.java.net on behalf of jmatsuok at redhat.com> wrote:

    Hi,
    
    The following patch adds support for filtering the method profiling rule by
    package name. When a regex is supplied via TypedPreferences, it will drop
    any frames matching the regex until reaching the first one that doesnt
    match, treating that one as the hot frame.
    
    http://cr.openjdk.java.net/~jmatsuoka/JMC-6222/webrev.00/jmc.patch
    
    Thoughts?
    
    Bug ID:
    https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6222?filter=allopenissues
    
    Cheers,
    
    - Josh
    
    




More information about the jmc-dev mailing list