anchor.diff:            completionPerformance = thisPerformance;
             server.performanceStats.completion.add(thisPerformance);
   
  -          return _getServerDartItems(
  +          // `await` required for `performance.runAsync` to count time.
  +          return await _getServerDartItems(
               clientCapabilities,
               unit.result,
               thisPerformance,
  -            performanceOperation,
  +            performance,
               offset,
               triggerCharacter,
               token,
  
positive.code:     }
  
      try {
        var contributor = DartCompletionManager(
          budget: CompletionBudget(CompletionBudget.defaultDuration),
          includedElementKinds: includedElementKinds,
          includedElementNames: includedElementNames,
          includedSuggestionRelevanceTags: includedSuggestionRelevanceTags,
        );
  
        final serverSuggestions2 = await contributor.computeSuggestions(
          completionRequest,
          performance,
        );
  
        final serverSuggestions = serverSuggestions2.map((serverSuggestion) {
          return serverSuggestion.build();
  
negative.code:     CompletionPerformance? completionPerformance;
      if (fileExtension == '.dart' && !unit.isError) {
        final result = unit.result;
        var performance = OperationPerformanceImpl('<root>');
        serverResultsFuture = performance.runAsync(
          'request',
          (performance) async {
            final thisPerformance = CompletionPerformance(
  