Система способна синхронно и асинхронно логировать и анализировать данные о времени выполнения методов.
-
документация доступна по ссылке: http://localhost:8081/swagger-ui/index.html
OAS доступна по адресу: http://localhost:8081/v3/api-docs
-
документация доступна по ссылке: http://localhost:8082/swagger-ui/index.html
OAS доступна по адресу: http://localhost:8082/v3/api-docs
Перед запуском сервисов создайте в PostgreSQL бд со следующими параметрами:
url: jdbc:postgresql://localhost:5432/aop
username: test
password: test
Для запуска приложения откройте проект в IDE и запустите 2 сервиса:
- aop-service;
- aop-statistic.
В папке postman находится коллекция тестов для обоих сервисов:
- Для aop-сервиса для всех API написаны автоматизированные скрипты + тесты;
- Для aop-статистики для всех API написаны запросы, запрашивающие статистику.
Приложение умеет делать следующее:
- Получение, создание, изменение, удаление элемента;
- Асинхронное и синхронное отслеживание времени выполнения методов сервиса AOP, помеченных соответствующими аннотациями @TrackTime и @TrackAsyncTime, сохранение данных о времени выполнения методов в базе данных;
- Получение статистики по ид, по разным входным параметрам, подсчет суммы и среднего арифметического времени выполнения методов по разным входным параметрам в сервисе статистики.
Приложение написано на Java 17, использует Spring Boot 3, Spring AOP, Maven, Hibernate, Liquibase, Swagger, API соответствует REST, данные хранятся в БД PostgreSQL.