##// END OF EJS Templates
Added the time delta column to the interactive trace listener
cin -
r214:9c32ef39b851 v2
parent child
Show More
@@ -56,7 +56,7 namespace Implab.Diagnostics.Interactive
56 if (m_queue.TryDequeue(out item)) {
56 if (m_queue.TryDequeue(out item)) {
57 Interlocked.Decrement(ref m_queueLength);
57 Interlocked.Decrement(ref m_queueLength);
58
58
59 m_syncGuiThread.Send(x => m_form.AddTraceEvent(item),null);
59 m_syncGuiThread.Post(x => m_form.AddTraceEvent(item),null);
60 } else {
60 } else {
61 m_queueEvent.WaitOne();
61 m_queueEvent.WaitOne();
62 }
62 }
@@ -113,7 +113,8 namespace Implab.Diagnostics.Interactive
113 Message = entry.ToString(),
113 Message = entry.ToString(),
114 Thread = args.ThreadId,
114 Thread = args.ThreadId,
115 Channel = args.Channel.ToString(),
115 Channel = args.Channel.ToString(),
116 Timestamp = Environment.TickCount
116 Timestamp = Environment.TickCount,
117 TimeDelta = args.OperationTimeOffset
117 };
118 };
118
119
119 Enqueue(item);
120 Enqueue(item);
@@ -23,13 +23,14
23 /// the contents of this method with the code editor.
23 /// the contents of this method with the code editor.
24 /// </summary>
24 /// </summary>
25 private void InitializeComponent() {
25 private void InitializeComponent() {
26 this.components = new System.ComponentModel.Container();
27 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
26 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
28 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
27 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
29 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
28 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
29 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
30 this.eventsDataGrid = new System.Windows.Forms.DataGridView();
30 this.eventsDataGrid = new System.Windows.Forms.DataGridView();
31 this.traceViewItemBindingSource = new System.Windows.Forms.BindingSource(this.components);
31 this.traceViewItemBindingSource = new System.Windows.Forms.BindingSource();
32 this.threadDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
32 this.threadDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
33 this.TimeDelta = new System.Windows.Forms.DataGridViewTextBoxColumn();
33 this.Channel = new System.Windows.Forms.DataGridViewTextBoxColumn();
34 this.Channel = new System.Windows.Forms.DataGridViewTextBoxColumn();
34 this.messageDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
35 this.messageDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
35 ((System.ComponentModel.ISupportInitialize)(this.eventsDataGrid)).BeginInit();
36 ((System.ComponentModel.ISupportInitialize)(this.eventsDataGrid)).BeginInit();
@@ -56,20 +57,22
56 this.eventsDataGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
57 this.eventsDataGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
57 this.eventsDataGrid.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
58 this.eventsDataGrid.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
58 this.threadDataGridViewTextBoxColumn,
59 this.threadDataGridViewTextBoxColumn,
60 this.TimeDelta,
59 this.Channel,
61 this.Channel,
60 this.messageDataGridViewTextBoxColumn});
62 this.messageDataGridViewTextBoxColumn});
61 this.eventsDataGrid.DataSource = this.traceViewItemBindingSource;
63 this.eventsDataGrid.DataSource = this.traceViewItemBindingSource;
62 dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
64 dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
63 dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
65 dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window;
64 dataGridViewCellStyle3.Font = new System.Drawing.Font("Lucida Console", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
66 dataGridViewCellStyle4.Font = new System.Drawing.Font("Lucida Console", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
65 dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
67 dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText;
66 dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
68 dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
67 dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
69 dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
68 dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
70 dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
69 this.eventsDataGrid.DefaultCellStyle = dataGridViewCellStyle3;
71 this.eventsDataGrid.DefaultCellStyle = dataGridViewCellStyle4;
70 this.eventsDataGrid.Location = new System.Drawing.Point(12, 12);
72 this.eventsDataGrid.Location = new System.Drawing.Point(12, 12);
71 this.eventsDataGrid.Name = "eventsDataGrid";
73 this.eventsDataGrid.Name = "eventsDataGrid";
72 this.eventsDataGrid.ReadOnly = true;
74 this.eventsDataGrid.ReadOnly = true;
75 this.eventsDataGrid.RowHeadersVisible = false;
73 this.eventsDataGrid.RowHeadersWidth = 17;
76 this.eventsDataGrid.RowHeadersWidth = 17;
74 this.eventsDataGrid.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False;
77 this.eventsDataGrid.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False;
75 this.eventsDataGrid.Size = new System.Drawing.Size(939, 480);
78 this.eventsDataGrid.Size = new System.Drawing.Size(939, 480);
@@ -82,31 +85,43
82 //
85 //
83 // threadDataGridViewTextBoxColumn
86 // threadDataGridViewTextBoxColumn
84 //
87 //
85 this.threadDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
88 this.threadDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
86 this.threadDataGridViewTextBoxColumn.DataPropertyName = "Thread";
89 this.threadDataGridViewTextBoxColumn.DataPropertyName = "Thread";
87 this.threadDataGridViewTextBoxColumn.HeaderText = "TID";
90 this.threadDataGridViewTextBoxColumn.HeaderText = "TID";
88 this.threadDataGridViewTextBoxColumn.Name = "threadDataGridViewTextBoxColumn";
91 this.threadDataGridViewTextBoxColumn.Name = "threadDataGridViewTextBoxColumn";
89 this.threadDataGridViewTextBoxColumn.ReadOnly = true;
92 this.threadDataGridViewTextBoxColumn.ReadOnly = true;
90 this.threadDataGridViewTextBoxColumn.Width = 5;
93 this.threadDataGridViewTextBoxColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
94 this.threadDataGridViewTextBoxColumn.Width = 32;
95 //
96 // TimeDelta
97 //
98 this.TimeDelta.DataPropertyName = "TimeDelta";
99 dataGridViewCellStyle2.Format = "\'+\' 0 \'ms\'";
100 dataGridViewCellStyle2.NullValue = null;
101 this.TimeDelta.DefaultCellStyle = dataGridViewCellStyle2;
102 this.TimeDelta.HeaderText = "TimeDelta";
103 this.TimeDelta.Name = "TimeDelta";
104 this.TimeDelta.ReadOnly = true;
105 this.TimeDelta.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
91 //
106 //
92 // Channel
107 // Channel
93 //
108 //
94 this.Channel.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
95 this.Channel.DataPropertyName = "Channel";
109 this.Channel.DataPropertyName = "Channel";
96 this.Channel.HeaderText = "Channel";
110 this.Channel.HeaderText = "Channel";
97 this.Channel.Name = "Channel";
111 this.Channel.Name = "Channel";
98 this.Channel.ReadOnly = true;
112 this.Channel.ReadOnly = true;
99 this.Channel.Width = 79;
113 this.Channel.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
100 //
114 //
101 // messageDataGridViewTextBoxColumn
115 // messageDataGridViewTextBoxColumn
102 //
116 //
103 this.messageDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
117 this.messageDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
104 this.messageDataGridViewTextBoxColumn.DataPropertyName = "FormattedMessage";
118 this.messageDataGridViewTextBoxColumn.DataPropertyName = "FormattedMessage";
105 dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
119 dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
106 this.messageDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle2;
120 this.messageDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle3;
107 this.messageDataGridViewTextBoxColumn.HeaderText = "Message";
121 this.messageDataGridViewTextBoxColumn.HeaderText = "Message";
108 this.messageDataGridViewTextBoxColumn.Name = "messageDataGridViewTextBoxColumn";
122 this.messageDataGridViewTextBoxColumn.Name = "messageDataGridViewTextBoxColumn";
109 this.messageDataGridViewTextBoxColumn.ReadOnly = true;
123 this.messageDataGridViewTextBoxColumn.ReadOnly = true;
124 this.messageDataGridViewTextBoxColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
110 //
125 //
111 // TraceForm
126 // TraceForm
112 //
127 //
@@ -127,8 +142,8
127 private System.Windows.Forms.DataGridView eventsDataGrid;
142 private System.Windows.Forms.DataGridView eventsDataGrid;
128 private System.Windows.Forms.BindingSource traceViewItemBindingSource;
143 private System.Windows.Forms.BindingSource traceViewItemBindingSource;
129 private System.Windows.Forms.DataGridViewTextBoxColumn threadDataGridViewTextBoxColumn;
144 private System.Windows.Forms.DataGridViewTextBoxColumn threadDataGridViewTextBoxColumn;
145 private System.Windows.Forms.DataGridViewTextBoxColumn TimeDelta;
130 private System.Windows.Forms.DataGridViewTextBoxColumn Channel;
146 private System.Windows.Forms.DataGridViewTextBoxColumn Channel;
131 private System.Windows.Forms.DataGridViewTextBoxColumn messageDataGridViewTextBoxColumn;
147 private System.Windows.Forms.DataGridViewTextBoxColumn messageDataGridViewTextBoxColumn;
132
133 }
148 }
134 } No newline at end of file
149 }
@@ -117,6 +117,9
117 <resheader name="writer">
117 <resheader name="writer">
118 <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
118 <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119 </resheader>
119 </resheader>
120 <metadata name="TimeDelta.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
121 <value>True</value>
122 </metadata>
120 <metadata name="Channel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
123 <metadata name="Channel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
121 <value>True</value>
124 <value>True</value>
122 </metadata>
125 </metadata>
@@ -9,6 +9,7 namespace Implab.Diagnostics.Interactive
9 string m_formattedValue;
9 string m_formattedValue;
10
10
11 public string Message { get; set; }
11 public string Message { get; set; }
12 public int TimeDelta { get; set; }
12 public int Timestamp { get; set; }
13 public int Timestamp { get; set; }
13 public int Indent { get; set; }
14 public int Indent { get; set; }
14 public int Thread { get; set; }
15 public int Thread { get; set; }
General Comments 3
Under Review
author

Auto status change to "Under Review"

Approved
author

ok, latest stable version should be in default

You need to be logged in to leave comments. Login now