ns::stats::Collector method describe (public)
<instance of ns::stats::Collector> describe [ -server server ]
Return a dictionary describing the NaviServer process, virtual servers, connection pools and network drivers. An optional server argument restricts virtual-server data; process-wide information retains its process scope. Availability fields identify optional information that could not be collected. Does not start sampling or modify the sampling baseline.
- Switches:
- -server (optional)
- Testcases:
- No testcase defined.
Source code: set result [dict create schemaVersion 1 scope process process [dict create pid [ns_info pid] bootTime [ns_info boottime] version [ns_info patchlevel] host [ns_info hostname] uptimeSeconds [ns_info uptime]] servers {} drivers {} availability {}] if {![catch {ns_info buildinfo} build]} { dict set result process build $build } dict set result process platform [dict create os $::tcl_platform(os) osVersion $::tcl_platform(osVersion) machine $::tcl_platform(machine)] foreach s [ns_info servers] { set pools {} foreach p [ns_server -server $s pools] { set name [expr {$p eq "" ? "default" : $p}] set threads [ns_server -server $s -pool $p threads] set limits {} foreach k {min max maxconnections} { if {[dict exists $threads $k]} { dict set limits $k [dict get $threads $k] } } dict set pools $name $limits } set entry [dict create pools $pools databasePools [ns_config ns/server/$s/db pools {}] bindings {} availability {}] if {![catch {ns_server -server $s modules} modules]} { dict set entry modules $modules dict set entry availability modules true } else { dict set entry availability modules false } if {![catch {ns_driver info} infos]} { foreach driver $infos { set module [dict get $driver module] set mappings {} set allMappings true if {[catch {ns_config -all ns/module/$module/servers $s {}} mappings]} { set mappings [ns_config ns/module/$module/servers $s {}] set allMappings false } if {$mappings ne "" || [dict get $driver server] eq $s} { dict set entry bindings $module [dict create address [dict get $driver address] port [dict get $driver port] protocol [dict get $driver protocol] hostMappings $mappings hostMappingsComplete $allMappings] } } } dict set result servers $s $entry } if {![catch {ns_driver info} info]} { set drivers {} foreach driver $info { set entry {} foreach k { module type server location address port defaultport protocol sendwait recvwait recvbufsize sendbufsize libraryversion } { if {[dict exists $driver $k]} { dict set entry $k [dict get $driver $k] } } lappend drivers $entry } dict set result drivers $drivers dict set result availability drivers true } else { dict set result availability drivers false } return [:selectServer $result $server]XQL Not present: Generic, PostgreSQL, Oracle
![[i]](/resources/acs-subsite/ZoomIn16.gif)