nsmcp::AccessRecordStoreSQLite method samples (public)

 <instance of nsmcp::AccessRecordStoreSQLite[i]> samples selected \
    files redactor

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

Build deterministic samples from selected and successful requests. Restrict output to known source descriptors and apply the supplied redactor. Preserve truncation metadata when a stored user-agent label was clipped.

Parameters:
selected (required)
Trusted SQL predicate produced by the query-filter builder.
files (required)
Source descriptors used to attach sample locations.
redactor (required)
Redaction object used for sample output.
Returns:
A list of selected-request sample entries and successful-request sample entries.

Testcases:
No testcase defined.
Source code:
set samples {}
set successes {}
foreach {field extra} {samples {} successSamples { AND status<400}} {
    set entries {}
    foreach row [${:db} execute "
        SELECT fid, off, t, status, path, method, pool, source, driver, auth, phase, label, clipped, hex(agent)
        AS agent, identifier, lower(hex(score)) AS score FROM temp.nsmcp_record_window WHERE $selected $extra
        ORDER BY score, fid, off LIMIT 5
    "] {
        set file {}
        foreach entry $files {
            if {[dict exists $entry archiveFid] && [dict get $entry archiveFid] eq [dict get $row fid]} {
                set file $entry
                break
            }
        }
        if {$file eq {}} {
            continue
        }
        set item [dict create  path [dict get $row path]  method [dict get $row method]  status [dict get $row status]  pool [dict get $row pool]  authenticationState [dict get $row auth]  startTime [dict get $row t]  recordSource [dict get $row source]  driver [dict get $row driver]  requestIdentifier [dict get $row identifier]  requestIdentifierUnique [expr {[dict get $row source] eq "connection"}]  phaseTimingAvailable [dict get $row phase]  phaseTimingReason [expr {
                                               [dict get $row phase] ? "logged-worker-phases" : ([dict get $row source] eq "driver" ?
                                                                                                 "driver-synthetic-phases" : "no-phase-counters")
                                           }]]
        if {[dict get $row agent] ne {}} {
            dict set item userAgent [dict get $row label]
        }
        set sample [accessScanSample $item $file [dict get $row off] $redactor]
        if {[dict get $row clipped]} {
            set index [lsearch -exact $sample userAgentTruncated]
            if {$index>=0} {
                lset sample [expr {$index+2}] true
            }
        }
        lappend entries [list [dict get $row score] $sample]
    }
    if {$field eq "samples"} {
        set samples $entries
    } else {
        set successes $entries
    }
}
return [list $samples $successes]
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: