// Copyright Epic Games, Inc. All Rights Reserved. using System; using System.Collections.Generic; using EpicGames.Horde.Agents.Pools; using EpicGames.Horde.Streams; #pragma warning disable CA2227 // Collection properties should be read only namespace EpicGames.Horde.Agents.Telemetry { /// /// Response data for a utilization request /// public class GetUtilizationDataResponse { /// /// Start hour /// public DateTimeOffset StartTime { get; set; } /// /// End hour /// public DateTimeOffset FinishTime { get; set; } /// /// List of pools /// public List Pools { get; set; } = new List(); /// /// Total admin time /// public double AdminTime { get; set; } /// /// Total hibernating time /// public double HibernatingTime { get; set; } /// /// Total agents /// public int NumAgents { get; set; } } /// /// Representation of an hour of time /// public class GetUtilizationPoolDataResponse { /// /// Pool id /// public PoolId PoolId { get; set; } /// /// Number of agents in this pool /// public int NumAgents { get; set; } /// /// Total time spent doing admin work /// public double AdminTime { get; set; } /// /// Time spent hibernating /// public double HibernatingTime { get; set; } /// /// Total time agents in this pool were doing work for other pools /// public double OtherTime { get; set; } /// /// List of streams /// public List Streams { get; set; } = new List(); } /// /// Represents one stream in one pool in one hour of telemetry /// public class GetUtilizationStreamDataResponse { /// /// Stream Id /// public StreamId StreamId { get; set; } /// /// Total time /// public double Time { get; set; } } }