nsmcp::AccessRecordStoreSQLite method samples (public)
<instance of nsmcp::AccessRecordStoreSQLite> 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
![[i]](/resources/acs-subsite/ZoomIn16.gif)