//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");
     }
 }
Beispiel #7
0
        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);
            }
        }
Beispiel #8
0
        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);
                }
            }
        }