- This report is based on all the debugging logs currently in memory ( #this.perf.getRawLogCount()# logs, #this.perf.getDebugMemUsage()# ) click column headers to sort
+ This report is based on all the debugging logs currently in memory ( #this.perf.getRawLogCount()# logs, #this.perf.getDebugMemUsage()# )
+ click column headers to sort
+
+
select template, lines, min(_min) as minTime, max(_max) as maxTime, avg(_avg) as avgTime,
sum(total) as totalTime, sum(_count) as totalCount,
- sum(total) as total, count(*) as executions, snippet
+ sum(total) as total, count(*) as executions, snippet, start, _end
from q_parts
- group by template, lines, snippet
+ group by template, lines, snippet, start, _end
order by totalTime desc
```
@@ -490,7 +490,7 @@ component {
}
public struct function getDebugLogs( required array logs ){
- var q = QueryNew( "template,requestUrl,path,total,query,load,app,scope,exceptions,starttime,id,size,isThread" );
+ var q = QueryNew( "template,requestUrl,path,total,query,load,app,scope,exceptions,starttime,id,size,isThread,statusCode,ContentType,ContentLength" );
local.totals = {
app = 0,
query: 0,
@@ -539,20 +539,27 @@ component {
local.r = QueryAddRow( q );
- QuerySetCell( local.q, "size", log.size, local.r);
- QuerySetCell( local.q, "id", log.id, local.r);
- QuerySetCell( local.q, "starttime", log.starttime, local.r);
- QuerySetCell( local.q, "template", local.cgi.script_name, local.r);
- QuerySetCell( local.q, "path", path, local.r);
- QuerySetCell( local.q, "total", _total, local.r);
- QuerySetCell( local.q, "query", _query, local.r);
- QuerySetCell( local.q, "load", _load, local.r);
- QuerySetCell( local.q, "app", _app, local.r);
- QuerySetCell( local.q, "scope", _scope, local.r);
- QuerySetCell( local.q, "exceptions", _exp, local.r);
+ QuerySetCell( local.q, "size", log.size, local.r );
+ QuerySetCell( local.q, "id", log.id, local.r );
+ QuerySetCell( local.q, "starttime", log.starttime, local.r );
+ QuerySetCell( local.q, "template", local.cgi.script_name, local.r );
+ QuerySetCell( local.q, "path", path, local.r );
+ QuerySetCell( local.q, "total", _total, local.r );
+ QuerySetCell( local.q, "query", _query, local.r );
+ QuerySetCell( local.q, "load", _load, local.r );
+ QuerySetCell( local.q, "app", _app, local.r );
+ QuerySetCell( local.q, "scope", _scope, local.r );
+ QuerySetCell( local.q, "exceptions", _exp, local.r );
QuerySetCell( local.q, "requestUrl", local.log.scope.cgi.REQUEST_URL, local.r );
QuerySetCell( local.q, "isThread", ( Len( local.log.scope.cgi.HTTP_USER_AGENT ) eq 0 ), local.r );
+ if ( StructKeyExists( log, "statusCode" ) )
+ QuerySetCell( local.q, "statusCode", log.statusCode, local.r );
+ if ( StructKeyExists( log, "ContentType" ) )
+ QuerySetCell( local.q, "ContentType", log.ContentType, local.r );
+ if ( StructKeyExists( log, "ContentLength" ) )
+ QuerySetCell( local.q, "ContentLength", log.ContentLength, local.r );
+
local.totals.size += + local.log.size / 1000;
local.totals.app += _app;
local.totals.query += _query;
diff --git a/source/cfml/plugins/requests.cfm b/source/cfml/plugins/requests.cfm
index 0431d51..69cfb30 100644
--- a/source/cfml/plugins/requests.cfm
+++ b/source/cfml/plugins/requests.cfm
@@ -28,6 +28,7 @@
#renderRequestLink( arguments.req, local.q.path, local.q.id )# (thread)
+ #listFirst(local.q.statusCode," ")#
By Url ,
@@ -45,7 +46,7 @@
#prettyTime( local.q.load )#
#prettyNum( local.q.scope )#
#prettyNum( local.q.exceptions )#
- #prettyNum( local.q.size / 1000 )#
+ #prettyNum( local.q.size / 1000 )#
@@ -54,7 +55,7 @@