nsmcp::UnifiedAccessAnalytics method refresh (public)

 <instance of nsmcp::UnifiedAccessAnalytics[i]> refresh

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

Run a bounded unified ingestion pass under the writer gate. Reject overlapping writers, publish phase and commit statistics, and always finish the run token before releasing the gate.

Returns:
The ingestion result, or a busy dictionary when another writer owns the gate.

Testcases:
No testcase defined.
Source code:
set gate nsmcp:unified-writer:[ns_info server]
if {[nsv_incr $gate busy]!=1} {
    nsv_incr $gate busy -1
    return {busy true}
}
set run {}
set outcome error
set result {}
try {
    set run [accessIngestionBegin]
    set result [:accessRecordRetry ${:settings} [list :refreshLocked $run] {} [list ::nsmcp::accessIngestionProgress $run retry]]
    set outcome [expr {[dict exists $result busy] ? "pool-busy" : "ok"}]
    if {![dict exists $result busy]} {
        nsv_unset -nocomplain nsmcp:access-store:[ns_info server] lastFailure
    }
    return $result
} on error {message options} {
    set result [accessUnifiedFailure ${:settings} $options]
    return $result
} finally {
    try {
        accessIngestionFinish $run $outcome $result
    } finally {
        nsv_incr $gate busy -1
    }
}
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: