DD.WellWorkover.Cloud/AsbCloudApp/Services/IRequestTracker.cs
ngfrolov f4b3dfd9fe doc
2022-08-09 11:10:01 +05:00

63 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using AsbCloudApp.Data;
using System;
using System.Collections.Generic;
namespace AsbCloudApp.Services
{
// TODO: make this nullable
/// <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 = -1);
/// <summary>
/// запросы которые выполнялись быстро
/// </summary>
/// <param name="take"></param>
/// <returns></returns>
IEnumerable<RequestLogDto> GetFast(int take = -1);
/// <summary>
/// запросы, которые выполнялись медленно
/// </summary>
/// <param name="take"></param>
/// <returns></returns>
IEnumerable<RequestLogDto> GetSlow(int take = -1);
/// <summary>
/// запросы, которые завершились ошибкой
/// </summary>
/// <param name="take"></param>
/// <returns></returns>
IEnumerable<RequestLogDto> GetError(int take = -1);
/// <summary>
/// Статистика посещений пользователей
/// </summary>
/// <param name="take"></param>
/// <returns></returns>
IEnumerable<RequestLogUserDto> GetUsersStat(int take = -1);
}
}