Author: igorz
Date: 2007-11-07 08:55:05 -0500 (Wed, 07 Nov 2007)
New Revision: 89102

Modified:
   trunk/mcs/class/System.Web/System.Web.UI/ChangeLog
   trunk/mcs/class/System.Web/System.Web.UI/PageParser.cs
   trunk/mcs/class/System.Web/System.Web/ChangeLog
   trunk/mcs/class/System.Web/System.Web/TraceContext.cs
   trunk/mcs/class/System.Web/System.Web/TraceData.cs
Log:
2007-11-07 Igor Zelmanovich <[EMAIL PROTECTED]>

        * TraceContext.cs:
        * TraceData.cs: implemented TraceMode feature.  

2007-11-07 Igor Zelmanovich <[EMAIL PROTECTED]>

        * PageParser.cs: fixed initial value of tracemode.



Modified: trunk/mcs/class/System.Web/System.Web/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web/ChangeLog     2007-11-07 13:43:35 UTC 
(rev 89101)
+++ trunk/mcs/class/System.Web/System.Web/ChangeLog     2007-11-07 13:55:05 UTC 
(rev 89102)
@@ -1,5 +1,10 @@
 2007-11-07 Igor Zelmanovich <[EMAIL PROTECTED]>
 
+       * TraceContext.cs:
+       * TraceData.cs: implemented TraceMode feature.  
+
+2007-11-07 Igor Zelmanovich <[EMAIL PROTECTED]>
+
        * BaseParamsCollection.cs:
        ensure collection will not be changed during enumeration.
 

Modified: trunk/mcs/class/System.Web/System.Web/TraceContext.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web/TraceContext.cs       2007-11-07 
13:43:35 UTC (rev 89101)
+++ trunk/mcs/class/System.Web/System.Web/TraceContext.cs       2007-11-07 
13:55:05 UTC (rev 89102)
@@ -40,7 +40,7 @@
                HttpContext _Context;
                TraceManager _traceManager;
                bool _Enabled;
-               TraceMode _Mode;
+               TraceMode _Mode = TraceMode.Default;
                TraceData data;
                bool data_saved;
                bool _haveTrace;
