This is the mail archive of the systemtap@sources.redhat.com mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Container keys


On Sat, Apr 30, 2005 at 12:21:15PM -0700, Martin Hunt wrote:

> saw anything using more than two keys.  Do you have some examples of
> where this is useful?

I've two answers to this: first, if systemtap is to be a general
scripting environment, restrictions like this are going to cause
problems: people just *are* going to find situations where they want it.

Second, yes, I do have examples. Unfortunately I can't release the
actual ones I've used. Consider though, that it makes real sense to be
able to key based on application name, *plus* thread id, *plus* probe
function. That basic use is already beyond what current systemtap can
do. What about aggregating on (a certain depth of) call stack? How would
I say "I want to see the number of times which threads had call stacks
from this function" etc. ? systemtap is all about getting a directed
amount of useful data[1] and restricting the way I can accumulate the data
doesn't help this aim.

> We could support an arbitrary number of keys, but it would be less
> efficient than supporting two.

With the static maps code you have now. What prevents the script
compiler from outputting the equivalent of map.c, but with the key/value
types hard-coded? Similar to how C++ templates are emitted. The only
issue I could see with this is module code size bloat for very large
scripts, but I would not expect large scripts to be common. It also
seems to be the only sensible way to support stack traces as keys, which
I would consider a very useful feature.

regards,
john

[1] or at least, that's what I think it /should/ be about


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]