Re: [PATCH V8 10/25] perf tools: Add example call-graph script

From: Arnaldo Carvalho de Melo
Date: Fri Aug 21 2015 - 11:28:23 EST


Em Fri, Aug 21, 2015 at 12:21:25PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Aug 21, 2015 at 12:11:33PM -0300, Arnaldo Carvalho de Melo escreveu:
> > [acme@zoo ~]$ perf script -s ~/libexec/perf-core/scripts/python/export-to-postgresql.py bts_example branches calls
> > 2015-08-21 12:10:00.504126 Creating database...
> > QSqlDatabase: QPSQL driver not loaded
> > QSqlDatabase: available drivers: QSQLITE
> > QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins
> > QSqlQuery::exec: database not open
> > Traceback (most recent call last):
> > File "/home/acme/libexec/perf-core/scripts/python/export-to-postgresql.py", line 87, in <module>
> > do_query(query, 'CREATE DATABASE ' + dbname)
> > File "/home/acme/libexec/perf-core/scripts/python/export-to-postgresql.py", line 78, in do_query
> > raise Exception("Query failed: " + q.lastError().text())
> > Exception: Query failed: Driver not loaded Driver not loaded
> > Error running python script /home/acme/libexec/perf-core/scripts/python/export-to-postgresql.py
> > [acme@zoo ~]$
>
> A-ha, this was missing:
>
> [root@zoo ~]# rpm -ql qt-postgresql
> /usr/lib64/qt4/plugins/sqldrivers/libqsqlpsql.so
> [root@zoo ~]#
>
> [acme@zoo ~]$ perf script -s ~/libexec/perf-core/scripts/python/export-to-postgresql.py bts_example branches calls
> 2015-08-21 12:20:01.841677 Creating database...
> 2015-08-21 12:20:02.556853 Writing to intermediate files...
> 2015-08-21 12:20:03.262814 Copying to database...
> 2015-08-21 12:20:03.783109 Removing intermediate files...
> 2015-08-21 12:20:03.790282 Adding primary keys
> 2015-08-21 12:20:04.294342 Adding foreign keys
> 2015-08-21 12:20:04.718238 Done
> [acme@zoo ~]$
>
> Now to the next steps... Lets see how this looks like with BTS...

So, after running:

[acme@zoo linux]$ python
tools/perf/scripts/python/call-graph-from-postgresql.py bts_example

I got a GUI and after expanding some callchains I took this screenshot:

http://vger.kernel.org/~acme/perf/call_graph_example_intel_bts.png

Cool stuff! But it seems the COMM got messed up? I.e. that "1380:1380"
first level after "ls".

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/