@@ -50,7 +50,6 @@
                public TraceContext (HttpContext Context)
                {
                        _Context = Context;
-                       _Mode = TraceMode.SortByTime;
                }
 
                internal bool HaveTrace {
@@ -87,7 +86,7 @@
 
                public TraceMode TraceMode {
                        get {
-                               return _Mode;
+                               return (_Mode == TraceMode.Default) ? 
TraceManager.TraceMode : _Mode;
                        }
                        set {
                                _Mode = value;
@@ -139,6 +138,9 @@
                {
                        if (data == null)
                                data = new TraceData ();
+
+                       data.TraceMode = _Context.Trace.TraceMode;
+
                        SetRequestDetails ();
                        if (_Context.Handler is Page)
                                data.AddControlTree ((Page) _Context.Handler, 
view_states, sizes);

Modified: trunk/mcs/class/System.Web/System.Web/TraceData.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web/TraceData.cs  2007-11-07 13:43:35 UTC 
(rev 89101)
+++ trunk/mcs/class/System.Web/System.Web/TraceData.cs  2007-11-07 13:55:05 UTC 
(rev 89102)
@@ -48,14 +48,16 @@
                public string Message;
                public string Exception;
                public double TimeSinceFirst;
+               public double TimeSinceLast;
                public bool IsWarning;
 
-               public InfoTraceData (string category, string message, string 
exception, double timeSinceFirst, bool isWarning)
+               public InfoTraceData (string category, string message, string 
exception, double timeSinceFirst, double timeSinceLast, bool isWarning)
                {
                        this.Category = category;
                        this.Message = message;
                        this.Exception = exception;
                        this.TimeSinceFirst = timeSinceFirst;
+                       this.TimeSinceLast = timeSinceLast;
                        this.IsWarning = isWarning;
                }
        }
@@ -119,6 +121,7 @@
                private string request_type;
                private int status_code;
                private Page page;
+               TraceMode _traceMode = HttpRuntime.TraceManager.TraceMode;
 
                public TraceData ()
                {
@@ -145,6 +148,11 @@
                        is_first_time = true;
                }
 
+               public TraceMode TraceMode {
+                       get { return _traceMode; }
+                       set { _traceMode = value; }
+               }
+
                public string RequestPath {
                        get { return request_path; }
                        set { request_path = value; }
@@ -183,18 +191,26 @@
                public void Write (string category, string msg, Exception 
error, bool Warning)
                {
                        double time;
+                       double time_from_last;
                        if (is_first_time) {
                                time = 0;
+                               time_from_last = 0; 
+                               prev_time = 0;
                                is_first_time = false;
                                first_time = DateTime.Now;
-                       } else
+                       }
+                       else {
                                time = (DateTime.Now - first_time).TotalSeconds;
+                               time_from_last = time - prev_time;
+                               prev_time = time;
+                       }
 
                        info.Enqueue (
                                new InfoTraceData (category,
                                                   HtmlEncode (msg),
                                                   (error != null ? 
error.ToString () : null),
                                                   time,
+                                                  time_from_last,
                                                   Warning));
                }
 
@@ -313,7 +329,15 @@
                        
                        int pos = 0;
 #if NET_2_0
-                       foreach (InfoTraceData i in info)
+                       IEnumerable<InfoTraceData> enumerable = info;
+
+                       if (TraceMode == TraceMode.SortByCategory) {
+                               List<InfoTraceData> list = new 
List<InfoTraceData> (info);
+                               list.Sort (delegate (InfoTraceData x, 
InfoTraceData y) { return String.Compare (x.Category, y.Category); });
+                               enumerable = list;
+                       }
+
+                       foreach (InfoTraceData i in enumerable)
                                RenderTraceInfoRow (table, i, pos++);
 #else
                        foreach (object o in info)
@@ -458,16 +482,13 @@
                                open = "<font color=\"Red\">";
                                close = "</font>";
                        }
-                       
-                       double t = (double) i.TimeSinceFirst;
+
                        string t1, t2;
-                       if (t == 0) {
+                       if (i.TimeSinceFirst == 0) {
                                t1 = t2 = String.Empty;
-                               prev_time = 0;
                        } else {
-                               t1 = t.ToString ("0.000000");
-                               t2 = (t - prev_time).ToString ("0.000000");
-                               prev_time = t;
+                               t1 = i.TimeSinceFirst.ToString ("0.000000");
+                               t2 = i.TimeSinceLast.ToString ("0.000000");
                        }
                        
                        RenderAltRow (table, pos, open + (string) i.Category + 
close,

Modified: trunk/mcs/class/System.Web/System.Web.UI/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI/ChangeLog  2007-11-07 13:43:35 UTC 
(rev 89101)
+++ trunk/mcs/class/System.Web/System.Web.UI/ChangeLog  2007-11-07 13:55:05 UTC 
(rev 89102)
@@ -1,5 +1,9 @@
 2007-11-07 Igor Zelmanovich <[EMAIL PROTECTED]>
 
+       * PageParser.cs: fixed initial value of tracemode.
+
+2007-11-07 Igor Zelmanovich <[EMAIL PROTECTED]>
+
        * Control.cs: removes '#define MONO_TRACE'.
        It allows to run MONO in release mode without supplementary trace info. 
 

Modified: trunk/mcs/class/System.Web/System.Web.UI/PageParser.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI/PageParser.cs      2007-11-07 
13:43:35 UTC (rev 89101)
+++ trunk/mcs/class/System.Web/System.Web.UI/PageParser.cs      2007-11-07 
13:55:05 UTC (rev 89102)
@@ -49,7 +49,7 @@
                bool haveTrace;
                bool trace;
                bool notBuffer;
-               TraceMode tracemode;
+               TraceMode tracemode = TraceMode.Default;
                string responseEncoding;
                string contentType;
                int codepage = -1;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to