Re: [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Martin Bligh <[email protected]> wrote:

> >i disagree. Consider the following example from LTT:
> ...
> >         trace_socket_sendmsg(sock, sock->sk->sk_family,
> >                 sock->sk->sk_type,
> >                 sock->sk->sk_protocol,
> >                 size);
> ...
> 
> >what do the 5 extra lines introduced by trace_socket_sendmsg() tell us? 
> >Nothing. They mostly just duplicate the information i already have from 
> >the function declaration. They obscure the clear view of the function:
>  ...
> >the resulting visual and structural redundancy hurts.
> 
> Couldn't that be easily fixed by just doing
> 
> 	trace_socket_sendmsg(sock, size);
> 
> and have it work out which esoteric parts of the sock we want to 
> trace, and which we don't? Is much less visually invasive, and gives 
> the same effect.

yeah, visual impact is everything. The best that Frank and me came up 
with is:

	_(socket_sendmsg, sock, size);

we could quickly learn to visually skip over lines like that, they have 
a pretty unique geometric form . While if it's called:

	trace_socket_sendmsg(sock, size);

it always looks like a function call in the corner of the eye and 
attracts attention.

the '_()' macro is defined as:

	#define _(x,y,z) STAP_MARK(x,y,z)

(STAP_MARK is an existing SystemTap helper to insert static tracepoints 
into the kernel.)

but the other property of dynamic tracing is still very important too: 
we have the technological freedom to remove static tracepoints, if we 
decide so. With static tracers, once they are in the tree, we are stuck 
with these APIs.

	Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux