Skip to content

Commit 6062fe8

Browse files
scheglovCommit Queue
authored andcommitted
Fine. Collect statistics for RequirementFailure kinds.
Requires dart-lang/tools#2250 Change-Id: I477b85d19edec7abdee6f9375a77a4e16dfab9ba Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/463163 Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent ac68dc3 commit 6062fe8

File tree

8 files changed

+660
-103
lines changed

8 files changed

+660
-103
lines changed

DEPS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ vars = {
147147
"sync_http_rev": "6666fff944221891182e1f80bf56569338164d72",
148148
"tar_rev": "13479f7c2a18f499e840ad470cfcca8c579f6909",
149149
"test_rev": "80a49347e4a3dbc3ed70782df5e8c76a67f9256c",
150-
"tools_rev": "37f82420f5060ca70af79b8a3ee98c91b66d250b",
150+
"tools_rev": "30c418bdd4b46d462e29e9ea360bbf9d62296c3b",
151151
"vector_math_rev": "70a9a2cb610d040b247f3ca2cd70a94c1c6f6f23",
152152
"web_rev": "7b94cf8908d320179678fc24557f163e2924c830",
153153
"webdev_rev": "b9c39c00853dfad0e235bec3b265f86a0f4f328a",

pkg/analysis_server/lib/src/analytics/analytics_manager.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -627,6 +627,11 @@ class AnalyticsManager {
627627
statistics.produceErrorsActualFileLineCount,
628628
produceErrorsDurationMs: statistics.produceErrorsMs,
629629
produceErrorsElementsDurationMs: statistics.produceErrorsElementsMs,
630+
libraryDiagnosticsBundleFailures: statistics
631+
.libraryDiagnosticsBundleRequirementsFailures
632+
.entries
633+
.map((e) => '${e.key.id}:${e.value}')
634+
.join(','),
630635
),
631636
);
632637

pkg/analysis_server/lib/src/analytics/session_data.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import 'package:analysis_server/src/analytics/percentile_calculator.dart';
66
import 'package:analyzer/src/dart/analysis/status.dart';
7+
import 'package:analyzer/src/fine/requirement_failure.dart';
78

89
/// Accumulated statistics over multiple analysis working periods.
910
class AnalyticsAnalysisWorkingStatistics {
@@ -66,6 +67,10 @@ class AnalyticsAnalysisWorkingStatistics {
6667
/// The sum of line counts for [produceErrorsActualFileCount].
6768
int produceErrorsActualFileLineCount = 0;
6869

70+
/// The counts of requirement failures for library diagnostics bundles.
71+
final Map<RequirementFailureKindId, int>
72+
libraryDiagnosticsBundleRequirementsFailures = {};
73+
6974
AnalyticsAnalysisWorkingStatistics({required this.withFineDependencies});
7075

7176
void append(AnalysisStatusWorkingStatistics statistics) {
@@ -98,6 +103,15 @@ class AnalyticsAnalysisWorkingStatistics {
98103
produceErrorsActualFileCount += statistics.produceErrorsActualFileCount;
99104
produceErrorsActualFileLineCount +=
100105
statistics.produceErrorsActualFileLineCount;
106+
107+
for (var entry
108+
in statistics.libraryDiagnosticsBundleRequirementsFailures.entries) {
109+
libraryDiagnosticsBundleRequirementsFailures.update(
110+
entry.key,
111+
(value) => value + entry.value,
112+
ifAbsent: () => entry.value,
113+
);
114+
}
101115
}
102116
}
103117

pkg/analyzer/lib/src/dart/analysis/driver.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1950,6 +1950,11 @@ class AnalysisDriver {
19501950
),
19511951
);
19521952
if (failure != null) {
1953+
performance.getDataInt(failure.statisticKey).increment();
1954+
_scheduler
1955+
._workingStatistics
1956+
?.libraryDiagnosticsBundleRequirementsFailures
1957+
.update(failure.kindId, (value) => value + 1, ifAbsent: () => 1);
19531958
return null;
19541959
}
19551960

pkg/analyzer/lib/src/dart/analysis/status.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
import 'dart:async';
66

7+
import 'package:analyzer/src/fine/requirement_failure.dart';
8+
79
/// The status of analysis.
810
sealed class AnalysisStatus {
911
const AnalysisStatus._();
@@ -81,6 +83,10 @@ class AnalysisStatusWorkingStatistics {
8183
/// The sum of line counts for [produceErrorsActualFileCount].
8284
int produceErrorsActualFileLineCount = 0;
8385

86+
/// The counts of requirement failures for library diagnostics bundles.
87+
final Map<RequirementFailureKindId, int>
88+
libraryDiagnosticsBundleRequirementsFailures = {};
89+
8490
AnalysisStatusWorkingStatistics({
8591
required this.withFineDependencies,
8692
required this.changedFiles,

0 commit comments

Comments
 (0)