Ejemplo n.º 1
0
        //
        static void Example200(TextReader textReader)
        {
            var reader = new W3CReader(textReader);

            foreach (var webevent in reader.Read().Where(w => w.Status >= 200 && w.Status < 300)
                     .OrderBy(w => w.Status)
                     .ThenBy(w => w.Date)
                     .ThenBy(w => w.UriStem)
                     .ThenBy(w => w.UriQuery))
            {
                Console.WriteLine("{0} {1}", webevent.Status.ToString().Red().Bold(), webevent.UriStem);
            }
        }
Ejemplo n.º 2
0
        static void CountOfExtensionsRequested(TextReader textReader)
        {
            var q = new W3CReader(textReader).Read()
                    .GroupBy(r => ExtractExtension(r.UriStem))
                    .Select(g => new
            {
                Count = g.Count(),
                Paths = g.Key
            }).OrderByDescending(g => g.Count);

            foreach (var r in q)
            {
                Console.WriteLine("{0}\t{1}", r.Count, r.Paths);
            }
        }
Ejemplo n.º 3
0
        static void RequestsByHourPerDay(TextReader textReader)
        {
            var q = new W3CReader(textReader).Read()
                    .GroupBy(r => r.UtcTime().RoundUp(TimeSpan.FromHours(1)))
                    .Select(g => new
            {
                HalfHour = g.Key,
                Count    = g.Count()
            });

            foreach (var r in q)
            {
                Console.WriteLine("{0}\t{1}", r.HalfHour, r.Count);
            }
        }
Ejemplo n.º 4
0
        static void AverageResponseTimeByHalfHour(TextReader textReader)
        {
            var q = new W3CReader(textReader).Read()
                    .Where(e => e.Status < 400)
                    .GroupBy(r => r.UtcTime().RoundUp(TimeSpan.FromMinutes(30)))
                    .Select(g => new
            {
                HalfHour         = g.Key,
                AverageTimeTaken = g.Average((e) => e.TimeTaken)
            });

            foreach (var r in q)
            {
                Console.WriteLine("{0}\t{1}", r.HalfHour.ToLocalTime(), r.AverageTimeTaken);
            }
        }
Ejemplo n.º 5
0
        // Return a listing of Web pages, and referring pages, that returned a 500 status code
        static void Example500(TextReader textReader)
        {
            var reader = new W3CReader(textReader);

            foreach (var webevent in reader.Read().Where(w => w.Status >= 500 && w.Status <= 600)
                     .OrderBy(w => w.Status)
                     .ThenBy(w => w.Date)
                     .ThenBy(w => w.UriStem)
                     .ThenBy(w => w.UriQuery))
            {
                Console.WriteLine("{0}\t{1}\t{2}{3}", webevent.Status.ToString().Red().Bold(),
                                  webevent.ToLocalTime(),
                                  webevent.UriStem.Blue(),
                                  webevent.UriQuery.Yellow());
            }
        }
        static void Main(string[] args)
        {
            var reader = new W3CReader(File.OpenText(args.Length > 0 ? args[0] : "Data/foobar.log"));

            using (new ConsoleAutoStopWatch())
            {
                foreach (var @event in reader.Read())
                {
                    Console.WriteLine("{0} ({1}):{2}/{3} {4} (bytes sent)",
                                      @event.Status.ToString().Red().Bold(),
                                      @event.ToLocalTime(),
                                      @event.UriStem.Green(),
                                      @event.UriQuery,
                                      @event.BytesSent);
                }
            }
        }