nsmcp::AccessRecordParser method timingFields (protected)

 <instance of nsmcp::AccessRecordParser[i]> timingFields timestamp \
    fields

Defined in /usr/local/ns/tcl/nsmcp/access-record.tcl

Parameters:
timestamp (required)
fields (required)

Testcases:
No testcase defined.
Source code:
set result {}
set index ${:timingColumn}
if {$index == -1} {set index [expr {[llength $fields]>=2 ? 2 : 0}]}
foreach index [expr {$index<0 ? {} : [list $index]}] {
    set field [string trim [lindex $fields $index] {"}]
    if {![regexp {^([0-9]+\.[0-9]+) ([0-9]+(?:\.[0-9]+)?) ([0-9]+(?:\.[0-9]+)?) ([0-9]+(?:\.[0-9]+)?) ([0-9]+(?:\.[0-9]+)?)$} $field -> start accept queue filter run]} continue
    if {$start < 946684800} continue
    if {$start > [clock seconds]+86400} {
        # The normal parser falls back today, but this start value can
        # become valid later. Such a fallback is not reusable evidence
        # for excluding a time range on another day.
        dict set result timeDependent true
        continue
    }
    dict set result startTime $start
    dict set result timingSource start
    foreach {key value} [list acceptTime $accept queueTime $queue filterTime $filter runTime $run] {
        dict set result $key [expr {double($value)}]
    }
    break
}
if {![dict exists $result startTime]} {
    if {[string is entier -strict $timestamp]} {
        set time $timestamp
    } elseif {[catch {clock scan $timestamp -format {%d/%b/%Y:%H:%M:%S %z} -locale C} time]} {return {}}
    dict set result startTime $time
    dict set result timingSource completion
}
return $result
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: