blob: 031902b3e8573285d56c69c0ae1a2c89c906b04d [file] [log] [blame]
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/src/utilities/strings.dart';
import 'package:analysis_server_plugin/src/correction/performance.dart';
import 'package:analyzer/src/util/performance/operation_performance.dart';
abstract class ProducerRequestPerformance extends RequestPerformance {
final String path;
final String snippet;
final List<ProducerTiming> producerTimings;
ProducerRequestPerformance({
required String operation,
required this.path,
required super.performance,
super.requestLatency,
super.startTime,
required String content,
required int offset,
required this.producerTimings,
}) : snippet = addCaretAtOffset(content, offset),
super(operation: 'GetAssists');
int get elapsedInMilliseconds => performance.elapsed.inMilliseconds;
}
class RequestPerformance {
static var _nextId = 1;
final int id;
final OperationPerformance performance;
final int? requestLatency;
final String operation;
final DateTime? startTime;
RequestPerformance({
required this.operation,
required this.performance,
this.requestLatency,
this.startTime,
}) : id = _nextId++;
}