1414
1515import org .openjdk .jmc .common .item .IItemCollection ;
1616import org .openjdk .jmc .common .util .IPreferenceValueProvider ;
17+ import org .openjdk .jmc .flightrecorder .rules .IResult ;
1718import org .openjdk .jmc .flightrecorder .rules .IRule ;
18- import org .openjdk .jmc .flightrecorder .rules .Result ;
19+ import org .openjdk .jmc .flightrecorder .rules .ResultProvider ;
1920import org .openjdk .jmc .flightrecorder .rules .RuleRegistry ;
20- import org .openjdk .jmc .flightrecorder .rules .Severity ;
2121import org .quickperf .ExtractablePerformanceMeasure ;
2222import org .quickperf .jvm .jfr .JfrRecording ;
2323import org .quickperf .unit .Count ;
@@ -33,26 +33,28 @@ public class JmcRuleCountMeasureExtractor implements ExtractablePerformanceMeasu
3333
3434 public static final JmcRuleCountMeasureExtractor INSTANCE = new JmcRuleCountMeasureExtractor ();
3535
36- private JmcRuleCountMeasureExtractor () {}
36+ private JmcRuleCountMeasureExtractor () {
37+ }
3738
3839 @ Override
3940 public JmcRulesMeasure extractPerfMeasureFrom (JfrRecording jfrRecording ) {
4041
4142 IItemCollection jfrEvents = jfrRecording .getJfrEvents ();
42- List <Result > ruleEvaluations = evaluateJmcRules (jfrEvents );
43+ List <IResult > ruleEvaluations = evaluateJmcRules (jfrEvents );
4344
4445 List <Count > jmcRules = buildJmcRuleCountsFrom (ruleEvaluations );
4546
4647 return new JmcRulesMeasure (jmcRules );
4748
4849 }
4950
50- private List <Result > evaluateJmcRules (IItemCollection jfrEvents ) {
51- List <Result > ruleEvaluations = new ArrayList <>();
51+ private List <IResult > evaluateJmcRules (IItemCollection jfrEvents ) {
52+ List <IResult > ruleEvaluations = new ArrayList <>();
5253 for (IRule rule : RuleRegistry .getRules ()) {
53- RunnableFuture <Result > future = rule .evaluate (jfrEvents , IPreferenceValueProvider .DEFAULT_VALUES );
54+ RunnableFuture <IResult > future = rule .createEvaluation (jfrEvents ,
55+ IPreferenceValueProvider .DEFAULT_VALUES , new ResultProvider ());
5456 future .run ();
55- Result result ;
57+ IResult result ;
5658 try {
5759 result = future .get ();
5860 } catch (InterruptedException | ExecutionException e ) {
@@ -63,11 +65,11 @@ private List<Result> evaluateJmcRules(IItemCollection jfrEvents) {
6365 return ruleEvaluations ;
6466 }
6567
66- private List <Count > buildJmcRuleCountsFrom (List <Result > ruleEvaluations ) {
68+ private List <Count > buildJmcRuleCountsFrom (List <IResult > ruleEvaluations ) {
6769 List <Count > jmcRules = new ArrayList <>();
68- for (Result ruleEvaluation : ruleEvaluations ) {
70+ for (IResult ruleEvaluation : ruleEvaluations ) {
6971 Count ruleScore = buildJmcRuleCountFrom (ruleEvaluation );
70- if (!ruleToExclude (ruleScore )) {
72+ if (!ruleToExclude (ruleScore )) {
7173 jmcRules .add (ruleScore );
7274 }
7375 }
@@ -76,26 +78,26 @@ private List<Count> buildJmcRuleCountsFrom(List<Result> ruleEvaluations) {
7678
7779 private boolean ruleToExclude (Count ruleScore ) {
7880 String ruleDescription = ruleScore .getComment ();
79- return ruleDescription .contains ("Rule: TLAB Allocation Ratio" )
80- || ruleDescription .contains ("Rule: Competing Processes" )
81- || ruleDescription .contains ("Rule: Command Line Options Check" )
82- || ruleDescription .contains ("Rule: Metaspace Live Set Trend" );
81+ return ruleDescription .contains ("Rule: TLAB Allocation Ratio" )
82+ || ruleDescription .contains ("Rule: Competing Processes" )
83+ || ruleDescription .contains ("Rule: Command Line Options Check" )
84+ || ruleDescription .contains ("Rule: Metaspace Live Set Trend" );
8385 }
8486
85- private Count buildJmcRuleCountFrom (Result result ) {
87+ private Count buildJmcRuleCountFrom (IResult result ) {
8688 StringWriter stringWriter = new StringWriter ();
8789
8890 PrintWriter printWriter = new PrintWriter (stringWriter );
8991 printWriter .println ("Rule: " + result .getRule ().getName ());
90- printWriter .println ("Severity: " + Severity . get ( result .getScore () ));
91- long score = (long ) result .getScore ();
92+ printWriter .println ("Severity: " + result .getSeverity ( ));
93+ long score = (long ) result .getSeverity (). getLimit ();
9294 printWriter .println ("Score: " + score );
93- String longDescriptionAsHtml = result .getLongDescription ();
95+ String longDescriptionAsHtml = result .getExplanation ();
9496 String textDesc = HtmlToPlainTextTransformer .INSTANCE .convertHtmlToPlainText (longDescriptionAsHtml );
9597 printWriter .println ("Message: " + textDesc );
9698
9799 String description = stringWriter .toString ();
98100 return new Count (score , description );
99101 }
100102
101- }
103+ }
0 commit comments