using AsbCloudApp.Data;
using System;
using System.Collections.Generic;
namespace AsbCloudApp.Services
{
// TODO: make this nullable
///
/// Отслеживание и сбор статистики по запросам
///
public interface IRequerstTrackerService
{
///
/// Регистрирует новый запрос
///
///
void RegisterRequest(RequestLogDto requestLog);
///
/// Регистрирует новый запрос, вызвавший ошибку на сервере
///
///
///
void RegisterRequestError(RequestLogDto requestLog, Exception ex);
///
/// все зарегистрированные запросы
///
///
///
IEnumerable GetAll(int take = -1);
///
/// запросы которые выполнялись быстро
///
///
///
IEnumerable GetFast(int take = -1);
///
/// запросы, которые выполнялись медленно
///
///
///
IEnumerable GetSlow(int take = -1);
///
/// запросы, которые завершились ошибкой
///
///
///
IEnumerable GetError(int take = -1);
///
/// Статистика посещений пользователей
///
///
///
IEnumerable GetUsersStat(int take = -1);
}
}