summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Normand <philn@igalia.com>2018-05-13 13:02:11 +0100
committerPhilippe Normand <philn@igalia.com>2018-05-13 13:02:11 +0100
commit29e421ad0a136974e91bcf6a44834025e35058ef (patch)
tree29785fb2fed8ff65e63ed23e6b46e1a062568f3f
parent58fb4f93541cafbe593a07b2ed6bac70f2f27dea (diff)
debug-viewer: MEMDUMP debug level support
-rw-r--r--debug-viewer/GstDebugViewer/Data.py15
-rw-r--r--debug-viewer/GstDebugViewer/GUI/colors.py1
-rw-r--r--debug-viewer/GstDebugViewer/GUI/columns.py2
-rw-r--r--debug-viewer/GstDebugViewer/Plugins/Timeline.py2
4 files changed, 12 insertions, 8 deletions
diff --git a/debug-viewer/GstDebugViewer/Data.py b/debug-viewer/GstDebugViewer/Data.py
index 2dbad6a..1499bf8 100644
--- a/debug-viewer/GstDebugViewer/Data.py
+++ b/debug-viewer/GstDebugViewer/Data.py
@@ -74,8 +74,8 @@ def parse_time(st):
class DebugLevel (int):
- __names = ["NONE", "ERROR", "WARN",
- "INFO", "DEBUG", "LOG", "FIXME", "TRACE"]
+ __names = ["NONE", "ERROR", "WARN", "FIXME",
+ "INFO", "DEBUG", "LOG", "TRACE", "MEMDUMP"]
__instances = {}
def __new__(cls, level):
@@ -122,6 +122,7 @@ debug_level_debug = DebugLevel("DEBUG")
debug_level_log = DebugLevel("LOG")
debug_level_fixme = DebugLevel("FIXME")
debug_level_trace = DebugLevel("TRACE")
+debug_level_memdump = DebugLevel("MEMDUMP")
debug_levels = [debug_level_none,
debug_level_trace,
debug_level_fixme,
@@ -129,7 +130,8 @@ debug_levels = [debug_level_none,
debug_level_debug,
debug_level_info,
debug_level_warning,
- debug_level_error]
+ debug_level_error,
+ debug_level_memdump]
# For stripping color codes:
_escape = re.compile(b"\x1b\\[[0-9;]*m")
@@ -147,7 +149,7 @@ def strip_escape(s):
def default_log_line_regex_():
# "DEBUG "
- LEVEL = "([A-Z]+)\s+"
+ LEVEL = "([A-Z]+)\s*"
# "0x8165430 "
THREAD = r"(0x[0-9a-f]+)\s+" # r"\((0x[0-9a-f]+) - "
# "0:00:00.777913000 "
@@ -309,12 +311,13 @@ class LineCache (Producer):
dict_levels = {"T": debug_level_trace, "F": debug_level_fixme,
"L": debug_level_log, "D": debug_level_debug,
"I": debug_level_info, "W": debug_level_warning,
- "E": debug_level_error, " ": debug_level_none}
+ "E": debug_level_error, " ": debug_level_none,
+ "M": debug_level_memdump, }
ANSI = "(?:\x1b\\[[0-9;]*m)?"
ANSI_PATTERN = r"\d:\d\d:\d\d\.\d+ " + ANSI + \
r" *\d+" + ANSI + \
r" +0x[0-9a-f]+ +" + ANSI + \
- r"([TFLDIEW ])"
+ r"([TFLDIEWM ])"
BARE_PATTERN = ANSI_PATTERN.replace(ANSI, "")
rexp_bare = re.compile(BARE_PATTERN)
rexp_ansi = re.compile(ANSI_PATTERN)
diff --git a/debug-viewer/GstDebugViewer/GUI/colors.py b/debug-viewer/GstDebugViewer/GUI/colors.py
index ed1e0ab..4d91293 100644
--- a/debug-viewer/GstDebugViewer/GUI/colors.py
+++ b/debug-viewer/GstDebugViewer/GUI/colors.py
@@ -136,6 +136,7 @@ class LevelColorThemeTango (LevelColorTheme):
self.add_color(Data.debug_level_info, p.black, p.chameleon1)
self.add_color(Data.debug_level_warning, p.black, p.orange1)
self.add_color(Data.debug_level_error, p.white, p.scarletred1)
+ self.add_color(Data.debug_level_memdump, p.white, p.aluminium3)
class ThreadColorTheme (ColorTheme):
diff --git a/debug-viewer/GstDebugViewer/GUI/columns.py b/debug-viewer/GstDebugViewer/GUI/columns.py
index eacb350..5467945 100644
--- a/debug-viewer/GstDebugViewer/GUI/columns.py
+++ b/debug-viewer/GstDebugViewer/GUI/columns.py
@@ -229,7 +229,7 @@ class LevelColumn (TextColumn):
values = [Data.debug_level_log, Data.debug_level_debug,
Data.debug_level_info, Data.debug_level_warning,
- Data.debug_level_error]
+ Data.debug_level_error, Data.debug_level_memdump]
return values
diff --git a/debug-viewer/GstDebugViewer/Plugins/Timeline.py b/debug-viewer/GstDebugViewer/Plugins/Timeline.py
index 85652c9..6d9f7cd 100644
--- a/debug-viewer/GstDebugViewer/Plugins/Timeline.py
+++ b/debug-viewer/GstDebugViewer/Plugins/Timeline.py
@@ -157,7 +157,7 @@ class LevelDistributionSentinel (object):
def process(self):
- MAX_LEVELS = 8
+ MAX_LEVELS = 9
YIELD_LIMIT = 10000
y = YIELD_LIMIT