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

Joshua Matsuoka jmatsuok at redhat.com
Mon Dec 3 16:52:47 UTC 2018


Hi Marcus,

Here's an updated webrev:
http://cr.openjdk.java.net/~jmatsuoka/JMC-6222/webrev.01/

Cheers,

- Josh

On Fri, Nov 30, 2018 at 5:23 PM Marcus Hirt <marcus.hirt at oracle.com> wrote:

> 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