Сервис хранения результатов benchmark-тестирования редактора.
Отвечает за сохранение запусков тестирования, результатов отдельных тестов, основных метрик производительности и истории значений для построения графиков.
Один запуск benchmark-тестирования может содержать один или несколько вложенных тестов (light, medium, heavy, mixed). Каждый тест хранит итоговые метрики и историю измерений.
Реализован как ASP.NET Core + GraphQL сервис с JWT-аутентификацией.
- Сохранение benchmark-запусков
- Хранение нескольких тестов внутри одного запуска
- Хранение итоговых метрик производительности
- Хранение истории метрик для графиков
- Получение запуска benchmark-тестирования по ID
- Получение списка запусков пользователя
- Пагинация списка запусков
- Получение общего количества запусков (
totalCount) - Фильтрация и сортировка запусков
- Удаление benchmark-запуска
- Проверка владельца запуска через
UserId - JWT авторизация (
[Authorize]) - Валидация входных данных (FluentValidation)
- GraphQL API (HotChocolate)
- Покрытие тестами
-
getBenchmarkRun(request: GetBenchmarkRunRequest): BenchmarkRun
Возвращает детальный отчет benchmark-запуска по ID
Включает список вложенных тестов и историю метрик
(требует авторизации) -
getMyBenchmarkRuns: BenchmarkRunConnection
Возвращает список benchmark-запусков текущего пользователя
Поддерживает пагинацию, фильтрацию, сортировку и получениеtotalCount
(требует авторизации)
-
saveBenchmarkRun(request: SaveBenchmarkRunRequest): BenchmarkRun
Сохраняет результат benchmark-запуска
Поддерживает сохранение нескольких тестов внутри одного запуска
(требует авторизации) -
deleteBenchmarkRun(request: DeleteBenchmarkRunRequest): DeleteBenchmarkRunResponse
Удаляет benchmark-запуск текущего пользователя
(требует авторизации)