ServerSummary IWorkItem.CollectServerSummary(NodeSummary nodeSummary) { if (m_AppServer == null) { var stoppedSummary = GetStoppedSummary(); stoppedSummary.CollectedTime = DateTime.Now; return(stoppedSummary); } var currentSummary = m_AppServer.CollectServerSummary(nodeSummary); m_PrevSummary = currentSummary; return(currentSummary); }
/// <summary> /// Deals the server performance. /// </summary> /// <param name="server">The server.</param> /// <returns>Task.</returns> private async Task DealServerPerformance(ServerSummary server) { try { var unionId = $"{FusionDirectorIp}-{server.Id}"; var realTimeData = await this.metricsService.GetServerRealTimePerformanceAsync(server.Id); var objectName = $"{this.FusionDirectorIp}_{server.IPv4Address.Address}"; ServerConnector.Instance.InsertPerformanceData(unionId, objectName, realTimeData); } catch (Exception ex) { OnPollingError($"DealServerPerformance Error:{server.Id}", ex); } }
/// <summary> /// Queries the Server detial. /// </summary> /// <param name="serverSummary">The server summary.</param> /// <returns>Task<Server>.</returns> private async Task <Server> QueryServerDetails(ServerSummary serverSummary) { var serverId = serverSummary.Id; try { return(await QueryServerDetailsById(serverId)); } catch (Exception ex) { OnPollingError($"QueryServerDetial Error:{serverId}", ex); var defaultServer = new Server(serverSummary); defaultServer.MakeDetails(this.FusionDirectorIp); return(defaultServer); } }
private ServerSummary GetStoppedSummary() { if (m_StoppedSummary != null) { m_StoppedSummary = new ServerSummary { Name = Name, IsRunning = false }; if (m_PrevSummary != null) { m_StoppedSummary.Listeners = m_PrevSummary.Listeners; } } return(m_StoppedSummary); }
public ServerSummary Index() { if (this.CruiseServer == null) { return(new ServerSummary { Status = ServerStatus.NotRunning }); } var projects = this.CruiseServer.GetCruiseServerSnapshot(new ServerRequest()); var model = new ServerSummary { Version = this.CruiseServer.GetType().Assembly.GetName().Version.ToString(), Status = ServerStatus.Running, Projects = projects.Snapshot.ProjectStatuses.Select(p => p.ToModel()).ToArray() }; return(model); }
/// <summary> /// Called when [server summary collected]. /// </summary> /// <param name="nodeSummary">The node summary.</param> /// <param name="serverSummary">The server summary.</param> protected override void OnServerSummaryCollected(NodeSummary nodeSummary, ServerSummary serverSummary) { Async.AsyncRun(this, (o) => MergeServerSummary(o), nodeSummary); base.OnServerSummaryCollected(nodeSummary, serverSummary); }