Messages in this thread | | | Date | Wed, 17 Nov 2010 14:33:14 +0200 | From | Pekka Enberg <> | Subject | Re: [patch] trace: Add user-space event tracing/injection |
| |
On 11/17/10 2:30 PM, Ingo Molnar wrote: > What does the duration in milliseconds mean there? For things like >> GC and JIT, I want something like: >> >> void gc(void) >> { >> prctl(PR_TASK_PERF_USER_TRACE_START, ...) >> >> collect(); >> >> prctl(PR_TASK_PERF_USER_TRACE_END, ...) >> } >> >> So that it's clear from the tracing output that the VM was busy >> doing GC for n milliseconds. Barring background JIT'ing and >> pauseless GC, I'd also be interested in showing how much time the VM >> was actually _blocking_ the running application (which can happen >> with signals too, btw, for things like accessing data that's lazily >> initialized). > We can add two events: user_event_entry/user_event_exit - or we could use the string > to differentiate, and start it with: > > "entry: ..." > "exit: ..." > > And then the event timestamps (which are absolute and are available) could be used > to calculate the duration of this period. > > 'trace' could even be taught to treat such entry:/exit: strings in a special way, so > that you dont have to write Jato specific trace decoding bits?
Yes, makes sense. I like the API so lets convince others that it's important enough to be merged. :-)
Pekka
| |