Index: openacs-4/packages/xotcl-request-monitor/tcl/throttle_mod-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-request-monitor/tcl/throttle_mod-procs.tcl,v diff -u -r1.67.2.59 -r1.67.2.60 --- openacs-4/packages/xotcl-request-monitor/tcl/throttle_mod-procs.tcl 3 Sep 2024 08:43:03 -0000 1.67.2.59 +++ openacs-4/packages/xotcl-request-monitor/tcl/throttle_mod-procs.tcl 14 Oct 2025 13:29:02 -0000 1.67.2.60 @@ -39,8 +39,12 @@ -default ${:default}] } + set defaultLogDir [file dirname [file rootname [ns_config ns/parameters ServerLog]]] + if {$defaultLogDir eq "."} { + set defaultLogDir [ns_config ns/parameters logdir] + } package_parameter log-dir \ - -default [file dirname [file rootname [ns_config ns/parameters ServerLog]]] + -default $defaultLogDir package_parameter do_double_click_prevention -default on package_parameter do_slowdown_overactive -default off @@ -97,6 +101,19 @@ :open } + Class create AsyncLogFile -parameter {filename {mode a}} + + AsyncLogFile instproc init {} { + try { + if {![info exists :filename]} { + set :filename $::logdir/[namespace tail [self]] + } + :open + } on error {errorMsg} { + ns_log Error opening async log lead to: '$errorMsg' + } + } + if {[acs::icanuse ns_asynclogfile]} { # # Use NaviServer builtin async disk writer. @@ -256,8 +273,9 @@ seconds ++ :update_threads_state - set fetchDest [expr {[dict exists $context Sec-Fetch-Dest] ? [dict get $context Sec-Fetch-Dest] : "document"}] - set range [expr {[dict exists $context Range] ? [dict get $context Range] : ""}] + set fetchDest [expr {[dict exists $context Sec-Fetch-Dest] ? [dict get $context Sec-Fetch-Dest] : "document"}] + set range [expr {[dict exists $context Range] ? [dict get $context Range] : ""}] + set ajax_p [expr {[dict get $context X-Requested-With] eq "XMLHttpRequest"}] # # Check whether all request monitor performance tracking is turned @@ -278,6 +296,7 @@ $fetchDest in $::never_blocked_fetchDest || $range ne "" || [dict get $context pool] eq "fast" + || $ajax_p || [string match "image/*" $content_type] || [string match "video/*" $content_type] || $content_type in { @@ -1808,6 +1827,7 @@ [list \ pool [ns_conn pool] \ Sec-Fetch-Dest [ns_set iget $hdrs Sec-Fetch-Dest] \ + X-Requested-With [ns_set iget $hdrs X-Requested-With] \ Range [ns_set iget $hdrs Range] \ ]] \ toMuch ms repeat