From 231a9933b7766306ae109b2e511c971caadea6b2 Mon Sep 17 00:00:00 2001 From: Scott Ostler Date: Sun, 4 Jul 2010 18:19:06 -0400 Subject: Add error urls to logreport --- scripts/logreport.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'scripts/logreport.py') diff --git a/scripts/logreport.py b/scripts/logreport.py index 3977105..6f4799c 100644 --- a/scripts/logreport.py +++ b/scripts/logreport.py @@ -127,7 +127,7 @@ SlowReportCount = 10 IpReportCount = 10 class ConsoleWriter(object): - + def section(self, label): print "\n----- %s -----" % label @@ -221,7 +221,7 @@ class HtmlWriter(object): self.content += "\n" def graph(self, label, graph_id, data): - self.content += '
' % graph_id + self.content += '
' % graph_id js_array = "var %s = %s;" % (graph_id, data) graph_command = JqueryTemplate % (graph_id, graph_id, label) self.content += '' % (js_array, graph_command) @@ -250,7 +250,8 @@ class Report(object): self.writer.section('URL group stats') grouped = gather_by_key(self.good, 'urlgroup') - headers = ['#', 'min', 'median', 'mean', '90%', 'max', '# slow', 'bytes sent', 'bytes/req'] + headers = ['#', 'min', 'median', 'mean', '90%', 'max', '# slow', '% slow', + 'bytes sent', 'bytes/req'] data = [] for url_group in sorted(grouped.keys()): @@ -265,6 +266,7 @@ class Report(object): format_ms(ninety_percentile(vals)), format_ms(max(vals)), slow_count, + '%.01f%%' % (100 * slow_count / len(vals)), format_bytes(bytes_sent), format_bytes(bytes_sent / len(vals))]) self.writer.table(headers, data) @@ -281,6 +283,7 @@ class Report(object): reqs_per_sec = avg_bucket_rate(buckets, lambda r: True) images_per_sec = avg_bucket_rate(buckets, lambda r: r['urlgroup'] in ('Images', 'Avatars')) dumps_per_sec = avg_bucket_rate(buckets, lambda r: r['urlgroup'] in ('Post', 'Upload')) + tags_per_sec = avg_bucket_rate(buckets, lambda r: r['urlgroup'] in ('TagAdd', 'TagRemove')) chat_users_per_sec = avg_bucket_rate(buckets, lambda r: r['urlgroup'] == 'ChatUpdate') @@ -290,6 +293,8 @@ class Report(object): build_js_array(self.start, interval, images_per_sec)) self.writer.graph('Dumps / sec', 'dumps_per_sec', build_js_array(self.start, interval, dumps_per_sec)) + self.writer.graph('Tags / sec', 'tags_per_sec', + build_js_array(self.start, interval, tags_per_sec)) self.writer.graph('Chat users / sec', 'chat_users_per_sec', build_js_array(self.start, interval, chat_users_per_sec)) @@ -333,6 +338,12 @@ class Report(object): self.writer.section('Unclassified URLs (%s)' % len(unclassified)) self.writer.paragraph(unclassified_str) + def output_errors(self): + errors = set(g['url'] for g in self.good if g['urlgroup'] == 'Error') + error_str = ', '.join(sorted(errors)[:100]) + self.writer.section('Error Urls (%s)' % len(errors)) + self.writer.paragraph(error_str) + def output_ip_usage(self): grouped = gather_by_key(self.good, 'addr') sum_bytes = lambda reqs: sum(r['total_bytes'] for r in reqs) @@ -360,6 +371,7 @@ class Report(object): self.output_group_stats() self.output_slow_requests() self.output_ip_usage() + self.output_errors() self.output_unclassified_urls() -- cgit v1.2.3-70-g09d2