public void TimeAutoStart() { TestScheduler scheduler = new TestScheduler(); var xs = scheduler.CreateHotObservable(s_testData); var timeSource = new TimeSource <long>(xs, x => new DateTimeOffset(x, TimeSpan.Zero)); // Note: no start time specified, result should be the same as 101 var counts = from window in timeSource.Window(TimeSpan.FromTicks(5), timeSource.Scheduler) from Count in window.Count() select Count; var list = new List <Timestamped <int> >(); counts .Timestamp(timeSource.Scheduler) .Subscribe(ts => list.Add(ts)); timeSource.Connect(); scheduler.AdvanceTo(120); Assert.AreEqual(3, list.Count); list.AssertEqual( Result(106, 2), Result(111, 3), Result(115, 1)); }
public void TimeSource101() { TestScheduler scheduler = new TestScheduler(); var xs = scheduler.CreateHotObservable(s_testData); var timeSource = new TimeSource<long>(xs, x => new DateTimeOffset(x, TimeSpan.Zero)); timeSource.StartTime = new DateTimeOffset(101, TimeSpan.Zero); var counts = from window in timeSource.Window(TimeSpan.FromTicks(5), timeSource.Scheduler) from Count in window.Count() select Count; var list = new List<Timestamped<int>>(); counts .Timestamp(timeSource.Scheduler) .Subscribe(ts => list.Add(ts)); timeSource.Connect(); scheduler.AdvanceTo(120); Assert.AreEqual(3, list.Count); list.AssertEqual( Result(106, 2), Result(111, 3), Result(115, 1)); }
public void TimeSource100() { TestScheduler scheduler = new TestScheduler(); var xs = scheduler.CreateHotObservable(s_testData); var timeSource = new TimeSource <long>(xs, x => new DateTimeOffset(x, TimeSpan.Zero)); timeSource.StartTime = new DateTimeOffset(100, TimeSpan.Zero); var counts = from window in timeSource.Window(TimeSpan.FromTicks(5), timeSource.Scheduler) from Count in window.Count() select Count; var list = new List <Timestamped <int> >(); counts .Timestamp(timeSource.Scheduler) .Subscribe(ts => list.Add(ts)); timeSource.Connect(); scheduler.AdvanceTo(120); Assert.AreEqual(4, list.Count); list.AssertEqual( Result(105, 2), Result(110, 3), Result(115, 0), Result(115, 1)); }
static void Main() { IObservable<EtwNativeEvent> etl = EtwObservable.FromFiles(@"..\..\..\HTTP_Server.etl"); var timeSource = new TimeSource<EtwNativeEvent>(etl, e => e.TimeStamp); var countPerWindow = from window in timeSource.Window(TimeSpan.FromSeconds(5), timeSource.Scheduler) from Count in window.Count() select Count; var withTime = countPerWindow.Timestamp(timeSource.Scheduler); withTime.Subscribe(ts => Console.WriteLine("{0} {1}", ts.Timestamp, ts.Value)); timeSource.Connect(); Console.ReadLine(); }
static void Main() { IObservable <EtwNativeEvent> etl = EtwObservable.FromFiles(@"HTTP_Server.etl"); var timeSource = new TimeSource <EtwNativeEvent>(etl, e => e.TimeStamp); var countPerWindow = from window in timeSource.Window(TimeSpan.FromSeconds(5), timeSource.Scheduler) from Count in window.Count() select Count; var withTime = countPerWindow.Timestamp(timeSource.Scheduler); using (withTime.Subscribe(ts => Console.WriteLine("{0} {1}", ts.Timestamp, ts.Value))) { timeSource.Connect(); Console.ReadLine(); } }