[lttng-dev] newbie and kernel trace

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Wed May 22 08:50:52 EDT 2013


* Stéphane ANCELOT (sancelot at free.fr) wrote:
> Hi,
> I have read the Documentation/trace/tracepoints.txt file.
>
> I modified my code to acknowledge it.
>
> I am again unable to list my tracepoints using lttng list . (I also  
> tried lttng enable-channel before...).
>
> So , only one step I have not made :
> Is it mandatory to register the probe functions ???

Remember that the probe provider module .ko needs to be loaded manually
(if it is a new one that is not listed in the sessiond automatically
loaded module list).

Please provide the complete diff of the modifications you did to
lttng-modules so we can provide further help.

Thanks,

Mathieu

>
>
> Regards,
> S.Ancelot
>
>
>
>
> On 17/05/2013 17:13, Jérémie Galarneau wrote:
>> Hi Stéphane,
>>
>> We're going to need more details than that. Which kernel version are you using?
>> Can you see the other kernel events in your trace? If not, can you
>> show us how you are setting up your session?
>>
>> Thanks,
>> Jérémie
>>
>> On Fri, May 17, 2013 at 10:58 AM, Stéphane ANCELOT <sancelot at free.fr> wrote:
>>> Hi,
>>>
>>> I am trying to reimplement LTTNG 2. in xenomai api.
>>>
>>> the main problem is that I do not sea any of my new events available in
>>> lttng 2.
>>>
>>>
>>> my kernel compiles fine and  here is what I done to set it up :
>>>
>>> file include/trace/events/pod.h :
>>>
>>> #undef TRACE_SYSTEM
>>> #define TRACE_SYSTEM xenotrace
>>>
>>> #if !defined(_XENOTRACE_H) || defined(TRACE_HEADER_MULTI_READ)
>>>
>>> #define _XENOTRACE_H
>>>
>>> #include <linux/tracepoint.h>
>>>
>>>
>>> TRACE_EVENT(    xn_nucleus_thread_init,
>>>                  TP_PROTO(struct xnthread *thread,char *thread_name,xnflags_t
>>> flags,const char *class,int prio),
>>>                  TP_ARGS(thread,thread_name,flags,class,prio),
>>>
>>>                  TP_STRUCT__entry(
>>>                   __field(struct xnthread *,thread)
>>>                   __array(char ,thread_name,      XNOBJECT_NAME_LEN   )
>>>                   __field(xnflags_t,flags)
>>>                   __array(char,class,      XNOBJECT_NAME_LEN  )
>>>                   __field(int,    prio                       )
>>>                  ),
>>>
>>>                TP_fast_assign(
>>>                 __entry->thread   = thread;
>>>                 memcpy(__entry->thread_name,thread_name, XNOBJECT_NAME_LEN);
>>>                 __entry->flags   = flags;
>>>                 memcpy(__entry->class,class, XNOBJECT_NAME_LEN);
>>>                 __entry->prio   = prio;
>>>                  ),
>>>
>>>                 TP_printk("thread %p thread_name %s flags %lu class %s prio
>>> %d",
>>>                 __entry->thread, __entry->thread_name,
>>> __entry->flags,__entry->class,
>>>                 __entry->prio)
>>> );
>>>
>>> #endif
>>>
>>> /* This part must be outside protection */
>>> #include <trace/define_trace.h>
>>>
>>>
>>>
>>> in pod.h :
>>> #define CREATE_TRACE_POINTS
>>> #include <trace/events/pod.h>
>>>
>>> _______________________________________________
>>> lttng-dev mailing list
>>> lttng-dev at lists.lttng.org
>>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>
>>
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list