using AsbCloudApp.Data; using System; using System.Collections.Generic; namespace AsbCloudApp.Services; /// <summary> /// Отслеживание и сбор статистики по запросам /// </summary> public interface IRequerstTrackerService { /// <summary> /// Регистрирует новый запрос /// </summary> /// <param name="requestLog"></param> void RegisterRequest(RequestLogDto requestLog); /// <summary> /// Регистрирует новый запрос, вызвавший ошибку на сервере /// </summary> /// <param name="requestLog"></param> /// <param name="ex"></param> void RegisterRequestError(RequestLogDto requestLog, Exception ex); /// <summary> /// все зарегистрированные запросы /// </summary> /// <param name="take"></param> /// <returns></returns> IEnumerable<RequestLogDto> GetAll(int? take); /// <summary> /// запросы которые выполнялись быстро /// </summary> /// <param name="take"></param> /// <returns></returns> IEnumerable<RequestLogDto> GetFast(int? take); /// <summary> /// запросы, которые выполнялись медленно /// </summary> /// <param name="take"></param> /// <returns></returns> IEnumerable<RequestLogDto> GetSlow(int? take); /// <summary> /// запросы, которые завершились ошибкой /// </summary> /// <param name="take"></param> /// <returns></returns> IEnumerable<RequestLogDto> GetError(int? take); /// <summary> /// Статистика посещений пользователей /// </summary> /// <param name="take"></param> /// <returns></returns> IEnumerable<RequestLogUserDto> GetUsersStat(int? take); }