Skip to content

kozjulia/AOP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Описание:

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

Система способна синхронно и асинхронно логировать и анализировать данные о времени выполнения методов.

Приложение состоит из 2 сервисов:

Перед запуском сервисов создайте в PostgreSQL бд со следующими параметрами:

    url: jdbc:postgresql://localhost:5432/aop
    username: test
    password: test

Для запуска приложения откройте проект в IDE и запустите 2 сервиса:

  • aop-service;
  • aop-statistic.

В папке postman находится коллекция тестов для обоих сервисов:

  • Для aop-сервиса для всех API написаны автоматизированные скрипты + тесты;
  • Для aop-статистики для всех API написаны запросы, запрашивающие статистику.

Приложение умеет делать следующее:

  1. Получение, создание, изменение, удаление элемента;
  2. Асинхронное и синхронное отслеживание времени выполнения методов сервиса AOP, помеченных соответствующими аннотациями @TrackTime и @TrackAsyncTime, сохранение данных о времени выполнения методов в базе данных;
ВАЖНО в application.yaml можно включать и отключать отслеживание
  1. Получение статистики по ид, по разным входным параметрам, подсчет суммы и среднего арифметического времени выполнения методов по разным входным параметрам в сервисе статистики.

Приложение написано на Java 17, использует Spring Boot 3, Spring AOP, Maven, Hibernate, Liquibase, Swagger, API соответствует REST, данные хранятся в БД PostgreSQL.