Difference between revisions of "Ns stats"

From AOLserver Wiki
Jump to navigation Jump to search
(imported from WiKit id 84)
 
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:
 
'''NAME'''
 
'''NAME'''
  
ns_stats - Return command stats information
+
ns_stats - Return command stats information (AOLserver 3.x only, defunct in 4.0+)
  
 
'''SYNOPSIS'''
 
'''SYNOPSIS'''
Line 45: Line 45:
 
   <xmp>
 
   <xmp>
 
   <%
 
   <%
   ns_adp_puts [[format "%-60s %s" command {times invoked}]]
+
   ns_adp_puts [format "%-60s %s" command {times invoked}]
   ns_adp_puts "[[string repeat = 60]] [[string repeat = 13]]"
+
   ns_adp_puts "[string repeat = 60] [string repeat = 13]"
   foreach {key value} [[ns_stats]] {
+
   foreach {key value} [ns_stats] {
       ns_adp_puts [[format "%-60s %lu" $key $value]]
+
       ns_adp_puts [format "%-60s %lu" $key $value]
 
   }
 
   }
 
   %>
 
   %>
Line 57: Line 57:
 
----
 
----
  
[[Category Documentation]] - [[Category Core Tcl API]]
+
[[Category:Documentation]]
 +
[[Category:Core Tcl API]]

Latest revision as of 01:37, 18 June 2010

Man page: http://aolserver.com/docs/tcl/ns_stats.html


NAME

ns_stats - Return command stats information (AOLserver 3.x only, defunct in 4.0+)

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