nsmcp::CodexQuestionRun method recordUsage (protected)
<instance of nsmcp::CodexQuestionRun> recordUsage thread \ counters
Defined in /usr/local/ns/tcl/nsmcp/question-backend.tcl
- Parameters:
- thread (required)
- counters (required)
- Testcases:
- No testcase defined.
Source code: if {!${:usageActive}} { set :usageBeforeTurn [dict create thread $thread counters $counters] return } set :usageTotals $counters set questionUsage [dict create source codex scope turn available false] if {!${:usageBaselineKnown}} { dict set questionUsage reason missing-baseline } else { set delta {} dict for {key value} $counters { if {[dict exists ${:usageBaseline} $key]} { set previous [dict get ${:usageBaseline} $key] if {$value < $previous} {set :usageIssue counter-reset} dict set delta $key [expr {$value-$previous}] } } if {${:usageIssue} ne ""} { dict set questionUsage reason ${:usageIssue} } elseif {$delta eq ""} { dict set questionUsage reason missing-comparable-counters } else { set questionUsage [dict merge $questionUsage $delta {available true}] } } # Persist observations even when a later timeout interrupts the turn. # Such a baseline is not reusable without a fresh pre-turn snapshot. :emit [dict create type state state [:continuationState]] :emit [dict create type usage usage [dict merge $counters {scope conversation-cumulative source codex}]] :emit [dict create type questionUsage usage $questionUsage]XQL Not present: Generic, PostgreSQL, Oracle
![[i]](/resources/acs-subsite/ZoomIn16.gif)