/*
* httpdstat.d - realtime httpd statistics. Uses DTrace.
*
* $Id: httpdstat.d 2 2007-08-01 10:01:43Z brendan $
*
* USAGE: httpdstat.d [interval [count]]
*
* interval seconds
* count number of samples
*
* FIELDS:
* TIME Time, string
* NUM Number of connections
* GET Number of "GET"s
* POST Number of "POST"s
* HEAD Number of "HEAD"s
* TRACE Number of "TRACE"s
*
* All of the statistics are printed as a value per interval (not per second).
*
* NOTE: This version does not process subsequent operations on keepalives.
*
* IDEA: Ryan Matteson (who first wrote a solution to this).
*
* COPYRIGHT: Copyright (c) 2005 Brendan Gregg.
*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* See the License for the specific language governing permissions
* and limitations under the License.
*
* CDDL HEADER END
*
* 20-Nov-2005 Brendan Gregg Created this.
*/
#pragma D option defaultargs
inline int SCREEN = 21;
/*
* Program Start
*/
{
first = 1;
}
{
secs--;
}
/*
* Print Header
*/
{
"NUM", "GET", "POST", "HEAD", "TRACE");
lines = 0;
first = 0;
}
/*
* Track Accept Events
*/
/execname == "httpd"/
{
}
{
}
/*
* Tally Data
*/
{
num++;
}
/*
* Print Output
*/
/secs == 0/
{
lines++;
counts--;
}
/*
* End
*/
/counts == 0/
{
exit(0);
}