DevTools

Подключение и защита диагностических данных

Установите расширение, подключите его к службе VM и откройте только заведомо безопасные прикладные значения.

v0.1.0-dev.3Средний уровеньusecase_forge_devtools

Подключение и защита диагностических данных

Добавьте пакет разработки

pubspec.yaml
dev_dependencies:
  usecase_forge_devtools: ^0.1.0-dev.3

Получите зависимости, запустите Dart- или Flutter-приложение в режиме разработки со службой VM, откройте для него DevTools и выберите UseCase Forge. Вызывать initialize() в приложении не требуется.

Продуктовые и релизные сборки не открывают этот канал. Расширение предназначено для наблюдения во время разработки, а не для производственного мониторинга.

Читайте экран выполнения

Обзор показывает живые UseCase, зарегистрированные точные типы команд, текущую позицию жизненного цикла, конечную историю, отклонения, отмену и маршрутизацию ошибок. Он не может добавлять команды, отменять выполнения, менять состояние, повторять работу или изменять политики.

По умолчанию скрывайте прикладные значения

Технические метаданные жизненного цикла доступны автоматически. Содержимое состояния, поля команд, ключи, объекты ошибок, трассировки стека и подробности отклонений скрыты, пока приложение явно не преобразует выбранные значения.

lib/cart_usecase.dart
import 'package:usecase_forge/diagnostics.dart';

final class CartUseCase extends UseCase<CartState>
    with UseCaseDiagnosticsDataProvider {
  @override
  String get useCaseDiagnosticLabel => 'Shopping cart';

  @override
  Object? encodeUseCaseDiagnosticValue(
    UseCaseDiagnosticValueKind kind,
    Object? value,
  ) {
    if (kind == UseCaseDiagnosticValueKind.state && value is CartState) {
      return <String, Object?>{'itemCount': value.itemCount};
    }
    return null;
  }
}

Возвращайте только ограниченные данные, совместимые с JSON и безопасные для отображения. null оставляет значение скрытым. Не раскрывайте учётные данные, токены, персональные данные, полное содержимое объектов или неограниченный результат toString().

Если экран пуст

  1. Убедитесь, что пакет указан в прямых зависимостях для разработки проверяемого приложения.
  2. После получения зависимостей перезапустите приложение и DevTools.
  3. Подключите DevTools к активной службе VM; прямое открытие собранного index.html не поддерживается.
  4. Используйте сборку для разработки и создайте хотя бы один активный UseCase.
  5. Проверьте совместимость версий протокола основного пакета и DevTools.
ARKTELOS

Инженерные системы для программного обеспечения, которое обязано выдерживать нагрузку.