[lttng-dev] using --function/--probe

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu May 2 15:54:31 EDT 2013


* Bill Trost (trost at cloud.rain.com) wrote:
> Mathieu wrote:
>     * Bill Trost (trost at cloud.rain.com) wrote:
>     > and how does it differ from "--probe"? How do I determine
>     > what symbols are valid for each of these options?
> 
>     It entirely depends on which functions are blacklisted in the kernel
>     (this is an attribute added to the functions specifically for kprobes).
>     The keyword is "__kprobes".
> 
> Is that the only basis? For example, I can add a dynamic tracepoint (of
> either flawor) for queue_work_on(), but not work __queue_work(), yet
> neither of those functions have any apparent annotation. Or does
> EXPORT_SYMBOL_GPL imply a probe point?

No, it doesn't.

> 
>     > ...how do I trace what work is being
>     > enqueued and run by the kworker threads?
> 
>     For this level of details, I think kprobes/kretprobes will not
>     currently allow you to fetch it. The two options we have are:
> 
>     - use static tracepoints. Is there a tracepoint that targets the
>       information you are looking for ? Try "lttng list -k".
> 
> No, I've been capturing all kernel events and haven't seen
> anything resembling the kworker tracepoints of lttng 0.x.

LTTng 2.2-rc has a new workqueue instrumentation. Maybe this can fit
your use-case ?

> 
>     - or extend the dynamic probing to allow fetching variables from
>       debug information,
> 
> Hmm. Well, I did a bit more poking and got a bit closer -- at least now
> I know what dynamic points to use. (eg, "queue_work_on" and friends to
> see what is being queued). I take it that LTT can't capture function call
> arguments as a form of additional context? That would be an ideal
> bit of information in this case.

Currently it can't.

(sorry for late reply)

Thanks,

Mathieu

> 
> Thanks again,
> Bill

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



More information about the lttng-dev mailing list