BTW, I replaced "string" with "Xstring" and it works.  If I could avoid 
touching Apache's files, that would be nice.  But I can live with this.

Thanks for the help everybody!

I want to share this with anyone who will come looking for this later:

Copy the Apache header files to a work directory:

# cp -R /opt/apache/include /export/home/amitchel 


My command line:


dtrace -32 -C -I /export/home/amitchel/include -x cpppath=/usr/sfw/bin/cpp -Xs 
-s watchApacheRequests.d -p 843

My script:
#!/usr/sbin/dtrace

#define __builtin_va_list long
#define __attribute__(x)
#include <httpd.h>

pid$target:a.out:ap_process_request:entry
{

        self->ts = timestamp;
        self->r = (request_rec*) copyin(arg0, sizeof(request_rec));
        self->uri = copyinstr((uintptr_t) self->r->uri);

}


pid$target:a.out:ap_process_request:return
/self->ts/
{
        @request_uris[self->uri] = quantize((timestamp - self->ts) / 1000000);
        self->ts = 0;
        self->uri = "err";
}

tick-5s 
{
        printa(@request_uris);
}



You'll get some errors like this because of the 'string' reserved keyword:

cc1: warning: /dev/fd/6 is shorter than expected
dtrace: failed to compile script watchApacheRequests.d: 
"/export/home/amitchel/include/ap_regex.h", line 117: syntax error near "string"


Edit the file, replace 'string' with 'Xstring' and try again.  I had to edit 
these files:

/export/home/amitchel/include/ap_regex.h
/export/home/amitchel/include/httpd.h


And here's the script output:

  0  49008                         :tick-5s 
  /hello                                            
           value  ------------- Distribution ------------- count    
               1 |                                         0        
               2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
               4 |                                         0        

  /page1                                            
           value  ------------- Distribution ------------- count    
               1 |                                         0        
               2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
               4 |                                         0        

  /pageTwo                                          
           value  ------------- Distribution ------------- count    
               1 |                                         0        
               2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
               4 |                                         0
-- 
This message posted from opensolaris.org
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to