This is the mail archive of the
systemtap@sources.redhat.com
mailing list for the systemtap project.
Re: Output Redesign in SystemTap Runtime
On Tue, 2005-04-26 at 15:20 -0400, Frank Ch. Eigler wrote:
> Hi -
>
> > > More generally, backtrace data can instead be saved in ordinary
> > > systemtap variables [...]
> > > By that time, the exact origins ("this came from
> > > a stack") would be lost, in the absence of heroic measures.
> >
> > Not really. "<stack> 0xf0001234 ... </stack>" gets saved as a string
> > [...]
>
> OK, that's the sort of "heroic measure" I was talking about. So now
> we have a string that has some self-descriptive content markup.
I don't understand what is heroic about it. Or what the problem is. Do
you have an example? Why are you saving a stack in a string? Probably
just to save in a map, so that's just data and who cares if it has tags
in it? When it gets printed they get removed.
For saving a stack to a string, I can see a couple of possibilities.
1. I want a kernel trace as a bunch of numbers. OK. Just call
_stp_sprint_stack() with verbose = 0.
2. I want symbolic trace. OK, call _stp_sprint_stack with verbose > 0
and you get <stack> tag in your string at runtime. If it gets printed,
then the tag is removed when symbolic lookups are done.
3. I want symbolic trace right now in my string, even if it is slow.
OK, could be done, but is this really necessary?
Martin