//private ObservableCollection<ProcessModel> _processList; public void Monitor() { MonitorLogging.LogMessage(LoggingLevel.Info, "Starting the InitProcess"); //_processList = new ObservableCollection<ProcessModel>(ProcCommands.InitProcess()); _processList = ProcCommands.InitProcess(); Connect(); while (true) { if (_signalRConnection.State == ConnectionState.Connected) { foreach (var item in _processList) { double ram = item.ProcessRam.NextValue(); SendProxyMessage($"{ram / 1024 / 1024} MB"); double cpu = item.ProcessCpu.NextValue(); SendProxyMessage(cpu.ToString()); } Thread.Sleep(3000); _processList = ProcCommands.InitProcess(); } //foreach (var item in _processList) //{ // double ram = item.ProcessRam.NextValue(); // SendProxyMessage($"{ram / 1024 / 1024} MB"); // MonitorLogging.LogMessage(LoggingLevel.Info, $"{ram / 1024 / 1024} MB"); // double cpu = item.ProcessCpu.NextValue(); // SendProxyMessage(cpu.ToString()); // MonitorLogging.LogMessage(LoggingLevel.Info, cpu.ToString()); //} //Thread.Sleep(3000); } }
private static void ProcessExited(object sender, EventArgs e) { string msg = $"The request exited at {DateTime.Now}"; Result.AppendLine(msg); MonitorLogging.LogMessage(LoggingLevel.Info, msg); }
protected override void OnStart(string[] args) { MonitorLogging.LogMessage(LoggingLevel.Info, "Starting the Message service."); Task.Factory.StartNew(() => new MessageService().OnStart()); //Task.Factory.StartNew(() => new ProcMonitor().Monitor()); Task.Factory.StartNew(() => new ServiceMonitor.ServiceMonitor().Monitor()); //Task.Factory.StartNew(() => MonitorServices()); }
private static void ProcessError(object sender, DataReceivedEventArgs error) { if (!string.IsNullOrEmpty(error.Data)) { Result.AppendLine(error.Data); MonitorLogging.LogMessage(LoggingLevel.Error, $"The request failed to complete at {DateTime.Now}. Process result: {error.Data}"); } }
private static void ProcessOutput(object sender, DataReceivedEventArgs output) { if (!string.IsNullOrEmpty(output.Data)) { Result.AppendLine(output.Data); MonitorLogging.LogMessage(LoggingLevel.Info, $"The request completed at {DateTime.Now}. Request result: {output.Data}"); } }
private void signalRConnection_StateChanged(StateChange obj) { if (obj.NewState == ConnectionState.Connected) { SendProxyMessage("Connected"); MonitorLogging.LogMessage(LoggingLevel.Info, "Connected"); } else if (obj.NewState == ConnectionState.Disconnected) { SendProxyMessage("Disconnected"); MonitorLogging.LogMessage(LoggingLevel.Info, "Disconnected"); } }
public void StartListening() { IPEndPoint localEp = new IPEndPoint(IPAddress.Any, 9998); Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { listener.Bind(localEp); listener.Listen(100); while (true) { allDone.Reset(); listener.BeginAccept(new AsyncCallback(AcceptCallback), listener); allDone.WaitOne(); } } catch (Exception ex) { MonitorLogging.LogErrorMessage("The listener encountered an error", ex); } }
private void ReadCallback(IAsyncResult ar) { string content = string.Empty; string result = string.Empty; bool sendResult = true; //ProcessCommands processCmds = new ProcessCommands(); StateObject state = (StateObject)ar.AsyncState; Socket handler = state.WorkSocket; int bytesRead = handler.EndReceive(ar); MonitorLogging.LogMessage(LoggingLevel.Info, $"Message has been read. BytesRead={bytesRead}"); if (bytesRead > 0) { state.Sb.Append(Encoding.ASCII.GetString(state.Buffer, 0, bytesRead)); MonitorLogging.LogMessage(LoggingLevel.Info, $"Message sent: {state.Sb}"); content = state.Sb.ToString(); MonitorLogging.LogMessage(LoggingLevel.Info, $"The content of the message: {content}"); if (content.IndexOf(":", StringComparison.Ordinal) > -1) { MonitorLogging.LogMessage(LoggingLevel.Info, $"Message content {content}"); string[] contentArray = content.Split(':'); switch (contentArray[0]) { case "SyncPlugins": //result = processCmds.SyncPluginsCommand(); break; case "ServiceStatus": //if (string.IsNullOrEmpty(contentArray[1])) //result = processCmds.JobServiceStatusCommand("/C SC Query " + contentArray[1]); //else //result = "No service found"; break; case "JobServiceStart": //result = processCmds.JobServiceStatusCommand("/C SC START PulseJob"); //result = processCmds.StartJobService(); break; case "JobServiceStop": //result = processCmds.JobServiceStatusCommand("/C SC STOP PulseJob"); //result = processCmds.StopJobService(); break; case "JobServiceCycle": //result = processCmds.JobServiceCycleCommand(); //sendResult = false; break; } MonitorLogging.LogMessage(LoggingLevel.Info, $"Result from process commands. Result={result}"); if (sendResult) { Send(handler, result); } } else { handler.BeginReceive(state.Buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReadCallback), state); } } }