private static int Main(string[] args) { if (args.Length != 1) { Console.WriteLine("Please provide an ETL file name."); return(1); } TraceReader reader = new TraceReader(args[0]); EventLatencyCollector latencyCollector = new EventLatencyCollector(); List <double> latencies = new List <double>(); latencyCollector.EventCompleted += (o, e) => latencies.Add(e.Latency.TotalSeconds); EventWindowCollector windowCollector = new EventWindowCollector(); DateTime startTime = DateTime.MinValue; windowCollector.WindowClosed += (o, e) => OnWindowClosed(ref startTime, e.Window); Console.WriteLine("Window,Pending,Completed"); reader.ReadAsync(new CompositeEventCollector(windowCollector, latencyCollector)).Wait(); windowCollector.CloseWindow(); Console.WriteLine(); CalculatePercentiles(latencies); return(0); }
private static int Main(string[] args) { if (args.Length != 1) { Console.WriteLine("Please provide an ETL file name."); return 1; } TraceReader reader = new TraceReader(args[0]); EventLatencyCollector latencyCollector = new EventLatencyCollector(); List<double> latencies = new List<double>(); latencyCollector.EventCompleted += (o, e) => latencies.Add(e.Latency.TotalSeconds); EventWindowCollector windowCollector = new EventWindowCollector(); DateTime startTime = DateTime.MinValue; windowCollector.WindowClosed += (o, e) => OnWindowClosed(ref startTime, e.Window); Console.WriteLine("Window,Pending,Completed"); reader.ReadAsync(new CompositeEventCollector(windowCollector, latencyCollector)).Wait(); windowCollector.CloseWindow(); Console.WriteLine(); CalculatePercentiles(latencies); return 0; }