Files
friflex_flutter_starter/lib/runner/timer_runner.dart
petrovyuri 17d096baac init
2025-01-21 14:24:31 +03:00

50 lines
1.7 KiB
Dart

import 'package:friflex_starter/features/debug/i_debug_service.dart';
/// {@template TimerRunner}
/// Класс для подсчета времени запуска приложения
/// {@endtemplate}
class TimerRunner {
/// {@macro TimerRunner}
TimerRunner(this._debugService) {
_stopwatch.start();
}
/// Сервис для отладки
final IDebugService _debugService;
/// Секундомер для подсчета времени инициализации
final _stopwatch = Stopwatch();
/// Метод для остановки секундомера и вывода времени
/// полной инициализации приложения
void stop() {
_stopwatch.stop();
_debugService.log(
'Время инициализации приложения: ${_stopwatch.elapsedMilliseconds} мс',
);
}
/// Метод для обработки прогресса инициализации зависимостей
void logOnProgress(String name) {
_debugService.log(
'$name успешная инициализация, прогресс: ${_stopwatch.elapsedMilliseconds} мс',
);
}
/// Метод для обработки прогресса инициализации зависимостей
void logOnComplete(String message) {
_debugService.log(
'$message, прогресс: ${_stopwatch.elapsedMilliseconds} мс',
);
}
/// Метод для обработки прогресса инициализации зависимостей
void logOnError(
String message, {
Object? error,
StackTrace? stackTrace,
}) {
_debugService.error(message, error, stackTrace);
}
}