Version 2.16.0-10.0.dev

Merge commit '26558d2ac09b7daac1d8212cc49320dd6f913882' into 'dev'
diff --git a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
index 3ec3691..4fd04f6 100644
--- a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
+++ b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
@@ -189,31 +189,42 @@
   ///  cached by the resolver are searched, generated files are ignored.
   List<CiderSearchMatch> findReferences(Element element,
       {OperationPerformanceImpl? performance}) {
-    var references = <CiderSearchMatch>[];
+    return logger.run('findReferences for ${element.name}', () {
+      var references = <CiderSearchMatch>[];
 
-    void collectReferences(String path) {
-      var resolved = resolve(path: path);
-      var collector = ReferencesCollector(element);
-      resolved.unit.accept(collector);
-      var offsets = collector.offsets;
-      if (offsets.isNotEmpty) {
-        var lineInfo = resolved.unit.lineInfo;
-        references.add(CiderSearchMatch(path,
-            offsets.map((offset) => lineInfo?.getLocation(offset)).toList()));
+      void collectReferences(
+          String path, OperationPerformanceImpl performance) {
+        performance.run('collectReferences', (_) {
+          var resolved = resolve(path: path);
+          var collector = ReferencesCollector(element);
+          resolved.unit.accept(collector);
+          var offsets = collector.offsets;
+          if (offsets.isNotEmpty) {
+            var lineInfo = resolved.unit.lineInfo;
+            references.add(CiderSearchMatch(
+                path,
+                offsets
+                    .map((offset) => lineInfo?.getLocation(offset))
+                    .toList()));
+          }
+        });
       }
-    }
 
-    // TODO(keertip): check if element is named constructor.
-    if (element is LocalVariableElement ||
-        (element is ParameterElement && !element.isNamed)) {
-      collectReferences(element.source!.fullName);
-    } else {
-      var result = fsState!.getFilesContaining(element.displayName);
-      result.forEach((filePath) {
-        collectReferences(filePath);
-      });
-    }
-    return references;
+      performance ??= OperationPerformanceImpl('<default>');
+      // TODO(keertip): check if element is named constructor.
+      if (element is LocalVariableElement ||
+          (element is ParameterElement && !element.isNamed)) {
+        collectReferences(element.source!.fullName, performance!);
+      } else {
+        var result = performance!.run('getFilesContaining', (performance) {
+          return fsState!.getFilesContaining(element.displayName);
+        });
+        result.forEach((filePath) {
+          collectReferences(filePath, performance!);
+        });
+      }
+      return references;
+    });
   }
 
   ErrorsResult getErrors({
diff --git a/tools/VERSION b/tools/VERSION
index 21d2a58..45b16ab 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 16
 PATCH 0
-PRERELEASE 9
+PRERELEASE 10
 PRERELEASE_PATCH 0
\ No newline at end of file