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."); } }
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(); }
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(); }
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(); }
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."); } }
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(); }
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(); }
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(); }
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(); }
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(); }
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)); }
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(); }
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(); }
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(); } }
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(); }
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(); }