From: "Christophe Bédard via lttng-dev" <lttng-dev@lists.lttng.org>
To: Matthew Khouzam <matthew.khouzam@ericsson.com>
Cc: "lttng-dev@lists.lttng.org" <lttng-dev@lists.lttng.org>,
"Liu, Changcheng" <changcheng.liu@intel.com>
Subject: Re: [lttng-dev] get function names with lttng-ust-cyg-profile
Date: Tue, 23 Jun 2020 12:52:38 -0400 [thread overview]
Message-ID: <CAAS9doZNif9Cw=kmo0hvKuF_qVBiqX_233JWFr4fTc5A72eLvw@mail.gmail.com> (raw)
Message-ID: <20200623165238.15BGGt6m_u-DHxCnQ_4AV5xlnQA5e3X5ECzoojyrOz0@z> (raw)
In-Reply-To: <SA0PR15MB38396A864018025F971F2A239E940@SA0PR15MB3839.namprd15.prod.outlook.com>
[-- Attachment #1.1: Type: text/plain, Size: 4419 bytes --]
Hi,
Babeltrace is doing exactly what it should as far as I know.
>
yes, but babeltrace *can* provide the information if:
* ip and vpid contexts are enabled (for userspace), e.g.
$ lttng add-context --userspace --type=ip --type=vpid
* LTTng state dump events are enabled, e.g.
$ lttng enable-event --userspace 'lttng_ust_statedump:*'
see this (from bt2 but it also applies to bt1):
https://babeltrace.org/docs/v2.0/man7/babeltrace2-filter.lttng-utils.debug-info.7/#doc-lttng-prereq
Note that the Python bindings for babeltrace don't provide/expose this
debug info.
Christophe
On Tue, 23 Jun 2020 at 11:12, Matthew Khouzam via lttng-dev <
lttng-dev@lists.lttng.org> wrote:
> Hi,
>
> You have the pointers that are traced. Babeltrace is doing exactly what it
> should as far as I know.
>
> You could use the command 'nm' to get your symbols and look them up. I am
> sure Babeltrace can do this from a python level. You could also use a GUI
> based trace viewer to get the information.
>
> Hope that helps.
> Matthew
> ------------------------------
> *From:* lttng-dev <lttng-dev-bounces@lists.lttng.org> on behalf of Liu,
> Changcheng via lttng-dev <lttng-dev@lists.lttng.org>
> *Sent:* Tuesday, June 23, 2020 10:37 AM
> *To:* lttng-dev@lists.lttng.org <lttng-dev@lists.lttng.org>
> *Cc:* changcheng.liu@intel.com <changcheng.liu@intel.com>
> *Subject:* [lttng-dev] get function names with lttng-ust-cyg-profile
>
> Hi all,
> I'm trying to use lttng-ust-cyg-profile to trace program.
> Does anyone know how to get function names and offset through
> lttng-ust-cyg-profile?
>
> In below example, the babeltrace could only get the function entry/exit
> value.
> 1. Source program: instrument.c
> 1 #include <stdio.h>
> 2
> 3 int add3(int val) {
> 4 return val + 3;
> 5 }
> 6
> 7 int main(int argc, char **argv) {
> 8 int x = 4;
> 9
> 10 puts("Press Enter to continue...");
> 11 getchar();
> 12
> 13 x = add3(x);
> 14
> 15 return 0;
> 16 }
>
> 2. build source code:
> $ gcc -g -finstrument-functions instrument.c -o instrument
>
> 3. run program:
> $ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/liblttng-ust-cyg-profile.so
> ./instrument
>
> 4. start trace process:
> trace@trace:~/cc$ sudo lttng create instrument
> Session instrument created.
> Traces will be output to
> /root/lttng-traces/instrument-20200623-222917
>
> trace@trace:~/cc$ sudo lttng enable-channel user_func_trace
> --userspace
> UST channel user_func_trace enabled for session instrument
>
> trace@trace:~/cc$ sudo lttng enable-event --userspace
> lttng_ust_cyg_profile:func_entry --channel user_func_trace
> UST event lttng_ust_cyg_profile:func_entry created in channel
> user_func_trace
> trace@trace:~/cc$ sudo lttng enable-event --userspace
> lttng_ust_cyg_profile:func_exit --channel user_func_trace
> UST event lttng_ust_cyg_profile:func_exit created in channel
> user_func_trace
>
> trace@trace:~/cc$ sudo lttng start
> Tracing started for session instrument
>
> trace@trace:~/cc$ sudo lttng destroy
> Destroying session instrument..
> Session instrument destroyed
>
> trace@trace:~/cc$ sudo babeltrace
> /root/lttng-traces/instrument-20200623-222917
> [22:29:55.388607059] (+?.?????????) trace
> lttng_ust_cyg_profile:func_entry: { cpu_id = 2 }, { addr = 0x5625C88B01A9,
> call_site = 0x5625C88B0237 }
> [22:29:55.388612293] (+0.000005234) trace
> lttng_ust_cyg_profile:func_exit: { cpu_id = 2 }, { addr = 0x5625C88B01A9,
> call_site = 0x5625C88B0237 }
> [22:29:55.388613215] (+0.000000922) trace
> lttng_ust_cyg_profile:func_exit: { cpu_id = 2 }, { addr = 0x5625C88B01EE,
> call_site = 0x7FE40BD5C0B3 }
>
> B.R.
> Changcheng
> _______________________________________________
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
>
> https://protect2.fireeye.com/v1/url?k=98478753-c6e73d3d-9847c7c8-869a14f4b08c-41638b2508ab85dd&q=1&e=703483a0-63a9-4269-ac8e-c1fc5a57edad&u=https%3A%2F%2Flists.lttng.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flttng-dev
> _______________________________________________
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
[-- Attachment #1.2: Type: text/html, Size: 8118 bytes --]
[-- Attachment #2: Type: text/plain, Size: 156 bytes --]
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
next prev parent reply other threads:[~2020-06-23 16:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-23 14:37 get function names with lttng-ust-cyg-profile Liu, Changcheng via lttng-dev
2020-06-23 14:37 ` [lttng-dev] " Liu, Changcheng via lttng-dev
2020-06-23 15:12 ` Matthew Khouzam via lttng-dev
2020-06-23 15:12 ` [lttng-dev] " Matthew Khouzam via lttng-dev
2020-06-23 16:52 ` Christophe Bédard via lttng-dev [this message]
2020-06-23 16:52 ` Christophe Bédard via lttng-dev
2020-06-24 1:10 ` Liu, Changcheng via lttng-dev
2020-06-24 1:10 ` [lttng-dev] " Liu, Changcheng via lttng-dev
2020-06-24 1:41 ` Liu, Changcheng via lttng-dev
2020-06-24 1:41 ` [lttng-dev] " Liu, Changcheng via lttng-dev
2020-06-26 14:19 ` Christophe Bédard via lttng-dev
2020-06-26 14:19 ` [lttng-dev] " Christophe Bédard via lttng-dev
2020-06-26 14:22 ` Liu, Changcheng via lttng-dev
2020-06-26 14:22 ` [lttng-dev] " Liu, Changcheng via lttng-dev
2020-06-27 2:38 ` Liu, Changcheng via lttng-dev
2020-06-27 2:38 ` [lttng-dev] " Liu, Changcheng via lttng-dev
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='CAAS9doZNif9Cw=kmo0hvKuF_qVBiqX_233JWFr4fTc5A72eLvw@mail.gmail.com' \
--to=lttng-dev@lists.lttng.org \
--cc=bedard.christophe@gmail.com \
--cc=changcheng.liu@intel.com \
--cc=matthew.khouzam@ericsson.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).