Difference between revisions of "Ns stats"
(imported from WiKit id 84) |
|||
| Line 45: | Line 45: | ||
<xmp> | <xmp> | ||
<% | <% | ||
| − | ns_adp_puts | + | ns_adp_puts [format "%-60s %s" command {times invoked}] |
| − | ns_adp_puts " | + | ns_adp_puts "[string repeat = 60] [string repeat = 13]" |
| − | foreach {key value} | + | foreach {key value} [ns_stats] { |
| − | ns_adp_puts | + | ns_adp_puts [format "%-60s %lu" $key $value] |
} | } | ||
%> | %> | ||
| Line 57: | Line 57: | ||
---- | ---- | ||
| − | [[Category Documentation]] | + | [[Category:Documentation]] |
| + | [[Category:Core Tcl API]] | ||
Revision as of 12:55, 7 November 2006
Man page: http://aolserver.com/docs/tcl/ns_stats.html
NAME
ns_stats - Return command stats information
SYNOPSIS
ns_stats ?option? ?pattern?
DESCRIPTION
This command returns proc call stats for procs which match the glob pattern. Results are sorted based on option which can be one of the following:
- -count: results are sorted by count in descending order (default)
- -name: results are sorted by proc name in ascending order
In order to instruct AOLserver to keep these stats, you must define two settings in your nsd.tcl, in section ns/server/${server_name}/tcl:
ns_section ns/server/${server_name}/tcl
ns_param statlevel x
ns_param statmaxbuf y
Stats will be collected if statlevel is greater than 0. It gets passed to Tcl_CreateTrace() like so:
Tcl_CreateTrace(interp, nsconf.tcl.statlevel, StatsTrace, NULL);
If statsmaxbuf is less than or equal to zero, there will be no stats buffer and the global table will be updated directly, according to the comment:
236 /* 237 * If buffering is not enabled, update the global table directly 238 * (this could be a source of lock contention). Otherwise, update 239 * this thread's table, flushing if the buffer limit is exceeded. 240 */
Otherwise, statmaxbuf specifies the number of entries in the stats buffer hash table.
This is all documented from AOLserver 3.4.2, nsd/tclstats.c.
EXAMPLES
Here is a sample ns_stats.adp to use to display the output of ns_stats:
<xmp>
<%
ns_adp_puts [format "%-60s %s" command {times invoked}]
ns_adp_puts "[string repeat = 60] [string repeat = 13]"
foreach {key value} [ns_stats] {
ns_adp_puts [format "%-60s %lu" $key $value]
}
%>
</xmp>
SEE ALSO