nsmcp::ServerRuntime method schedulerDiagnostics (protected)
<instance of nsmcp::ServerRuntime> schedulerDiagnostics
Defined in /usr/local/ns/tcl/nsmcp/stats-tools.tcl
Always collected now, even when runtime data comes from a shared sample.
- Testcases:
- No testcase defined.
Source code: set result [dict create scope process observedAt [clock seconds]] if {[catch {${:schedulerCommand} scheduler} counters]} { dict set result available false dict set result reason {ns_info scheduler is unavailable or failed; scheduler timings are unknown.} } else { dict set result available true dict set result counters $counters # One bounded NSV slot survives interpreter changes and module reload. # Atomic exchange avoids separate get/set races; out-of-order reads # are rejected by the comparison's interval check. if {[catch {set identity [list [ns_info pid] [ns_info boottime]]}]} { dict set result comparison {available false reason process-identity-unavailable} } else { set current [dict create identity $identity observedAt [expr {[clock microseconds]/1000000.0}] counters $counters] set previous [nsv_set -reset ${:schedulerStore} latest $current] dict set result observedAt [dict get $current observedAt] dict set result comparison [::nsmcp::schedulerComparison $previous $current] } } return $resultXQL Not present: Generic, PostgreSQL, Oracle
![[i]](/resources/acs-subsite/ZoomIn16.gif)