Ejemplo n.º 1
0
        /// <summary>
        /// 获取一个pcap状态对象,计算bps和pps
        /// </summary>
        private void device_OnPcapStatistics(object sender, StatisticsModeEventArgs e)
        {
            // Calculate the delay in microseconds from the last sample.
            // This value is obtained from the timestamp that's associated with the sample.
            ulong delay = (e.Statistics.Timeval.Seconds - oldSec) * 1000000 - oldUsec + e.Statistics.Timeval.MicroSeconds;

            // Bits per second
            ulong bps = ((ulong)e.Statistics.RecievedBytes * 8 * 1000000) / delay;

            /*                                       ^       ^
             |       |
             |       |
             |       |
             |              converts bytes in bits --        |
             |
             |          delay is expressed in microseconds --
             */

            // Get the number of Packets per second
            ulong pps = ((ulong)e.Statistics.RecievedPackets * 1000000) / delay;

            // Convert the timestamp to readable format
            var    ts   = e.Statistics.Timeval.Date.ToLongTimeString();
            string info = "时间:" + ts + ";   每秒" + bps + "字节;   每秒" + pps + "个数据包";

            utility.WriteLine(ref this.txtbStatistic, info);
            //存储当前时间戳
            oldSec  = e.Statistics.Timeval.Seconds;
            oldUsec = e.Statistics.Timeval.MicroSeconds;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取一个pcap状态对象,计算bps和pps
        /// </summary>
        private void device_OnPcapStatistics(object sender, StatisticsModeEventArgs e)
        {
            // Calculate the delay in microseconds from the last sample.
            // This value is obtained from the timestamp that's associated with the sample.
            ulong delay = (e.Statistics.Timeval.Seconds - oldSec) * 1000000 - oldUsec + e.Statistics.Timeval.MicroSeconds;

            // Bits per second
            ulong bps = ((ulong)e.Statistics.RecievedBytes * 8 * 1000000) / delay;
            /*                                       ^       ^
                                                     |       |
                                                     |       |
                                                     |       |
                            converts bytes in bits --        |
                                                             |
                        delay is expressed in microseconds --
            */

            // Get the number of Packets per second
            ulong pps = ((ulong)e.Statistics.RecievedPackets * 1000000) / delay;

            // Convert the timestamp to readable format
            var ts = e.Statistics.Timeval.Date.ToLongTimeString();
            string info = "时间:" + ts + ";   每秒" + bps + "字节;   每秒" + pps + "个数据包";
            utility.WriteLine(ref this.txtbStatistic, info);
            //存储当前时间戳
            oldSec = e.Statistics.Timeval.Seconds;
            oldUsec = e.Statistics.Timeval.MicroSeconds;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 抓包统计方法
        /// </summary>
        private static void device_OnPcapStatistics(object sender, StatisticsModeEventArgs e)
        {
            // 计算统计心跳间隔
            ulong delay = (e.Statistics.Timeval.Seconds - oldSec) * 1000000 - oldUsec + e.Statistics.Timeval.MicroSeconds;

            // 获取 Bits per second
            ulong bps = ((ulong)e.Statistics.RecievedBytes * 8 * 1000000) / delay;
            /*                                       ^       ^
                                                     |       |
                                                     |       |
                                                     |       |
                            converts bytes in bits --        |
                                                             |
                        delay is expressed in microseconds --
            */

            // 获取 Packets per second
            ulong pps = ((ulong)e.Statistics.RecievedPackets * 1000000) / delay;

            // 将时间戳装换为易读格式
            var ts = e.Statistics.Timeval.Date.ToLongTimeString();

            // 输出统计结果
            Console.WriteLine("{0}: bps={1}, pps={2}", ts, bps, pps);

            //记录本次统计时间戳,以用于下次统计计算心跳间隔
            oldSec = e.Statistics.Timeval.Seconds;
            oldUsec = e.Statistics.Timeval.MicroSeconds;
        }
Ejemplo n.º 4
0
        void device_OnPcapStatistics(object sender, StatisticsModeEventArgs e)
        {
            foreach (ISensorReport reportMethod in _reportMethods)
            {
                reportMethod.ReportStatistics(e.Statistics, _lastTimeval, _sensorId.ToString());
            }

            _lastTimeval = e.Statistics.Timeval;
        }
 void OnPcapStatistics(object sender, StatisticsModeEventArgs e)
 {
     // Console.WriteLine(port + " " + e.Statistics.RecievedBytes);
     receviedBytes.Enqueue(
         new Data()
     {
         bytes    = e.Statistics.RecievedBytes,
         dateTime = DateTime.Now,
     }
         );
 }
Ejemplo n.º 6
0
        private void update_statistics(object sender, StatisticsModeEventArgs e)
        {
            StatisticsModePacket statistics = e.Statistics;

            long delay = (long)((statistics.Timeval.Seconds - _oldseconds) * 1000000
                                + (statistics.Timeval.MicroSeconds - _oldmicroseconds));

            _transferspeed = (statistics.RecievedBytes * 1000000) / delay / 1024;

            _message = format_message(_stopwatch.Elapsed, "Transferspeed", _transferspeed.ToString(), "kB/s");
            this.callback.on_transfer_speed_change(_message, this.results);
            this.main_view.text_to_logs(_message);

            _oldseconds      = statistics.Timeval.Seconds;
            _oldmicroseconds = statistics.Timeval.MicroSeconds;
        }
Ejemplo n.º 7
0
        private void device_OnPcapStatistics(object sender, StatisticsModeEventArgs e)
        {
            //ulong delay = (e.Statistics.Timeval.Seconds - oldSec) * 1000000 - oldUsec + e.Statistics.Timeval.MicroSeconds;

            //ulong bps = ((ulong)e.Statistics.RecievedBytes * 8 * 1000000) / delay;
            //ulong pps = ((ulong)e.Statistics.RecievedPackets * 1000000) / delay;

            //var ts = e.Statistics.Timeval.Date;
            int seconds = (int)((DateTime.Now - Globals.StartTime).TotalSeconds);

            System.Windows.Point point = new System.Windows.Point();
            point.X = seconds;
            point.Y = e.Statistics.RecievedPackets;
            RealTimeWindow._plist.AppendAsync(base.Dispatcher, point);
            point.Y = e.Statistics.RecievedBytes;
            RealTimeWindow._blist.AppendAsync(base.Dispatcher, point);
            Console.WriteLine("{0},{1},{2}", seconds, e.Statistics.RecievedPackets, e.Statistics.RecievedBytes);

            //oldSec = e.Statistics.Timeval.Seconds;
            //oldUsec = e.Statistics.Timeval.MicroSeconds;
        }