Update to pm-graph 5.4

bootgraph:
 - dmesg log format has changed, update parser in two places
 - fix prints in preparation for upgrade to python3

sleepgraph:
 - fix prints in preparation for upgrade to python3
 - add new trace events and kprobes to cover freeze more completely
 - add new -ftop callgraph trace over suspend_devices_and_enter
 - add -wifi option to check if a wifi connection is active
 - add -skipkprobe option to suppress unwanted kprobes in dev mode
 - add kernel params and sysinfo to the log output
 - don't crash if /dev/mem is throwing IO errors, ignore FPDT and DMI
 - fix kprobe length calculation when calls are recursive
 - add several new kernel issue definitions for USB, ACPI, ATA, etc
 - enable turbostat output to be read from stdout instead of from file
 - add BIOS call data to the timeline from acpi_ps_execute_method kprobe

Signed-off-by: Todd Brandt <todd.e.brandt@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Todd Brandt 2019-05-14 10:53:58 -07:00 committed by Rafael J. Wysocki
parent 7673896a40
commit 45dd0a42b9
2 changed files with 347 additions and 152 deletions

View File

@ -333,9 +333,9 @@ def parseKernelLog():
if(not sysvals.stamp['kernel']): if(not sysvals.stamp['kernel']):
sysvals.stamp['kernel'] = sysvals.kernelVersion(msg) sysvals.stamp['kernel'] = sysvals.kernelVersion(msg)
continue continue
m = re.match('.* setting system clock to (?P<t>.*) UTC.*', msg) m = re.match('.* setting system clock to (?P<d>[0-9\-]*)[ A-Z](?P<t>[0-9:]*) UTC.*', msg)
if(m): if(m):
bt = datetime.strptime(m.group('t'), '%Y-%m-%d %H:%M:%S') bt = datetime.strptime(m.group('d')+' '+m.group('t'), '%Y-%m-%d %H:%M:%S')
bt = bt - timedelta(seconds=int(ktime)) bt = bt - timedelta(seconds=int(ktime))
data.boottime = bt.strftime('%Y-%m-%d_%H:%M:%S') data.boottime = bt.strftime('%Y-%m-%d_%H:%M:%S')
sysvals.stamp['time'] = bt.strftime('%B %d %Y, %I:%M:%S %p') sysvals.stamp['time'] = bt.strftime('%B %d %Y, %I:%M:%S %p')
@ -356,7 +356,7 @@ def parseKernelLog():
data.newAction(phase, f, pid, start, ktime, int(r), int(t)) data.newAction(phase, f, pid, start, ktime, int(r), int(t))
del devtemp[f] del devtemp[f]
continue continue
if(re.match('^Freeing unused kernel memory.*', msg)): if(re.match('^Freeing unused kernel .*', msg)):
data.tUserMode = ktime data.tUserMode = ktime
data.dmesg['kernel']['end'] = ktime data.dmesg['kernel']['end'] = ktime
data.dmesg['user']['start'] = ktime data.dmesg['user']['start'] = ktime
@ -1016,7 +1016,7 @@ if __name__ == '__main__':
updateKernelParams() updateKernelParams()
elif cmd == 'flistall': elif cmd == 'flistall':
for f in sysvals.getBootFtraceFilterFunctions(): for f in sysvals.getBootFtraceFilterFunctions():
print f print(f)
elif cmd == 'checkbl': elif cmd == 'checkbl':
sysvals.getBootLoader() sysvals.getBootLoader()
pprint('Boot Loader: %s\n%s' % (sysvals.bootloader, sysvals.blexec)) pprint('Boot Loader: %s\n%s' % (sysvals.bootloader, sysvals.blexec))

File diff suppressed because it is too large Load Diff