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 -r1.15 -r1.16
--- openacs-4/packages/acs-developer-support/www/request-info.tcl 21 Dec 2008 18:09:53 -0000 1.15
+++ openacs-4/packages/acs-developer-support/www/request-info.tcl 9 Jan 2010 01:56:09 -0000 1.16
@@ -16,13 +16,8 @@
set page_title "Request Information"
set context [list $page_title]
-if { [ns_cache get ds_page_bits $request dummy] } {
- set page_fragment_cache_p 1
-} else {
- set page_fragment_cache_p 0
-}
+set page_fragment_cache_p [ds_page_fragment_cache_enabled_p]
-
foreach name [nsv_array names ds_request] {
ns_log Debug "DS: Checking request $request, $name."
if { [regexp {^([0-9]+)\.([a-z]+)$} $name "" m_request key] && $m_request == $request } {
@@ -299,4 +294,56 @@
}
}
-
+
+# Profiling information
+global ds_profile__total_ms ds_profile__iterations
+
+template::list::create -name profiling -multirow profiling -elements {
+ file_links {
+ label "Ops"
+ display_template {
+ @profiling.file_links;noquote@
+ }
+ }
+ tag {
+ label "Template"
+ }
+ total_ms {
+ label "Total time"
+ }
+ size {
+ label "Size"
+ }
+}
+
+multirow create profiling tag total_ms file_links size
+
+if { [info exists property(prof)] } {
+ foreach {tag time} $property(prof) {
+ if {[file exists $tag]} {
+ set file_links "e"
+ append file_links " c"
+ } else {
+ set file_links {}
+ }
+
+ if { $page_fragment_cache_p } {
+ if { [string match *.adp $tag]} {
+ append file_links " o"
+ if {[ns_cache get ds_page_bits "$request:$tag" dummy]} {
+ set size [string length $dummy]
+ } else {
+ set size {?}
+ }
+ } else {
+ append file_links " x"
+ set size -
+ }
+ } else {
+ set size {}
+ }
+
+ set total_ms [lc_numeric $time]
+ multirow append profiling $tag $total_ms $file_links $size
+ }
+}