nsmcp::AccessSummaryTool method options (public)
<instance of nsmcp::AccessSummaryTool> options arguments
Defined in /usr/local/ns/tcl/nsmcp/lib/access-tools.tcl
- Parameters:
- arguments (required)
- Testcases:
- No testcase defined.
Source code: set options {windowSeconds 600} if {[lindex $arguments 1] ne "object"} {error "Expected arguments object"} foreach {key type value} [lindex $arguments 2] { if {$key eq "includePeerAddresses"} { if {$type ne "boolean"} {error "Expected boolean includePeerAddresses"} } elseif {$key in {path pool peer period windowHandle}} { if {$type ne "string"} {error "Expected string path or pool"} } elseif {$key ni {from to bucketSeconds status windowSeconds lastMinutes} || $type ne "number" || ![string is entier -strict $value]} { error "Expected integer times/status or string path/pool" } dict set options $key $value } set selectors 0 foreach key {lastMinutes period windowHandle} {if {[dict exists $options $key]} {incr selectors}} set explicit [expr {[dict exists $options from] || [dict exists $options to]}] if {$selectors>1 || ($selectors && $explicit)} {error "Use one of lastMinutes, period, windowHandle, or explicit from/to"} if {[dict exists $options windowHandle]} { set handle [dict get $options windowHandle] if {![regexp {^[0-9a-f]{64}$} $handle]} {error "Invalid windowHandle"} dict unset options windowHandle set checked [${:analytics} validateWindow $options] dict unset checked from; dict unset checked to dict set checked windowHandle $handle return $checked } set now [clock seconds] if {[dict exists $options period]} { if {[dict get $options period] ne "previous-hour"} {error "period must be previous-hour"} dict unset options period set end [expr {($now/3600)*3600}] dict set options from [expr {$end-3600}]; dict set options to $end } elseif {[dict exists $options lastMinutes] || !$explicit} { set minutes 60 if {[dict exists $options lastMinutes]} {set minutes [dict get $options lastMinutes]; dict unset options lastMinutes} if {$minutes<1 || $minutes>1440} {error "lastMinutes must be between 1 and 1440"} set end [expr {($now/60)*60}] dict set options from [expr {$end-$minutes*60}]; dict set options to $end } return [${:analytics} validateWindow $options]XQL Not present: Generic, PostgreSQL, Oracle
![[i]](/resources/acs-subsite/ZoomIn16.gif)