nsmcp::accessScanProgress

 nsmcp::accessScanProgress

Defined in

Partial Call Graph (max 5 caller/called nodes):
Class ::nsmcp::LogService Class ::nsmcp::LogService (public) nsmcp::accessScanProgress nsmcp::accessScanProgress Class ::nsmcp::LogService->nsmcp::accessScanProgress instproc instproc instproc->nsmcp::accessScanProgress nsmcp::LogService nsmcp::LogService nsmcp::LogService->nsmcp::accessScanProgress start start start->nsmcp::accessScanProgress

Testcases:
No testcase defined.
Source code:
    set done 0; set skipped 0; set scanned 0; set pending 0
    foreach entry [dict get $state files] {
        if {[dict get $entry status] eq "complete"} {incr done}
        if {[dict get $entry status] eq "outside-window"} {incr skipped}
        if {[dict exists $entry scanStarted]} {incr scanned}
        if {[dict get $entry status] ni {complete outside-window}} {incr pending}
    }
    set fields [list phase string $phase updatedAt number [clock seconds]  examinedBytes number [dict get $state examinedBytes] filesCompleted number $done  filesProcessed number [dict get $state index] filesSelected number [llength [dict get $state files]]  filesDiscovered number [llength [dict get $state files]] filesSkipped number $skipped filesScanned number $scanned filesPending number $pending]
    if {[dict exists $state selectionProbeBytes]} {lappend fields selectionProbeBytes number [dict get $state selectionProbeBytes]}
    if {[dict exists $state limits bytes]} {lappend fields scanBudgetBytes number [dict get $state limits bytes]}
    foreach key {scanStatus completionSummary} {
        if {[dict exists $completion $key]} {lappend fields $key string [dict get $completion $key]}
    }
    if {[dict exists $completion truncatedByLimits]} {lappend fields truncatedByLimits boolean [dict get $completion truncatedByLimits]}
    if {$file eq ""} {
        foreach key {currentFileIndex currentFileNumber currentFileSize currentFileOffset currentFileSnapshotBytes} {lappend fields $key null {}}
        lappend fields offsetBasis string {} currentFileCompressed boolean false
    } else {
        if {$offset eq ""} {set offset [dict get $file offset]}
        if {[dict exists $file orderedSelection]} {
            set size [expr {[dict exists $file decodedSize] ? [dict get $file decodedSize] : [dict get $file size]}]
            lappend fields selectedFromOffset number [dict get $file scanStart] selectedToOffset number [dict get $file scanEnd]
        }
        if {$size eq "" && $phase ne "decompressing"} {
            if {![dict get $file compressed]} {set size [dict get $file size]}
            if {[dict exists $file decodedSize]} {set size [dict get $file decodedSize]}
        }
        lappend fields currentFileIndex number [dict get $file fileIndex]  currentFileNumber number [expr {[dict get $file fileIndex]+1}]  currentFileSize [expr {$size eq "" ? "null" : "number"}] $size  currentFileOffset number $offset currentFileSnapshotBytes number [dict get $file size]  currentFileCompressed boolean [dict get $file compressed]  offsetBasis string [expr {[dict get $file compressed] ? "decompressed" : "file"}]
    }
    if {$file ne ""} {
        foreach key {timeIndexSkippedBytes timeIndexValidationBytes} {
            if {[dict exists $file $key]} {lappend fields $key number [dict get $file $key]}
        }
    }
    if {$publish ne ""} {uplevel #0 [list {*}$publish $fields]}
    return $fields
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: