Exemplo n.º 1
0
        internal static Playback GetCurrentEtlScope(IEnumerable<string> etlfiles, bool isRealtime)
        {
            try
            {
                if ((etlfiles == null || etlfiles.Count() == 0))
                {
                    return null;
                }
                Playback scope = new Playback();
                foreach (var file in etlfiles)
                {
                    if (isRealtime)
                    {
                        scope.AddRealTimeSession(file);
                    }
                    else
                    {
                        scope.AddEtlFiles(file);
                    }
                }

                return scope;
            }
            catch (Exception)
            {
                throw new Exception("Please try loading the ETL files since the Playback cannot be created.");
            }
        }
Exemplo n.º 2
0
        static void ListenWithQuery()
        {
            Console.WriteLine("----- Listening with Tx-Playback and Rx query -----");
            _playback = new Playback();
            _playback.AddRealTimeSession(Baseline.SessionName);

            var received = _playback.GetObservable<KNetEvt_RecvIPV4>();

            var x = from window in received.Window(TimeSpan.FromSeconds(1), _playback.Scheduler)
                    from stats in
                        (from packet in window
                         group packet by packet.daddr into g
                         from total in g.Sum(p => p.size)
                         select new
                         {
                             address = new IPAddress(g.Key).ToString(),
                             received = total
                         })
                            .ToList()
                    select stats.OrderBy(s => s.address);
            
            _subscription = x.Subscribe(v =>
            {
                Console.WriteLine("--- {0} ---", DateTime.Now);
                foreach (var s in v)
                    Console.WriteLine("{0, -15} {1,-10:n0} ", s.address, s.received);
                Console.WriteLine();
            });

            _playback.Start();
            Console.ReadLine();
            _subscription.Dispose();
        }
Exemplo n.º 3
0
        static void ListenWithQuery()
        {
            Console.WriteLine("----- Listening with Tx-Playback and Rx query -----");
            _playback = new Playback();
            _playback.AddRealTimeSession(Baseline.SessionName);

            var received = _playback.GetObservable <KNetEvt_RecvIPV4>();

            var x = from window in received.Window(TimeSpan.FromSeconds(1), _playback.Scheduler)
                    from stats in
                    (from packet in window
                     group packet by packet.daddr into g
                     from total in g.Sum(p => p.size)
                     select new
            {
                address = new IPAddress(g.Key).ToString(),
                received = total
            })
                    .ToList()
                    select stats.OrderBy(s => s.address);

            _subscription = x.Subscribe(v =>
            {
                Console.WriteLine("--- {0} ---", DateTime.Now);
                foreach (var s in v)
                {
                    Console.WriteLine("{0, -15} {1,-10:n0} ", s.address, s.received);
                }
                Console.WriteLine();
            });

            _playback.Start();
            Console.ReadLine();
            _subscription.Dispose();
        }
Exemplo n.º 4
0
        private void TcpSyntheticCounters_Load(object sender, EventArgs e)
        {
            StartSession(SessionName, ProviderId);

            _playback = new Playback();
            _playback.AddRealTimeSession("tcp");

            var received = _playback.GetObservable<KNetEvt_RecvIPV4>();

            var x = from window in received.Window(TimeSpan.FromSeconds(1), _playback.Scheduler)
                    from stats in
                        (   from packet in window
                            group packet by packet.daddr into g
                            from total in g.Sum(p=>p.size)
                            select new
                            {
                                address = new IPAddress(g.Key).ToString(),
                                received = total
                            })
                            .ToList()
                    select stats.OrderBy(s=>s.address);

            _subscription = x.ObserveOn(_chart).Subscribe(v =>
            {
                _chart.BeginInit();

                foreach (var point in v)
                    AddPoint(point.address, point.received);

               _chart.Invalidate();
               _chart.EndInit();
            });

            _playback.Start();
        }
Exemplo n.º 5
0
        internal static Playback GetCurrentEtlScope(IEnumerable <string> etlfiles, bool isRealtime)
        {
            try
            {
                if ((etlfiles == null || etlfiles.Count() == 0))
                {
                    return(null);
                }
                Playback scope = new Playback();
                foreach (var file in etlfiles)
                {
                    if (isRealtime)
                    {
                        scope.AddRealTimeSession(file);
                    }
                    else
                    {
                        scope.AddEtlFiles(file);
                    }
                }

                return(scope);
            }
            catch (Exception)
            {
                throw new Exception("Please try loading the ETL files since the Playback cannot be created.");
            }
        }
Exemplo n.º 6
0
        private void TcpSyntheticCounters_Load(object sender, EventArgs e)
        {
            _playback = new Playback();
            _playback.AddRealTimeSession(PerfCounterSessionName);

            IObservable<PerformanceSample> perfCounters = PerfCounterObservable.FromRealTime(TimeSpan.FromSeconds(1), CounterPaths);
            _subscription = perfCounters.ObserveOn(_chart).Subscribe(CounterAdded);

            _playback.Start();
        }
Exemplo n.º 7
0
        private void TcpSyntheticCounters_Load(object sender, EventArgs e)
        {
            _playback = new Playback();
            _playback.AddRealTimeSession(PerfCounterSessionName);

            IObservable <PerformanceSample> perfCounters = PerfCounterObservable.FromRealTime(TimeSpan.FromSeconds(1), CounterPaths);

            _subscription = perfCounters.ObserveOn(_chart).Subscribe(CounterAdded);

            _playback.Start();
        }
Exemplo n.º 8
0
        private void Window_Loaded(object sender, RoutedEventArgs ev)
        {
            canvas1.LayoutTransform = new MatrixTransform(1, 0, 0, -1, 0, canvas1.Height);

            Process logman = Process.Start("logman.exe", "create trace wcf -rt -p {" + ProviderId + "} -ets");

            logman.WaitForExit();

            _pb = new Playback();
            _pb.AddRealTimeSession("wcf");

            var start = _pb.GetObservable <StartRequest>();
            var end   = _pb.GetObservable <EndRequest>();

            var requests = from s in start
                           from e in end.Where(e => e.requestMessageId == s.requestMessageId).Take(1)
                           select new
            {
                StartTime = s.Header.Timestamp,
                Operation = s.operationName,
                Duration  = e.Header.Timestamp - s.Header.Timestamp
            };

            var bars = from r in requests
                       group r by new
            {
                Duration  = Math.Ceiling(r.Duration.TotalMilliseconds),
                Operation = r.Operation
            }
            into groups
            from window in groups.Window(TimeSpan.FromSeconds(2), _pb.Scheduler)
            from c in window.Count()
            select new HistogramBar
            {
                Operation = groups.Key.Operation,
                Duration  = groups.Key.Duration,
                Count     = c,
            };

            var histogram = bars.Buffer(TimeSpan.FromSeconds(2));

            histogram.ObserveOn(Dispatcher).Subscribe(DrawHistogram);

            _pb.Start();
        }
Exemplo n.º 9
0
        static void Main()
        {
            Playback playback = new Playback();
            playback.AddRealTimeSession("tcp");

            var recv = from req in playback.GetObservable<KNetEvt_RecvIPV4>()
                        select new
                        {
                            Time = req.OccurenceTime,
                            Size = req.size,
                            Address = new IPAddress(req.daddr)
                        };


            recv.Subscribe(e=>Console.WriteLine("{0} : Received {1,5} bytes from {2}", e.Time, e.Size, e.Address));

            playback.Start();
        }
Exemplo n.º 10
0
        private void Window_Loaded(object sender, RoutedEventArgs ev)
        {
            canvas1.LayoutTransform = new MatrixTransform(1, 0, 0, -1, 0, canvas1.Height);

            Process logman = Process.Start("logman.exe", "create trace wcf -rt -p {" + ProviderId + "} -ets");
            logman.WaitForExit();

            _pb = new Playback();
            _pb.AddRealTimeSession("wcf");

            var start = _pb.GetObservable<StartRequest>();
            var end = _pb.GetObservable<EndRequest>();

            var requests = from s in start 
                           from e in end.Where(e=>e.requestMessageId == s.requestMessageId).Take(1)
                           select new 
                {
                    StartTime = s.Header.Timestamp,
                    Operation = s.operationName,
                    Duration = e.Header.Timestamp - s.Header.Timestamp
                };

            var bars = from r in requests
                group r by new
                {
                    Duration = Math.Ceiling(r.Duration.TotalMilliseconds),
                    Operation = r.Operation
                }
                into groups
                from window in groups.Window(TimeSpan.FromSeconds(2), _pb.Scheduler)
                from c in window.Count()
                select new HistogramBar
                {
                    Operation = groups.Key.Operation,
                    Duration = groups.Key.Duration,
                    Count = c,
                };

            var histogram = bars.Buffer(TimeSpan.FromSeconds(2));

            histogram.ObserveOn(Dispatcher).Subscribe(DrawHistogram);

            _pb.Start();
        }
Exemplo n.º 11
0
        internal override IObservable <EventRecordProxy> GetObservableEvents()
        {
            Playback playback = new Playback();

            if (this.IsRealtime)
            {
                playback.AddRealTimeSession(this.files.First());
            }
            else
            {
                foreach (var item in this.files)
                {
                    playback.AddEtlFiles(item);
                }
            }

            playback.KnownTypes = ManifestCompiler.GetKnowntypesforPlayback();

            return(new EventRecordProxyObserver(playback, this));
        }
Exemplo n.º 12
0
        static void ListenWithPlayback <T>()
        {
            Console.WriteLine("listening for {0}", typeof(T).Name);
            Console.WriteLine();

            playback = new Playback();
            playback.AddRealTimeSession("TxRealTime");

            var all = playback.GetObservable <T>();

            var windows = from w in all.Window(TimeSpan.FromSeconds(1), playback.Scheduler)
                          from c in w.Count()
                          select c;

            subscription = windows.Subscribe(
                (c) => Console.WriteLine("Using Tx and Rx for count : {0:n}", c),
                (error) => Console.WriteLine(error.Message),
                () => Console.WriteLine("----Completed!---"));

            playback.Start();
        }
Exemplo n.º 13
0
        private void Form1_Load(object sender, EventArgs e)
        {
            StartSession(SessionName, ProviderId);

            _playback = new Playback();
            _playback.AddRealTimeSession("tcp");

            var c = from req in _playback.GetObservable<KNetEvt_RecvIPV4>()
                        select new
                        {
                            Time = req.OccurenceTime,
                            Address = new IPAddress(req.daddr)
                        };

            _subscription = c.ObserveOn(this).Subscribe(d =>
                {
                    double x = (d.Time - _start).TotalMinutes;
                    double y = d.Address.Address;
                    AddPoint(d.Address.ToString(), x, y);
                });

            _playback.Start();
        }
Exemplo n.º 14
0
        static void Main()
        {
            StartSession();
            Playback playback = new Playback();

            playback.AddRealTimeSession("tcp");

            var recv = from req in playback.GetObservable <KNetEvt_RecvIPV4>()
                       select new
            {
                Time    = req.OccurenceTime,
                Size    = req.size,
                Address = new IPAddress(req.daddr)
            };


            using (recv.Subscribe(e => Console.WriteLine("{0} : Received {1,5} bytes from {2}", e.Time, e.Size, e.Address)))
            {
                playback.Start();

                Console.ReadLine();
            }
        }
Exemplo n.º 15
0
        private void Form1_Load(object sender, EventArgs e)
        {
            StartSession(SessionName, ProviderId);

            _playback = new Playback();
            _playback.AddRealTimeSession("tcp");

            var c = from req in _playback.GetObservable <KNetEvt_RecvIPV4>()
                    select new
            {
                Time    = req.OccurenceTime,
                Address = new IPAddress(req.daddr)
            };

            _subscription = c.ObserveOn(this).Subscribe(d =>
            {
                double x = (d.Time - _start).TotalMinutes;
                double y = d.Address.Address;
                AddPoint(d.Address.ToString(), x, y);
            });

            _playback.Start();
        }
Exemplo n.º 16
0
        private void TcpSyntheticCounters_Load(object sender, EventArgs e)
        {
            StartSession(SessionName, ProviderId);

            _playback = new Playback();
            _playback.AddRealTimeSession("tcp");

            var received = _playback.GetObservable <KNetEvt_RecvIPV4>();

            var x = from window in received.Window(TimeSpan.FromSeconds(1), _playback.Scheduler)
                    from stats in
                    (from packet in window
                     group packet by packet.daddr into g
                     from total in g.Sum(p => p.size)
                     select new
            {
                address = new IPAddress(g.Key).ToString(),
                received = total
            })
                    .ToList()
                    select stats.OrderBy(s => s.address);

            _subscription = x.ObserveOn(_chart).Subscribe(v =>
            {
                _chart.BeginInit();

                foreach (var point in v)
                {
                    AddPoint(point.address, point.received);
                }

                _chart.Invalidate();
                _chart.EndInit();
            });

            _playback.Start();
        }