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

61 lines
2.0 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
/// <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>
2022-12-26 18:03:26 +05:00
IEnumerable<RequestLogDto> GetAll(int? take);
2022-08-09 11:10:01 +05:00
/// <summary>
/// запросы которые выполнялись быстро
/// </summary>
/// <param name="take"></param>
/// <returns></returns>
2022-12-26 18:03:26 +05:00
IEnumerable<RequestLogDto> GetFast(int? take);
2022-08-09 11:10:01 +05:00
/// <summary>
/// запросы, которые выполнялись медленно
/// </summary>
/// <param name="take"></param>
/// <returns></returns>
2022-12-26 18:03:26 +05:00
IEnumerable<RequestLogDto> GetSlow(int? take);
2022-08-09 11:10:01 +05:00
/// <summary>
/// запросы, которые завершились ошибкой
/// </summary>
/// <param name="take"></param>
/// <returns></returns>
2022-12-26 18:03:26 +05:00
IEnumerable<RequestLogDto> GetError(int? take);
2022-08-09 11:10:01 +05:00
/// <summary>
/// Статистика посещений пользователей
/// </summary>
/// <param name="take"></param>
/// <returns></returns>
2022-12-26 18:03:26 +05:00
IEnumerable<RequestLogUserDto> GetUsersStat(int? take);
}
}