nsmcp::AccessRecordStoreSQLite method sqliteMeasurement (protected)

 <instance of nsmcp::AccessRecordStoreSQLite[i]> sqliteMeasurement \
    after finished

Defined in /usr/local/ns/tcl/nsmcp/log-traffic-record-store.tcl

Counter deltas stay within one physical connection and transaction. WAL snapshots are retained separately: frame counts can rewind on reuse.

Parameters:
after (required)
finished (required)

Testcases:
No testcase defined.
Source code:
set before ${:sqliteBaseline}
set pre ${:sqlitePreCommit}
set result [dict create available false  synchronous ${:sqliteSynchronous} synchronousValue ${:sqliteSynchronousValue}  walAutoCheckpointPages ${:sqliteWalAutoCheckpointPages}  commitMicroseconds [expr {max(0,$finished-${:sqliteCommitTicks})}]  samplingMicroseconds [expr {[dict get $before samplingMicroseconds]  +[dict get $pre samplingMicroseconds]+[dict get $after samplingMicroseconds]}]  beforeTransaction $before beforeCommit $pre afterCommit $after]
foreach snapshot [list $before $pre $after] {
    if {![dict get $snapshot available]} {
        dict set result reason statistics-read-failed
        return $result
    }
}
foreach key {cacheHits cacheMisses cacheWrites cacheSpills tempBufferSpillBytes} {
    foreach snapshot [list $before $pre $after] {
        if {![dict exists $snapshot $key]} {
            dict set result reason counter-unavailable
            return $result
        }
    }
    set delta [expr {[dict get $after $key]-[dict get $before $key]}]
    set commitDelta [expr {[dict get $after $key]-[dict get $pre $key]}]
    if {$delta<0 || $commitDelta<0} {
        dict set result reason counter-reset
        return $result
    }
    dict set result delta $key $delta
    dict set result commitDelta $key $commitDelta
}
dict set result available true
return $result
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: