Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(550)

Unified Diff: net/tools/dns_trace_formatter/parser.py

Issue 2008007: Replace about:net-internals with the javascript-based frontend.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: improve a comment Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/tools/dns_trace_formatter/formatter.py ('k') | net/tools/dns_trace_formatter/parser_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/dns_trace_formatter/parser.py
===================================================================
--- net/tools/dns_trace_formatter/parser.py (revision 46824)
+++ net/tools/dns_trace_formatter/parser.py (working copy)
@@ -1,139 +0,0 @@
-#!/usr/bin/python2.4
-# Copyright (c) 2010 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Package for parsing the log lines from a Chromium DNS trace capture."""
-
-import re
-
-# The type of log line.
-(LINE_TYPE_OUTSTANDING_JOB,
- LINE_TYPE_CREATED_JOB,
- LINE_TYPE_STARTING_JOB,
- LINE_TYPE_RUNNING_JOB,
- LINE_TYPE_COMPLETED_JOB,
- LINE_TYPE_COMPLETING_JOB,
- LINE_TYPE_RECEIVED_REQUEST,
- LINE_TYPE_ATTACHED_REQUEST,
- LINE_TYPE_FINISHED_REQUEST,
- LINE_TYPE_CANCELLED_REQUEST) = range(10)
-
-class ParsedLine(object):
- """Structure that represents a parsed line from the trace log.
-
- Attributes:
- t: The time (in milliseconds) when the line was logged.
- line_type: The type of event that this line was logging. One of LINE_TYPE_*.
- raw_line: The full unparsed line.
- details: Dictionary containing additional properties that were parsed from
- this line.
- """
-
- def __init__(self):
- self.t = None
- self.line_type = None
- self.raw_line = None
- self.details = {}
-
-
-def ParseLine(line):
- """Parses |line| into a ParsedLine. Returns None on failure."""
-
- m = re.search(r'^t=(\d+): "(.*)"\s*$', line)
- if not m:
- return None
-
- parsed = ParsedLine()
- parsed.t = int(m.group(1))
- parsed.raw_line = line.strip()
-
- msg = m.group(2)
-
- m = re.search(r"^Received request (r\d+) for (.*)$", msg)
- if m:
- parsed.line_type = LINE_TYPE_RECEIVED_REQUEST
- parsed.entity_id = m.group(1)
- parsed.details['request_details'] = m.group(2)
- return parsed
-
- m = re.search(r"^Created job (j\d+) for {hostname='([^']*)', "
- "address_family=(\d+)}$", msg)
- if m:
- parsed.line_type = LINE_TYPE_CREATED_JOB
- parsed.entity_id = m.group(1)
- parsed.details['hostname'] = m.group(2)
- parsed.details['address_family'] = m.group(3)
- return parsed
-
- m = re.search(r"^Outstanding job (j\d+) for {hostname='([^']*)', address_"
- "family=(\d+)}, which was started at t=(\d+)$", msg)
- if m:
- parsed.line_type = LINE_TYPE_OUTSTANDING_JOB
- parsed.t = int(m.group(4))
- parsed.entity_id = m.group(1)
- parsed.details['hostname'] = m.group(2)
- parsed.details['address_family'] = m.group(3)
- return parsed
-
- m = re.search(r"^Attached request (r\d+) to job (j\d+)$", msg)
- if m:
- parsed.line_type = LINE_TYPE_ATTACHED_REQUEST
- parsed.entity_id = m.group(1)
- parsed.details['job_id'] = m.group(2)
- return parsed
-
- m = re.search(r'^Finished request (r\d+) (.*)$', msg)
- if m:
- parsed.line_type = LINE_TYPE_FINISHED_REQUEST
- parsed.entity_id = m.group(1)
- parsed.details['extra'] = m.group(2)
- return parsed
-
- m = re.search(r'^Cancelled request (r\d+)$', msg)
- if m:
- parsed.line_type = LINE_TYPE_CANCELLED_REQUEST
- parsed.entity_id = m.group(1)
- return parsed
-
- m = re.search(r'^Starting job (j\d+)$', msg)
- if m:
- parsed.line_type = LINE_TYPE_STARTING_JOB
- parsed.entity_id = m.group(1)
- return parsed
-
- m = re.search(r'\[resolver thread\] Running job (j\d+)$', msg)
- if m:
- parsed.line_type = LINE_TYPE_RUNNING_JOB
- parsed.entity_id = m.group(1)
- return parsed
-
- m = re.search(r'\[resolver thread\] Completed job (j\d+)$', msg)
- if m:
- parsed.line_type = LINE_TYPE_COMPLETED_JOB
- parsed.entity_id = m.group(1)
- return parsed
-
- m = re.search(r'Completing job (j\d+).*$', msg)
- if m:
- parsed.line_type = LINE_TYPE_COMPLETING_JOB
- parsed.entity_id = m.group(1)
- return parsed
-
- return None
-
-
-def ParseFile(path):
- """Parses the file at |path| and returns a list of ParsedLines."""
- f = open(path, 'r')
-
- entries = []
-
- for line in f:
- parsed = ParseLine(line)
- if parsed:
- entries.append(parsed)
-
- f.close()
- return entries
-
« no previous file with comments | « net/tools/dns_trace_formatter/formatter.py ('k') | net/tools/dns_trace_formatter/parser_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698