mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-09-03 18:53:58 +00:00
tracer: stats: python style cleanup
This commit is contained in:
parent
1cebf3a24f
commit
bb3bff3659
1 changed files with 11 additions and 8 deletions
|
@ -10,24 +10,23 @@ python3 gsttr-stats.py trace.log
|
||||||
3) print selected entries only
|
3) print selected entries only
|
||||||
python3 gsttr-stats.py -c latency trace.log
|
python3 gsttr-stats.py -c latency trace.log
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import logging
|
|
||||||
from fnmatch import fnmatch
|
|
||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
# more options
|
# more options
|
||||||
# - live-update interval (for file=='-')
|
# - live-update interval (for file=='-')
|
||||||
#
|
#
|
||||||
# - for values like timestamps, we only want min/max but no average
|
# - for values like timestamps, we only want min/max but no average
|
||||||
|
|
||||||
logging.basicConfig(level=logging.WARNING)
|
import logging
|
||||||
logger = logging.getLogger('gsttr-stats')
|
from fnmatch import fnmatch
|
||||||
|
|
||||||
from tracer.analysis_runner import AnalysisRunner
|
from tracer.analysis_runner import AnalysisRunner
|
||||||
from tracer.analyzer import Analyzer
|
from tracer.analyzer import Analyzer
|
||||||
from tracer.parser import Parser
|
from tracer.parser import Parser
|
||||||
from tracer.structure import Structure
|
from tracer.structure import Structure
|
||||||
|
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.WARNING)
|
||||||
|
logger = logging.getLogger('gsttr-stats')
|
||||||
|
|
||||||
_SCOPE_RELATED_TO = {
|
_SCOPE_RELATED_TO = {
|
||||||
'GST_TRACER_VALUE_SCOPE_PAD': 'Pad',
|
'GST_TRACER_VALUE_SCOPE_PAD': 'Pad',
|
||||||
'GST_TRACER_VALUE_SCOPE_ELEMENT': 'Element',
|
'GST_TRACER_VALUE_SCOPE_ELEMENT': 'Element',
|
||||||
|
@ -37,6 +36,7 @@ _SCOPE_RELATED_TO = {
|
||||||
|
|
||||||
_NUMERIC_TYPES = ('int', 'uint', 'gint', 'guint', 'gint64', 'guint64')
|
_NUMERIC_TYPES = ('int', 'uint', 'gint', 'guint', 'gint64', 'guint64')
|
||||||
|
|
||||||
|
|
||||||
class Stats(Analyzer):
|
class Stats(Analyzer):
|
||||||
|
|
||||||
def __init__(self, classes):
|
def __init__(self, classes):
|
||||||
|
@ -164,6 +164,7 @@ class Stats(Analyzer):
|
||||||
avg = format_ts(avg)
|
avg = format_ts(avg)
|
||||||
print("%-45s: %30s: %16s/%16s/%16s" % (sk, tk, mi, avg, ma))
|
print("%-45s: %30s: %16s/%16s/%16s" % (sk, tk, mi, avg, ma))
|
||||||
|
|
||||||
|
|
||||||
class ListClasses(Analyzer):
|
class ListClasses(Analyzer):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -182,13 +183,15 @@ def format_ts(ts):
|
||||||
h = int(ts // (sec * 60 * 60))
|
h = int(ts // (sec * 60 * 60))
|
||||||
m = int((ts // (sec * 60)) % 60)
|
m = int((ts // (sec * 60)) % 60)
|
||||||
s = (ts / sec)
|
s = (ts / sec)
|
||||||
return '{:02d}:{:02d}:{:010.7f}'.format(h,m,s)
|
return '{:02d}:{:02d}:{:010.7f}'.format(h, m, s)
|
||||||
|
|
||||||
|
|
||||||
def is_time_field(f):
|
def is_time_field(f):
|
||||||
# TODO: need proper units
|
# TODO: need proper units
|
||||||
return (f.endswith('/time') or f.endswith('-dts') or f.endswith('-pts') or
|
return (f.endswith('/time') or f.endswith('-dts') or f.endswith('-pts') or
|
||||||
f.endswith('-duration'))
|
f.endswith('-duration'))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import argparse
|
import argparse
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|
Loading…
Reference in a new issue