From: Andi Kleen <ak@linux.intel.com>
To: Jin Yao <yao.jin@linux.intel.com>
Cc: acme@kernel.org, jolsa@kernel.org, peterz@infradead.org,
mingo@redhat.com, alexander.shishkin@linux.intel.com,
Linux-kernel@vger.kernel.org, kan.liang@intel.com,
yao.jin@intel.com
Subject: Re: [PATCH] perf util: Add more PMU fields for perf script python
Date: Wed, 30 May 2018 10:43:46 -0700 [thread overview]
Message-ID: <20180530174346.GE30764@tassilo.jf.intel.com> (raw)
In-Reply-To: <1527690045-17987-1-git-send-email-yao.jin@linux.intel.com>
On Wed, May 30, 2018 at 10:20:45PM +0800, Jin Yao wrote:
> When doing pmu sampling and then running a script with
> perf script -s script.py, the process_event function gets
> dictionary with some fields from the perf ring buffer
> (like ip, sym, callchain etc).
>
> But we miss quite a few fields we report now, for example,
> LBRs,data source,weight,transaction,iregs,uregs,and etc.
>
> This patch reports these fields for perf script python
> processing.
We need documentation and an example script using it.
> + PyObject *pyelem;
> +
> + pyelem = PyDict_New();
> + if (!pyelem)
> + Py_FatalError("couldn't create Python dictionary");
> +
I think we need a field for the dso here.
> + pydict_set_item_string_decref(pyelem, "from",
> + PyLong_FromUnsignedLongLong(br->entries[i].from));
> + pydict_set_item_string_decref(pyelem, "to",
> + PyLong_FromUnsignedLongLong(br->entries[i].to));
> + pydict_set_item_string_decref(pyelem, "mispred",
> + PyLong_FromUnsignedLongLong(br->entries[i].flags.mispred));
> + pydict_set_item_string_decref(pyelem, "predicted",
> + PyLong_FromUnsignedLongLong(br->entries[i].flags.predicted));
> + pydict_set_item_string_decref(pyelem, "in_tx",
> + PyLong_FromUnsignedLongLong(br->entries[i].flags.in_tx));
> + pydict_set_item_string_decref(pyelem, "abort",
These could be booleans.
> + PyLong_FromUnsignedLongLong(br->entries[i].flags.abort));
> + pydict_set_item_string_decref(pyelem, "cycles",
> + PyLong_FromUnsignedLongLong(br->entries[i].flags.cycles));
Would be nice to get access to the binary code too (see how perf script
brstackinsn does it). That could be a followon patch.
Thanks,
-Andi
next prev parent reply other threads:[~2018-05-30 17:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-30 14:20 [PATCH] perf util: Add more PMU fields for perf script python Jin Yao
2018-05-30 17:43 ` Andi Kleen [this message]
2018-05-31 5:41 ` Jin, Yao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180530174346.GE30764@tassilo.jf.intel.com \
--to=ak@linux.intel.com \
--cc=Linux-kernel@vger.kernel.org \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@intel.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=yao.jin@intel.com \
--cc=yao.jin@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.