From 431b57cbbb05562565c0ac7dc46204fb6e2b363c Mon Sep 17 00:00:00 2001 From: Jaime Wren Date: Mon, 6 Jul 2020 22:39:39 +0000 Subject: [PATCH] Add an additional category into completion_metrics.dart: parameter references Change-Id: Ifed40f0eb0472894be92a41f105a6dfb36bcbb36 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153367 Reviewed-by: Brian Wilkerson Commit-Queue: Jaime Wren --- .../completion_metrics.dart | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/pkg/analysis_server/tool/completion_metrics/completion_metrics.dart b/pkg/analysis_server/tool/completion_metrics/completion_metrics.dart index c6ceb7a2b32..66b4b1e11dc 100644 --- a/pkg/analysis_server/tool/completion_metrics/completion_metrics.dart +++ b/pkg/analysis_server/tool/completion_metrics/completion_metrics.dart @@ -175,6 +175,7 @@ enum CompletionGroup { staticMember, typeReference, localReference, + paramReference, topLevel } @@ -222,6 +223,9 @@ class CompletionMetrics { MeanReciprocalRankComputer localRefMrrComputer = MeanReciprocalRankComputer('local reference completions'); + MeanReciprocalRankComputer paramRefMrrComputer = + MeanReciprocalRankComputer('param reference completions'); + MeanReciprocalRankComputer topLevelMrrComputer = MeanReciprocalRankComputer('non-type member completions'); @@ -259,6 +263,10 @@ class CompletionMetrics { /// (worst) ranks for completing to local references. List localRefWorstResults = []; + /// A list of the top [maxWorstResults] completion results with the highest + /// (worst) ranks for completing to parameter references. + List paramRefWorstResults = []; + /// A list of the top [maxWorstResults] completion results with the highest /// (worst) ranks for completing to top-level declarations. List topLevelWorstResults = []; @@ -279,6 +287,10 @@ class CompletionMetrics { /// longest top compute for local references. List localRefSlowestResults = []; + /// A list of the top [maxSlowestResults] completion results that took the + /// longest top compute for parameter references. + List paramRefSlowestResults = []; + /// A list of the top [maxSlowestResults] completion results that took the /// longest top compute for top-level declarations. List topLevelSlowestResults = []; @@ -328,7 +340,9 @@ class CompletionMetrics { case CompletionGroup.localReference: localRefMrrComputer.addRank(rank); break; - + case CompletionGroup.paramReference: + paramRefMrrComputer.addRank(rank); + break; case CompletionGroup.topLevel: topLevelMrrComputer.addRank(rank); break; @@ -355,6 +369,8 @@ class CompletionMetrics { return typeRefSlowestResults; case CompletionGroup.localReference: return localRefSlowestResults; + case CompletionGroup.paramReference: + return paramRefSlowestResults; case CompletionGroup.topLevel: return topLevelSlowestResults; } @@ -389,6 +405,8 @@ class CompletionMetrics { return typeRefWorstResults; case CompletionGroup.localReference: return localRefWorstResults; + case CompletionGroup.paramReference: + return paramRefWorstResults; case CompletionGroup.topLevel: return topLevelWorstResults; } @@ -563,6 +581,9 @@ class CompletionMetricsComputer { metrics.localRefMrrComputer.printMean(); print(''); + metrics.paramRefMrrComputer.printMean(); + print(''); + metrics.topLevelMrrComputer.printMean(); print(''); @@ -639,6 +660,8 @@ class CompletionMetricsComputer { _printSlowestResults('Static members', metrics.staticMemberSlowestResults); _printSlowestResults('Type references', metrics.typeRefSlowestResults); _printSlowestResults('Local references', metrics.localRefSlowestResults); + _printSlowestResults( + 'Parameter references', metrics.paramRefSlowestResults); _printSlowestResults('Top level', metrics.topLevelSlowestResults); } @@ -650,6 +673,7 @@ class CompletionMetricsComputer { _printWorstResults('Static members', metrics.staticMemberWorstResults); _printWorstResults('Type references', metrics.topLevelWorstResults); _printWorstResults('Local references', metrics.localRefWorstResults); + _printWorstResults('Parameter references', metrics.paramRefWorstResults); _printWorstResults('Top level', metrics.topLevelWorstResults); } @@ -1090,6 +1114,8 @@ class CompletionResult { return CompletionGroup.typeReference; } else if (expectedCompletion.elementKind == ElementKind.LOCAL_VARIABLE) { return CompletionGroup.localReference; + } else if (expectedCompletion.elementKind == ElementKind.PARAMETER) { + return CompletionGroup.paramReference; } } return CompletionGroup.topLevel;