Skip to content

anton0afanasiev0v/task1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task

Spring boot application

Start up

mvn clean compile install
docker-compose up --build

or

docker build
docker-compose up

Swagger

http://localhost/api/swagger-ui/index.html

Задание:

Реализация системы учета времени выполнения методов

Описание:

Вам предстоит разработать систему учета времени выполнения методов в приложении с использованием Spring AOP. Система должна быть способна асинхронно логировать и анализировать данные о времени выполнения методов.

Требования:

Создайте аннотации @TrackTime и @TrackAsyncTime, которые можно применять к методам для отслеживания времени их выполнения. Реализуйте аспекты, используя Spring AOP, для асинхронного и синхронного отслеживания времени выполнения методов, помеченных соответствующими аннотациями. Создайте сервис, который будет асинхронно сохранять данные о времени выполнения методов в базе данных. Реализуйте REST API для получения статистики по времени выполнения методов (например, среднее время выполнения, общее время выполнения) для различных методов и их групп. Настройте приложение с помощью конфигурации Spring для включения использования AOP и асинхронной обработки данных.

Критерии оценки:

Реализация аспектов:

Правильное применение Spring AOP для создания аспектов. Корректное определение точек среза для методов, помеченных аннотациями @TrackTime и @TrackAsyncTime. Обработка исключений и ошибок в аспектах.

Обработка асинхронных вызовов:

Асинхронное отслеживание времени выполнения методов, помеченных аннотацией @TrackAsyncTime. Корректная обработка результатов асинхронных операций.

Хранение и анализ данных:

Реализация сервиса для асинхронного сохранения данных о времени выполнения методов в базе данных. Корректное хранение данных в базе данных. Реализация механизма анализа данных для получения статистики по времени выполнения методов.

REST API:

Создание REST API для получения статистики по времени выполнения методов. Корректная обработка запросов и передача данных в формате JSON. Документация API.

Качество кода и архитектура:

Чистота, читаемость и модульность кода. Соблюдение принципов SOLID и других принципов проектирования. Правильное использование паттернов проектирования.

About

Task1 in Open School for Java Developers T1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published