[lttng-dev] Problem with perf:thread in 2.5.0
Jonathan Rajotte-Julien
jonathan.rajotte-julien at ericsson.com
Thu Jul 24 17:07:57 EDT 2014
On 07/24/2014 04:46 PM, Jonathan Rajotte-Julien wrote:
>
> Hey Evgeniy,
>
>
>> Jonathan, sorry, I've copied wrong output, original command was with perf:thread:cpu-cycles:
>>
>>> lttng add-context -u -t vpid -t perf:thread:cpu-cycles -t perf:thread:instructions -t perf:thread:cache-misses
>> Session auto-20140724-091524 created.
>> Traces will be written in /export/home/eiva/lttng-traces/auto-20140724-091524
>> UST context vpid added to all channels
>> Error: perf:thread:cpu-cycles: UST invalid context
>> Error: perf:thread:instructions: UST invalid context
>> Error: perf:thread:cache-misses: UST invalid context
>> Warning: Some command(s) went wrong
>> UST event eiva_test:* created in channel channel0
>
> Weird, it works on my side (c&p) with latest version witch is 2.5 stable :P.
I just tested a fresh install from stable ppa (https://launchpad.net/~lttng/+archive/ubuntu/ppa).
and everything seems to work fine. Cycle,cache etc.
Well, keep us up to date.
Cheers
Jonathan
>
>>
>>> lttng --version
>> lttng (LTTng Trace Control) 2.5.0 - Fumisterie
>
> From this output I guess you are working with the lttng package and not the source from git. I don't think packaging is the problem here but let just keep that in mind.
> What dist are you on ?
>
> I'm sure you already done it a thousand time but could you just run these and send the output ?
>
> First make sure no lttng-sessiond is running then launch:
>
> lttng-sessiond -vvv
>
> In a separate terminal:
>
> lttng destroy -a // Just in case
> lttng -vvv create test
>
> lttng -vvv add-context -u -t vpid -t perf:thread:cpu-cycles -t perf:thread:instructions -t perf:thread:cache-misses
>
> If this work, you could test if you get the data or zero.
>
> lttng enable-event -u -a -s test
>
> lttng start
> // Run the program
>
> lttng stop
>
> Make sure to send the output from lttng-sessiond -vvv.
>
>
> Cheers,
> Jonathan
>
>>
>> Later I've tried cpu-cycles separately and then accidentally switched to perf:cpu. Now everything started to work, but nothing changed since then. Though didn't check if we still get zeroes on another machine.
>>
>>
>> On Thu, Jul 24, 2014 at 7:01 PM, Jonathan Rajotte-Julien <jonathan.rajotte-julien at ericsson.com <mailto:jonathan.rajotte-julien at ericsson.com>> wrote:
>>
>> Hi!
>>
>> > Hi!
>> >
>> > I use lttng-2.5.0 (tools, modules, …) and linux-3.8.13. When I try to add context for performance counters I get the following error:
>> >
>> >> lttng add-context -u -t perf:cpu:cpu-cycles
>> > Error: perf:cpu:cpu-cycles: UST invalid context
>> > Warning: Some command(s) went wrong
>>
>> Well i think we will both agree that the help page does not help very much.(Should fix that)
>>
>> If we go deep down into the code we get the supported context for UST domain. :)
>>
>> Ust domain support 6 type of context:
>> LTTNG_EVENT_CONTEXT_VTID
>> LTTNG_EVENT_CONTEXT_VPID
>> LTTNG_UST_CONTEXT_VPID
>> LTTNG_EVENT_CONTEXT_PTHREAD_ID
>> LTTNG_EVENT_CONTEXT_PROCNAME
>> LTTNG_EVENT_CONTEXT_IP
>> LTTNG_EVENT_CONTEXT_PERF_THREAD_COUNTER
>>
>> Well this does help a little ... If we dig a little deeper and search around we get more info and see that an enum from "./lttng-tools/include/lttng/event.h" lttng_event_context_t maps to another one in the lttng-tool side ( context_type in add_context.c)
>>
>> *Important Part*
>> So if we decrypt the macros and functions in add-context.c, we get that the following contexts are supported for UST:
>>
>> vpid
>> vtid
>> pthread_id
>> procname
>> ip
>>
>> perf:thread:cpu-cycles
>> perf:thread:cycles
>> perf:thread:stalled-cycles-frontend
>> perf:thread:idle-cycles-frontend
>> perf:thread:stalled-cycles-backend
>> perf:thread:idle-cycles-backend
>> perf:thread:instructions
>> perf:thread:cache-references
>> perf:thread:cache-misses
>> perf:thread:branch-instructions
>> perf:thread:branches
>> perf:thread:branch-misses
>> perf:thread:bus-cycles
>>
>> perf:thread:L1-dcache
>> perf:thread:L1-icache
>> perf:thread:LLC
>> perf:thread:dTLB
>> perf:thread:iTLB-loads
>> perf:thread:iTLB-load-misses
>> perf:thread:branch-loads
>> perf:thread:branch-load-misses
>>
>> perf:thread:cpu-clock
>> perf:thread:task-clock
>> perf:thread:page-fault
>> perf:thread:faults
>> perf:thread:major-faults
>> perf:thread:minor-faults
>> perf:thread:context-switches
>> perf:thread:cs
>> perf:thread:cpu-migrations
>> perf:thread:migrations
>> perf:thread:alignment-faults
>> perf:thread:emulation-faults
>>
>> **(TL;DR : perf:cpu:cpu-cycles is not in the list)**
>>
>> If you want perf:cpu:cpu-cycles you will need a kernel tracing domain.
>>
>> Even if it make sense that a ust tracing session cannot touch hardware stuff it won’t hurt to be more explicit about it. :).
>>
>> >
>> > We have another machine with 2.5.0 (modules are not installed though) and adding perf:cpu:cpu-cycles works fine, but it is always zero in results.
>>
>> As for this, I cannot explain why lttng-tool does not complain on adding the context.
>> You can open a bug here http://bugs.lttng.org/projects/lttng-tools (you will need to create an account and sign in)
>>
>> Cheers,
>> Jonathan
>>
>> >
>> > --
>> > Cheers,
>> > Evgeniy
>> >
>> >
>> > _______________________________________________
>> > lttng-dev mailing list
>> > lttng-dev at lists.lttng.org <mailto:lttng-dev at lists.lttng.org>
>> > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>> >
>>
>>
>>
>>
>> --
>> Cheers,
>> Evgeniy
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
More information about the lttng-dev
mailing list