Index: openacs-4/packages/acs-developer-support/tcl/acs-developer-support-init.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-developer-support/tcl/acs-developer-support-init.tcl,v diff -u -N -r1.1.1.1 -r1.1.1.1.4.1 --- openacs-4/packages/acs-developer-support/tcl/acs-developer-support-init.tcl 20 Apr 2001 20:51:09 -0000 1.1.1.1 +++ openacs-4/packages/acs-developer-support/tcl/acs-developer-support-init.tcl 17 Feb 2003 15:53:33 -0000 1.1.1.1.4.1 @@ -5,13 +5,26 @@ # Description: Provides routines used to aggregate request/response information for debugging. ad_register_filter -critical t -priority 999999 trace * /* ds_trace_filter -ad_schedule_proc [ad_parameter -package_id [ds_instance_id] DataSweepInterval "developer-support" 900] ds_sweep_data +ad_schedule_proc [ad_parameter -package_id [ds_instance_id] DataSweepInterval acs-developer-support 900] ds_sweep_data nsv_array set ds_request [list] nsv_set ds_properties enabled_p [ad_parameter -package_id [ds_instance_id] EnabledOnStartupP acs-developer-support 0] -nsv_set ds_properties enabled_ips * -nsv_set ds_properties database_enabled_p [ad_parameter -package_id [ds_instance_id] \ - DatabaseEnabledP developer-support 0] + +# Take the IP list (space or comma seperated) and turn it into a tcl list. +set IPs [list] +foreach ip [split [ad_parameter -package_id [ds_instance_id] EnabledIPs acs-developer-support *] { ,}] { + if {[string equal $ip "*"]} { + # a star means anything will match so just use the * instead + set IPs "*" + break + } elseif {![empty_string_p $ip]} { + lappend IPs $ip + } +} +nsv_set ds_properties enabled_ips $IPs + + +nsv_set ds_properties database_enabled_p [ad_parameter -package_id [ds_instance_id] DatabaseEnabledP developer-support 0] ds_set_user_switching_enabled [ad_parameter -package_id [ds_instance_id] UserSwitchingEnabledP acs-developer-support 0] Index: openacs-4/packages/acs-developer-support/tcl/acs-developer-support-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-developer-support/tcl/acs-developer-support-procs.tcl,v diff -u -N -r1.8.2.1 -r1.8.2.2 --- openacs-4/packages/acs-developer-support/tcl/acs-developer-support-procs.tcl 16 Dec 2002 11:34:57 -0000 1.8.2.1 +++ openacs-4/packages/acs-developer-support/tcl/acs-developer-support-procs.tcl 17 Feb 2003 15:53:33 -0000 1.8.2.2 @@ -143,7 +143,7 @@ } } - if { [ad_parameter -package_id [ds_instance_id] ShowCommentsInlineP "developer-support" 0] } { + if { [ad_parameter -package_id [ds_instance_id] ShowCommentsInlineP acs-developer-support 0] } { if { [nsv_exists ds_request "$ad_conn(request).comment"] } { append out "
" foreach comment [nsv_get ds_request "$ad_conn(request).comment"] { @@ -170,7 +170,7 @@ ds_replace_get_user_procs [ds_user_switching_enabled_p] ds_add start [ns_time] - ds_add conn startclicks [clock clicks] + ds_add conn startclicks [ad_conn start_clicks] for { set i 0 } { $i < [ns_set size [ad_conn headers]] } { incr i } { ds_add headers [ns_set key [ad_conn headers] $i] [ns_set value [ad_conn headers] $i] } @@ -187,48 +187,53 @@ } proc_doc ds_add { name args } { Sets a developer-support property for the current request. Should never be used except by elements of the request processor (e.g., security filters or abstract URLs). } { - if { [catch { nsv_exists ds_request . }] } { - ns_log "Warning" "ds_request NSVs not initialized" - return - } + + if { [ds_enabled_p] && [ds_collection_enabled_p] } { + if { [catch { nsv_exists ds_request . }] } { + ns_log "Warning" "ds_request NSVs not initialized" + return + } - global ad_conn - if { ![info exists ad_conn(request)] } { - set ad_conn(request) [nsv_incr rp_properties request_count] + global ad_conn + if { ![info exists ad_conn(request)] } { + set ad_conn(request) [nsv_incr rp_properties request_count] + } + eval [concat [list nsv_lappend ds_request "$ad_conn(request).$name"] $args] } - eval [concat [list nsv_lappend ds_request "$ad_conn(request).$name"] $args] } proc_doc ds_comment { value } { Adds a comment to the developer-support information for the current request. } { - - if { [ds_enabled_p] } { - ds_add comment $value - } + ds_add comment $value } proc ds_sweep_data {} { set now [ns_time] - set lifetime [ad_parameter -package_id [ds_instance_id] DataLifetime "developer-support" 900] + set lifetime [ad_parameter -package_id [ds_instance_id] DataLifetime acs-developer-support 900] - # kill_requests is an array of request numbers to kill - array set kill_requests [list] + # Find the last request before the DataLifetime cutoff set names [nsv_array names ds_request] + set max_request 0 foreach name $names { - if { [regexp {^([0-9]+)\.start$} $name "" request] && \ - $now - [lindex [nsv_get ds_request $name] 0] > $lifetime } { - set kill_requests($request) 1 - } + if { [regexp {^([0-9]+)\.start$} $name match request] + && $now - [lindex [nsv_get ds_request $name] 0] > $lifetime } { + if {[expr {$request > $max_request}]} { + set max_request $request + } + } } + + # kill any request older than last request. + set kill_count 0 foreach name $names { - if { [regexp {^([0-9]+)\.} $name "" request] && \ - [info exists kill_requests($request)] } { + if { [regexp {^([0-9]+)\.} $name "" request] + && [expr {$request <= $max_request}] } { incr kill_count nsv_unset ds_request $name } } - + ns_log "Notice" "Swept developer support information for [array size kill_requests] requests ($kill_count nsv elements)" } Index: openacs-4/packages/acs-developer-support/www/request-info.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-developer-support/www/request-info.tcl,v diff -u -N -r1.3 -r1.3.2.1 --- openacs-4/packages/acs-developer-support/www/request-info.tcl 7 Jul 2002 12:11:38 -0000 1.3 +++ openacs-4/packages/acs-developer-support/www/request-info.tcl 17 Feb 2003 15:54:12 -0000 1.3.2.1 @@ -32,7 +32,7 @@
-
Request Start Time: [ns_fmttime [lindex $property(start) 0]]\n" +
Request Start Time: [clock format [lindex $property(start) 0] -format "%Y-%m-%d %H:%M:%S"]\n" } else { doc_body_append "The information for this request is gone - either the server has been restarted, or the request is more than [ad_parameter DeveloperSupportLifetime "" 900] seconds old. @@ -66,7 +66,7 @@ set value "[format "%.f" [expr { ($conn(endclicks) - $conn(startclicks)) / 1000 }]] ms" } end { - set value [ns_fmttime $conn($key)] + set value [clock format $conn($key) -format "%Y-%m-%d %H:%M:%S" ] } user_id { if { [db_0or1row user_info "