public static NetworkPerformanceReporter Create()
        {
            var networkPerformancePresenter = new NetworkPerformanceReporter();

            networkPerformancePresenter.Initialise();
            return(networkPerformancePresenter);
        }
예제 #2
0
 private static void Main(string[] args)
 {
     NetworkChange.NetworkAddressChanged += AvailabilityChanged;
     mobile();
     Console.CancelKeyPress += (sender, cancelArgs) =>
     {
         NetworkPerformanceReporter.StopSessions();
         cancelArgs.Cancel = true;
     };
     arg(args);
 }
예제 #3
0
        private static void run()
        {
            NetworkPerformanceReporter.Create();


            while (true)
            {
                try
                {
                    _logtext    = "";
                    _logtextcsv = "";
                    Console.Clear();
                    Console.Title = "clawSoft bandwithmonitor v1.0 | Logfile: " + _logpath;
                    if (NetworkPerformanceReporter.mobile)
                    {
                        Console.WriteLine("!!! Mobile connection active !!!" + Environment.NewLine);
                    }
                    else
                    {
                        Console.WriteLine("!!! Mobile connection not active !!!" + Environment.NewLine);
                    }
                    if (bmobile == "true" && NetworkPerformanceReporter.mobile)
                    {
                        Console.WriteLine("!!! Logging active !!!" + Environment.NewLine + Environment.NewLine);
                    }
                    else
                    {
                        if (bmobile == "true")
                        {
                            Console.WriteLine("!!! Logging paused !!!" + Environment.NewLine + Environment.NewLine);
                        }
                    }

                    var header = string.Format("{0,-30}{1,20}{2,25}", "Processes", "Received data (MB)",
                                               "Transmitted data (MB)");
                    _logtext = _logtext + header + Environment.NewLine;
                    Console.WriteLine(header);
                    Console.WriteLine("---------------------------------------------------------------------------");
                    _logtext = _logtext +
                               "---------------------------------------------------------------------------" +
                               Environment.NewLine;

                    if (bcsv == "true")
                    {
                        var headercsv = "\"Processes\";" + "\"Received data (MB)\";" + "\"Transmitted data (MB)\"";
                        _logtextcsv   = _logtextcsv + headercsv + Environment.NewLine;
                        Console.Title = "clawSoft bandwithmonitor v1.0 | Logfile: " + _logpath;
                    }

                    if (bsort == "u")
                    {
                        foreach (var item in NetworkPerformanceReporter.dicData.OrderByDescending(key => key.Value.Sent)
                                 )
                        {
                            var output = string.Format("{0,-30}{1,20}{2,25}", item.Key,
                                                       string.Format("{0:0.00}", item.Value.Received),
                                                       string.Format("{0:0.00}", item.Value.Sent));
                            Console.WriteLine(output);
                            _logtext = _logtext + output + Environment.NewLine;

                            if (bcsv == "true")
                            {
                                var outputcsv = "\"" + item.Key + "\";\"" +
                                                string.Format("{0:0.00}", item.Value.Received) + "\";\"" +
                                                string.Format("{0:0.00}", item.Value.Sent) + "\"";
                                _logtextcsv = _logtextcsv + outputcsv + Environment.NewLine;
                            }
                        }
                    }
                    else
                    {
                        foreach (var item in NetworkPerformanceReporter.dicData.OrderByDescending(key =>
                                                                                                  key.Value.Received))
                        {
                            var output = string.Format("{0,-30}{1,20}{2,25}", item.Key,
                                                       string.Format("{0:0.00}", item.Value.Received),
                                                       string.Format("{0:0.00}", item.Value.Sent));
                            Console.WriteLine(output);
                            _logtext = _logtext + output + Environment.NewLine;
                            if (bcsv == "true")
                            {
                                var outputcsv = "\"" + item.Key + "\";\"" +
                                                string.Format("{0:0.00}", item.Value.Received) + "\";\"" +
                                                string.Format("{0:0.00}", item.Value.Sent) + "\"";
                                _logtextcsv = _logtextcsv + outputcsv + Environment.NewLine;
                            }
                        }
                    }

                    if (bcsv == "true")
                    {
                        File.WriteAllText(_logpath, _logtextcsv);
                    }
                    else
                    {
                        File.WriteAllText(_logpath, _logtext);
                    }
                }
                catch
                {
                }

                Thread.Sleep(5000);
            }
        }