self request_rec *r; ap*::ap_read_request:read-request-entry /!self->rptr && execname=="httpd"/ { self->rptr = arg0; } perlxs*:::sub-entry /self->rptr/ { self->func = copyinstr(arg0); self->file = copyinstr(arg1); self->line = arg2; } ap*:::process-request-return /self->rptr && arg0 == self->rptr/ { self->r = 0; self->rptr = 0; } off-cpu /self->rptr && self->line > 0/ { self->r = self->rptr ? (request_rec *)copyin(self->rptr, sizeof(request_rec)) : NULL; printf("%d %s just went off CPU serving %s in %s at %s:%d\n", pid, execname, self->r ? copyinstr((uintptr_t)self->r->uri) : "???", self->func, self->file, self->line); self->func = 0; self->file = 0; self->line = 0; }