Files
UnrealEngineUWP/Engine/Source/Programs/Horde/HordeServer/Collections/ITelemetryCollection.cs
Ben Marsh 5abbc95b6e Add missing copyright notices.
[CL 16160939 by Ben Marsh in ue5-main branch]
2021-04-29 15:35:57 -04:00

42 lines
1.3 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using HordeServer.Models;
using HordeServer.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using PoolId = HordeServer.Utilities.StringId<HordeServer.Models.IPool>;
using StreamId = HordeServer.Utilities.StringId<HordeServer.Models.IStream>;
namespace HordeServer.Collections
{
/// <summary>
/// Collection of utilization collection
/// </summary>
public interface ITelemetryCollection
{
/// <summary>
/// Adds entries for the given utilization
/// </summary>
/// <param name="Telemetry">Telemetry data to add</param>
/// <returns>Async task</returns>
Task AddUtilizationTelemetryAsync(IUtilizationTelemetry Telemetry);
/// <summary>
/// Finds utilization data matching the given criteria
/// </summary>
/// <param name="StartTimeUtc">Start time to query utilization for</param>
/// <param name="FinishTimeUtc">Finish time to query utilization for</param>
/// <returns>The utilization data</returns>
Task<List<IUtilizationTelemetry>> GetUtilizationTelemetryAsync(DateTime StartTimeUtc, DateTime FinishTimeUtc);
/// <summary>
/// Finds the latest utilization data
/// </summary>
/// <returns>The utilization data</returns>
Task<IUtilizationTelemetry?> GetLatestUtilizationTelemetryAsync();
}
}