DD.WellWorkover.Cloud/AsbCloudApp/Services/IRequestTracker.cs

63 lines
2.1 KiB
C#
Raw Normal View History

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