From e4931e80d843f3ce61569f7fa5bca65a8249da0c Mon Sep 17 00:00:00 2001 From: Jonas Rapp Date: Thu, 12 Jan 2017 13:46:47 +0100 Subject: [PATCH] #35 Filter by correlation id --- Cinteros.XTB.PluginTraceViewer/PTVFilter.cs | 2 + .../PluginTraceViewer.cs | 62 +++++++- .../PluginTraceViewer.designer.cs | 134 ++++++++++++------ .../PluginTraceViewer.resx | 70 ++++----- 4 files changed, 188 insertions(+), 80 deletions(-) diff --git a/Cinteros.XTB.PluginTraceViewer/PTVFilter.cs b/Cinteros.XTB.PluginTraceViewer/PTVFilter.cs index 104232e..1c3bcac 100644 --- a/Cinteros.XTB.PluginTraceViewer/PTVFilter.cs +++ b/Cinteros.XTB.PluginTraceViewer/PTVFilter.cs @@ -9,8 +9,10 @@ public class PTVFilter public string Plugin { get; set; } public string Message { get; set; } public string Entity { get; set; } + public string CorrelationId { get; set; } public bool Exceptions { get; set; } public bool ExceptionSummary { get; set; } = true; + public bool Correlation { get; set; } = true; public int Mode { get; set; } public int MinDuration { get; set; } public int MaxDuration { get; set; } diff --git a/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.cs b/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.cs index f4ba1d7..57b3ba4 100644 --- a/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.cs +++ b/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.cs @@ -375,6 +375,10 @@ private void FetchUpdated(string fetchxml) private void RefreshTraces(QueryExpression query) { + if (query == null) + { + return; + } var excSummary = chkExceptionSummary.Checked; if (Service != null) { @@ -560,6 +564,16 @@ private QueryExpression GetQuery() } } } + if (chkCorrelation.Checked) + { + Guid id; + if (!Guid.TryParse(textCorrelationId.Text, out id)) + { + MessageBox.Show("Correlation id is not a valid Guid.", "Correlation", MessageBoxButtons.OK, MessageBoxIcon.Error); + return null; + } + QEplugintracelog.Criteria.AddCondition("correlationid", ConditionOperator.Equal, id); + } if (chkExceptions.Checked) { QEplugintracelog.Criteria.AddCondition("exceptiondetails", ConditionOperator.NotNull); @@ -838,8 +852,10 @@ private PTVFilter GetFilter() Plugin = chkPlugin.Checked ? comboPlugin.Text : string.Empty, Message = chkMessage.Checked ? comboMessage.Text : string.Empty, Entity = chkEntity.Checked ? comboEntity.Text : string.Empty, + CorrelationId = chkCorrelation.Checked ? textCorrelationId.Text : string.Empty, Exceptions = chkExceptions.Checked, ExceptionSummary = chkExceptionSummary.Checked, + Correlation = chkShowCorrelation.Checked, Mode = rbModeSync.Checked ? 1 : rbModeAsync.Checked ? 2 : 0, MinDuration = chkDurationMin.Checked ? (int)numDurationMin.Value : -1, MaxDuration = chkDurationMax.Checked ? (int)numDurationMax.Value : -1, @@ -909,8 +925,11 @@ private void ApplyFilter(PTVFilter filter) comboMessage.SelectedIndex = comboMessage.Items.IndexOf(filter.Message); chkEntity.Checked = !string.IsNullOrEmpty(filter.Entity); comboEntity.Text = filter.Entity; + chkCorrelation.Checked = !string.IsNullOrEmpty(filter.CorrelationId); + textCorrelationId.Text = filter.CorrelationId; chkExceptions.Checked = filter.Exceptions; chkExceptionSummary.Checked = filter.ExceptionSummary; + chkShowCorrelation.Checked = filter.Correlation; switch (filter.Mode) { case 1: @@ -1194,6 +1213,10 @@ private void SaveSettings() private void buttonOpenFXB_Click(object sender, EventArgs e) { var fetchxml = GetQueryFetchXML(); + if (string.IsNullOrEmpty(fetchxml)) + { + return; + } var messageBusEventArgs = new MessageBusEventArgs("FetchXML Builder") { TargetArgument = fetchxml @@ -1204,6 +1227,10 @@ private void buttonOpenFXB_Click(object sender, EventArgs e) private string GetQueryFetchXML() { QueryExpression query = GetQuery(); + if (query == null) + { + return string.Empty; + } var resp = Service.Execute(new QueryExpressionToFetchXmlRequest() { Query = query }) as QueryExpressionToFetchXmlResponse; return resp.FetchXml; } @@ -1223,6 +1250,10 @@ private void SaveQuery() if (sfd.ShowDialog() == DialogResult.OK && !string.IsNullOrEmpty(sfd.FileName)) { var fetchxml = GetQueryFetchXML(); + if (string.IsNullOrEmpty(fetchxml)) + { + return; + } var fetchdoc = new XmlDocument(); fetchdoc.LoadXml(fetchxml); fetchdoc.Save(sfd.FileName); @@ -1258,10 +1289,9 @@ private void comboLogSetting_SelectedIndexChanged(object sender, EventArgs e) private void tsmiCorrelationSelectThis_Click(object sender, EventArgs e) { var count = 0; - var entities = crmGridView.SelectedCellRecords?.Entities; - if (entities?.Count == 1 && entities[0]["correlationid"].ToString() != "") + var corrId = GetSelectedCorrelationId(); + if (!corrId.Equals(Guid.Empty)) { - var corrId = entities[0]["correlationid"]; foreach (DataGridViewRow row in crmGridView.Rows) { var idstr = row.Cells["correlationid"]?.Value?.ToString(); @@ -1279,5 +1309,31 @@ private void tsmiCorrelationSelectThis_Click(object sender, EventArgs e) } SendMessageToStatusBar(this, new StatusBarMessageEventArgs($"Selected {count} log records")); } + + private void chkCorrelation_CheckedChanged(object sender, EventArgs e) + { + textCorrelationId.Enabled = chkCorrelation.Checked; + } + + private void tsmiCorrelationFilterByThis_Click(object sender, EventArgs e) + { + var corrId = GetSelectedCorrelationId(); + if (!corrId.Equals(Guid.Empty)) + { + chkCorrelation.Checked = true; + textCorrelationId.Text = corrId.ToString(); + RefreshTraces(GetQuery()); + } + } + + private Guid GetSelectedCorrelationId() + { + var entities = crmGridView.SelectedCellRecords?.Entities; + if (entities?.Count == 1 && entities[0]["correlationid"].ToString() != "") + { + return (Guid)entities[0]["correlationid"]; + } + return Guid.Empty; + } } } diff --git a/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.designer.cs b/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.designer.cs index 302e014..5b2fb21 100644 --- a/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.designer.cs +++ b/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.designer.cs @@ -56,6 +56,8 @@ private void InitializeComponent() this.comboLogSetting = new System.Windows.Forms.ToolStripComboBox(); this.groupFilter = new System.Windows.Forms.GroupBox(); this.panelFilter = new System.Windows.Forms.Panel(); + this.textCorrelationId = new System.Windows.Forms.TextBox(); + this.chkCorrelation = new System.Windows.Forms.CheckBox(); this.label1 = new System.Windows.Forms.Label(); this.comboEntity = new System.Windows.Forms.ComboBox(); this.chkEntity = new System.Windows.Forms.CheckBox(); @@ -68,6 +70,7 @@ private void InitializeComponent() this.dateTo = new System.Windows.Forms.DateTimePicker(); this.dateFrom = new System.Windows.Forms.DateTimePicker(); this.panelOptions = new System.Windows.Forms.Panel(); + this.chkShowCorrelation = new System.Windows.Forms.CheckBox(); this.chkExceptionSummary = new System.Windows.Forms.CheckBox(); this.chkRecords = new System.Windows.Forms.CheckBox(); this.chkDurationMax = new System.Windows.Forms.CheckBox(); @@ -111,6 +114,7 @@ private void InitializeComponent() this.panelExceptionLabel = new System.Windows.Forms.Panel(); this.labelException = new System.Windows.Forms.Label(); this.splitContainerMain = new System.Windows.Forms.SplitContainer(); + this.tsmiCorrelationFilterByThis = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMain.SuspendLayout(); this.groupFilter.SuspendLayout(); this.panelFilter.SuspendLayout(); @@ -351,13 +355,15 @@ private void InitializeComponent() this.groupFilter.Dock = System.Windows.Forms.DockStyle.Top; this.groupFilter.Location = new System.Drawing.Point(0, 0); this.groupFilter.Name = "groupFilter"; - this.groupFilter.Size = new System.Drawing.Size(617, 142); + this.groupFilter.Size = new System.Drawing.Size(617, 172); this.groupFilter.TabIndex = 26; this.groupFilter.TabStop = false; this.groupFilter.Text = "Filter"; // // panelFilter // + this.panelFilter.Controls.Add(this.textCorrelationId); + this.panelFilter.Controls.Add(this.chkCorrelation); this.panelFilter.Controls.Add(this.label1); this.panelFilter.Controls.Add(this.comboEntity); this.panelFilter.Controls.Add(this.chkEntity); @@ -372,17 +378,38 @@ private void InitializeComponent() this.panelFilter.Dock = System.Windows.Forms.DockStyle.Fill; this.panelFilter.Location = new System.Drawing.Point(3, 16); this.panelFilter.Name = "panelFilter"; - this.panelFilter.Size = new System.Drawing.Size(348, 123); + this.panelFilter.Size = new System.Drawing.Size(348, 153); this.panelFilter.TabIndex = 1; // + // textCorrelationId + // + this.textCorrelationId.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textCorrelationId.Enabled = false; + this.textCorrelationId.Location = new System.Drawing.Point(97, 120); + this.textCorrelationId.Name = "textCorrelationId"; + this.textCorrelationId.Size = new System.Drawing.Size(244, 20); + this.textCorrelationId.TabIndex = 13; + // + // chkCorrelation + // + this.chkCorrelation.AutoSize = true; + this.chkCorrelation.Location = new System.Drawing.Point(3, 122); + this.chkCorrelation.Name = "chkCorrelation"; + this.chkCorrelation.Size = new System.Drawing.Size(88, 17); + this.chkCorrelation.TabIndex = 12; + this.chkCorrelation.Text = "Correlation Id"; + this.chkCorrelation.UseVisualStyleBackColor = true; + this.chkCorrelation.CheckedChanged += new System.EventHandler(this.chkCorrelation_CheckedChanged); + // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(220, 4); + this.label1.Location = new System.Drawing.Point(270, 4); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(100, 13); + this.label1.Size = new System.Drawing.Size(71, 13); this.label1.TabIndex = 11; - this.label1.Text = "Note: Times in UTC"; + this.label1.Text = "Times in UTC"; // // comboEntity // @@ -390,9 +417,9 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.comboEntity.Enabled = false; this.comboEntity.FormattingEnabled = true; - this.comboEntity.Location = new System.Drawing.Point(84, 96); + this.comboEntity.Location = new System.Drawing.Point(97, 96); this.comboEntity.Name = "comboEntity"; - this.comboEntity.Size = new System.Drawing.Size(257, 21); + this.comboEntity.Size = new System.Drawing.Size(244, 21); this.comboEntity.Sorted = true; this.comboEntity.TabIndex = 10; // @@ -414,9 +441,9 @@ private void InitializeComponent() this.comboMessage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboMessage.Enabled = false; this.comboMessage.FormattingEnabled = true; - this.comboMessage.Location = new System.Drawing.Point(84, 72); + this.comboMessage.Location = new System.Drawing.Point(97, 72); this.comboMessage.Name = "comboMessage"; - this.comboMessage.Size = new System.Drawing.Size(257, 21); + this.comboMessage.Size = new System.Drawing.Size(244, 21); this.comboMessage.TabIndex = 8; // // chkMessage @@ -436,9 +463,9 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.comboPlugin.Enabled = false; this.comboPlugin.FormattingEnabled = true; - this.comboPlugin.Location = new System.Drawing.Point(84, 48); + this.comboPlugin.Location = new System.Drawing.Point(97, 48); this.comboPlugin.Name = "comboPlugin"; - this.comboPlugin.Size = new System.Drawing.Size(257, 21); + this.comboPlugin.Size = new System.Drawing.Size(244, 21); this.comboPlugin.TabIndex = 6; // // chkPlugin @@ -479,7 +506,7 @@ private void InitializeComponent() this.dateTo.CustomFormat = "yyyy-MM-dd HH:mm"; this.dateTo.Enabled = false; this.dateTo.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.dateTo.Location = new System.Drawing.Point(84, 24); + this.dateTo.Location = new System.Drawing.Point(97, 24); this.dateTo.MaxDate = new System.DateTime(2099, 12, 31, 0, 0, 0, 0); this.dateTo.MinDate = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); this.dateTo.Name = "dateTo"; @@ -491,7 +518,7 @@ private void InitializeComponent() this.dateFrom.CustomFormat = "yyyy-MM-dd HH:mm"; this.dateFrom.Enabled = false; this.dateFrom.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.dateFrom.Location = new System.Drawing.Point(84, 0); + this.dateFrom.Location = new System.Drawing.Point(97, 0); this.dateFrom.MaxDate = new System.DateTime(2099, 12, 31, 0, 0, 0, 0); this.dateFrom.MinDate = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); this.dateFrom.Name = "dateFrom"; @@ -500,6 +527,7 @@ private void InitializeComponent() // // panelOptions // + this.panelOptions.Controls.Add(this.chkShowCorrelation); this.panelOptions.Controls.Add(this.chkExceptionSummary); this.panelOptions.Controls.Add(this.chkRecords); this.panelOptions.Controls.Add(this.chkDurationMax); @@ -514,9 +542,19 @@ private void InitializeComponent() this.panelOptions.Dock = System.Windows.Forms.DockStyle.Right; this.panelOptions.Location = new System.Drawing.Point(351, 16); this.panelOptions.Name = "panelOptions"; - this.panelOptions.Size = new System.Drawing.Size(263, 123); + this.panelOptions.Size = new System.Drawing.Size(263, 153); this.panelOptions.TabIndex = 2; // + // chkShowCorrelation + // + this.chkShowCorrelation.AutoSize = true; + this.chkShowCorrelation.Location = new System.Drawing.Point(3, 27); + this.chkShowCorrelation.Name = "chkShowCorrelation"; + this.chkShowCorrelation.Size = new System.Drawing.Size(106, 17); + this.chkShowCorrelation.TabIndex = 3; + this.chkShowCorrelation.Text = "Show Correlation"; + this.chkShowCorrelation.UseVisualStyleBackColor = true; + // // chkExceptionSummary // this.chkExceptionSummary.AutoSize = true; @@ -524,9 +562,9 @@ private void InitializeComponent() this.chkExceptionSummary.CheckState = System.Windows.Forms.CheckState.Checked; this.chkExceptionSummary.Location = new System.Drawing.Point(158, 3); this.chkExceptionSummary.Name = "chkExceptionSummary"; - this.chkExceptionSummary.Size = new System.Drawing.Size(97, 17); - this.chkExceptionSummary.TabIndex = 11; - this.chkExceptionSummary.Text = "Show summary"; + this.chkExceptionSummary.Size = new System.Drawing.Size(91, 17); + this.chkExceptionSummary.TabIndex = 2; + this.chkExceptionSummary.Text = "Exc. summary"; this.chkExceptionSummary.UseVisualStyleBackColor = true; // // chkRecords @@ -534,10 +572,10 @@ private void InitializeComponent() this.chkRecords.AutoSize = true; this.chkRecords.Checked = true; this.chkRecords.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkRecords.Location = new System.Drawing.Point(3, 98); + this.chkRecords.Location = new System.Drawing.Point(3, 122); this.chkRecords.Name = "chkRecords"; this.chkRecords.Size = new System.Drawing.Size(91, 17); - this.chkRecords.TabIndex = 9; + this.chkRecords.TabIndex = 11; this.chkRecords.Text = "Record count"; this.chkRecords.UseVisualStyleBackColor = true; this.chkRecords.CheckedChanged += new System.EventHandler(this.chkRecords_CheckedChanged); @@ -545,10 +583,10 @@ private void InitializeComponent() // chkDurationMax // this.chkDurationMax.AutoSize = true; - this.chkDurationMax.Location = new System.Drawing.Point(3, 74); + this.chkDurationMax.Location = new System.Drawing.Point(3, 98); this.chkDurationMax.Name = "chkDurationMax"; this.chkDurationMax.Size = new System.Drawing.Size(89, 17); - this.chkDurationMax.TabIndex = 7; + this.chkDurationMax.TabIndex = 9; this.chkDurationMax.Text = "Duration Max"; this.chkDurationMax.UseVisualStyleBackColor = true; this.chkDurationMax.CheckedChanged += new System.EventHandler(this.chkDurationMax_CheckedChanged); @@ -556,10 +594,10 @@ private void InitializeComponent() // chkDurationMin // this.chkDurationMin.AutoSize = true; - this.chkDurationMin.Location = new System.Drawing.Point(3, 50); + this.chkDurationMin.Location = new System.Drawing.Point(3, 74); this.chkDurationMin.Name = "chkDurationMin"; this.chkDurationMin.Size = new System.Drawing.Size(86, 17); - this.chkDurationMin.TabIndex = 5; + this.chkDurationMin.TabIndex = 7; this.chkDurationMin.Text = "Duration Min"; this.chkDurationMin.UseVisualStyleBackColor = true; this.chkDurationMin.CheckedChanged += new System.EventHandler(this.chkDurationMin_CheckedChanged); @@ -572,7 +610,7 @@ private void InitializeComponent() 0, 0, 0}); - this.numDurationMax.Location = new System.Drawing.Point(158, 73); + this.numDurationMax.Location = new System.Drawing.Point(158, 97); this.numDurationMax.Maximum = new decimal(new int[] { 100000, 0, @@ -580,7 +618,7 @@ private void InitializeComponent() 0}); this.numDurationMax.Name = "numDurationMax"; this.numDurationMax.Size = new System.Drawing.Size(76, 20); - this.numDurationMax.TabIndex = 8; + this.numDurationMax.TabIndex = 10; // // numDurationMin // @@ -590,7 +628,7 @@ private void InitializeComponent() 0, 0, 0}); - this.numDurationMin.Location = new System.Drawing.Point(158, 49); + this.numDurationMin.Location = new System.Drawing.Point(158, 73); this.numDurationMin.Maximum = new decimal(new int[] { 100000, 0, @@ -598,7 +636,7 @@ private void InitializeComponent() 0}); this.numDurationMin.Name = "numDurationMin"; this.numDurationMin.Size = new System.Drawing.Size(76, 20); - this.numDurationMin.TabIndex = 6; + this.numDurationMin.TabIndex = 8; // // numRecords // @@ -607,7 +645,7 @@ private void InitializeComponent() 0, 0, 0}); - this.numRecords.Location = new System.Drawing.Point(158, 97); + this.numRecords.Location = new System.Drawing.Point(158, 121); this.numRecords.Maximum = new decimal(new int[] { 5000, 0, @@ -620,7 +658,7 @@ private void InitializeComponent() 0}); this.numRecords.Name = "numRecords"; this.numRecords.Size = new System.Drawing.Size(76, 20); - this.numRecords.TabIndex = 10; + this.numRecords.TabIndex = 12; this.numRecords.Value = new decimal(new int[] { 100, 0, @@ -631,10 +669,10 @@ private void InitializeComponent() // rbModeAsync // this.rbModeAsync.AutoSize = true; - this.rbModeAsync.Location = new System.Drawing.Point(158, 25); + this.rbModeAsync.Location = new System.Drawing.Point(158, 49); this.rbModeAsync.Name = "rbModeAsync"; this.rbModeAsync.Size = new System.Drawing.Size(76, 17); - this.rbModeAsync.TabIndex = 4; + this.rbModeAsync.TabIndex = 6; this.rbModeAsync.TabStop = true; this.rbModeAsync.Text = "Async only"; this.rbModeAsync.UseVisualStyleBackColor = true; @@ -642,10 +680,10 @@ private void InitializeComponent() // rbModeSync // this.rbModeSync.AutoSize = true; - this.rbModeSync.Location = new System.Drawing.Point(80, 25); + this.rbModeSync.Location = new System.Drawing.Point(80, 49); this.rbModeSync.Name = "rbModeSync"; this.rbModeSync.Size = new System.Drawing.Size(71, 17); - this.rbModeSync.TabIndex = 3; + this.rbModeSync.TabIndex = 5; this.rbModeSync.TabStop = true; this.rbModeSync.Text = "Sync only"; this.rbModeSync.UseVisualStyleBackColor = true; @@ -654,10 +692,10 @@ private void InitializeComponent() // this.rbModeAll.AutoSize = true; this.rbModeAll.Checked = true; - this.rbModeAll.Location = new System.Drawing.Point(3, 25); + this.rbModeAll.Location = new System.Drawing.Point(3, 49); this.rbModeAll.Name = "rbModeAll"; this.rbModeAll.Size = new System.Drawing.Size(70, 17); - this.rbModeAll.TabIndex = 2; + this.rbModeAll.TabIndex = 4; this.rbModeAll.TabStop = true; this.rbModeAll.Text = "All modes"; this.rbModeAll.UseVisualStyleBackColor = true; @@ -697,14 +735,14 @@ private void InitializeComponent() this.crmGridView.ContextMenuStrip = this.contextMenuGridView; this.crmGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.crmGridView.EnableHeadersVisualStyles = false; - this.crmGridView.Location = new System.Drawing.Point(0, 167); + this.crmGridView.Location = new System.Drawing.Point(0, 197); this.crmGridView.Name = "crmGridView"; this.crmGridView.ReadOnly = true; this.crmGridView.RowHeadersWidth = 20; this.crmGridView.ShowFriendlyNames = true; this.crmGridView.ShowIdColumn = false; this.crmGridView.ShowIndexColumn = false; - this.crmGridView.Size = new System.Drawing.Size(617, 288); + this.crmGridView.Size = new System.Drawing.Size(617, 258); this.crmGridView.TabIndex = 25; this.crmGridView.RecordDoubleClick += new Cinteros.Xrm.CRMWinForm.CRMRecordEventHandler(this.crmGridView_RecordDoubleClick); this.crmGridView.RecordEnter += new Cinteros.Xrm.CRMWinForm.CRMRecordEventHandler(this.crmGridView_RecordEnter); @@ -810,13 +848,14 @@ private void InitializeComponent() this.tsmiDeleteAll, this.tsmiDeleteSelected}); this.contextMenuGridView.Name = "contextStripMain"; - this.contextMenuGridView.Size = new System.Drawing.Size(155, 98); + this.contextMenuGridView.Size = new System.Drawing.Size(155, 76); this.contextMenuGridView.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuGridView_Opening); // // tsmiCorrelation // this.tsmiCorrelation.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsmiCorrelationId, + this.tsmiCorrelationFilterByThis, this.tsmiCorrelationSelectThis}); this.tsmiCorrelation.Name = "tsmiCorrelation"; this.tsmiCorrelation.Size = new System.Drawing.Size(154, 22); @@ -859,7 +898,7 @@ private void InitializeComponent() // this.panelDataTop.Controls.Add(this.labelInfo); this.panelDataTop.Dock = System.Windows.Forms.DockStyle.Top; - this.panelDataTop.Location = new System.Drawing.Point(0, 142); + this.panelDataTop.Location = new System.Drawing.Point(0, 172); this.panelDataTop.Name = "panelDataTop"; this.panelDataTop.Size = new System.Drawing.Size(617, 25); this.panelDataTop.TabIndex = 26; @@ -914,7 +953,7 @@ private void InitializeComponent() this.splitContainerRight.Panel2.Controls.Add(this.panelExceptionLabel); this.splitContainerRight.Panel2MinSize = 23; this.splitContainerRight.Size = new System.Drawing.Size(489, 455); - this.splitContainerRight.SplitterDistance = 222; + this.splitContainerRight.SplitterDistance = 218; this.splitContainerRight.SplitterWidth = 8; this.splitContainerRight.TabIndex = 12; // @@ -929,7 +968,7 @@ private void InitializeComponent() this.textMessage.Name = "textMessage"; this.textMessage.ReadOnly = true; this.textMessage.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textMessage.Size = new System.Drawing.Size(489, 197); + this.textMessage.Size = new System.Drawing.Size(489, 193); this.textMessage.TabIndex = 10; this.textMessage.WordWrap = false; // @@ -952,7 +991,7 @@ private void InitializeComponent() this.textException.Name = "textException"; this.textException.ReadOnly = true; this.textException.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textException.Size = new System.Drawing.Size(489, 200); + this.textException.Size = new System.Drawing.Size(489, 204); this.textException.TabIndex = 6; this.textException.WordWrap = false; // @@ -996,6 +1035,13 @@ private void InitializeComponent() this.splitContainerMain.SplitterWidth = 8; this.splitContainerMain.TabIndex = 31; // + // tsmiCorrelationFilterByThis + // + this.tsmiCorrelationFilterByThis.Name = "tsmiCorrelationFilterByThis"; + this.tsmiCorrelationFilterByThis.Size = new System.Drawing.Size(308, 22); + this.tsmiCorrelationFilterByThis.Text = "Filter by this correlation id"; + this.tsmiCorrelationFilterByThis.Click += new System.EventHandler(this.tsmiCorrelationFilterByThis_Click); + // // PluginTraceViewer // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -1121,5 +1167,9 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem tsmiCorrelationSelectThis; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem tsmiCorrelationId; + private System.Windows.Forms.TextBox textCorrelationId; + private System.Windows.Forms.CheckBox chkCorrelation; + private System.Windows.Forms.CheckBox chkShowCorrelation; + private System.Windows.Forms.ToolStripMenuItem tsmiCorrelationFilterByThis; } } diff --git a/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.resx b/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.resx index 04a106e..ad9cfd6 100644 --- a/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.resx +++ b/Cinteros.XTB.PluginTraceViewer/PluginTraceViewer.resx @@ -150,16 +150,16 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIuSURBVDhPvZFdSFNxGMbflKALoS666Cbo1kAo8iovCqIu - yqsuxIs+iBKhLGcF0qgdtpq1Pmd4EX0wzZmyGW1i++hDRpbZVNLZRX6s1ZyORtvZym26nfb0bp3gQA26 - qQdeDuc87+93/odD/y2jrfTE3UJwXiA81hG6m+ieXP1dXAKlMqkofsWuIcjVn/PeRFXDraR5ZSSHx0Cj - HmGtJLOFFBV4jTQ11rUZk7bdCI6dR0ochyQtMJLgyV8/8HzDo7NFBJ5rxAtfkU0PIxG2YuGdFoHXxxAY - qsPMi4PcTfKE0XtGIRi8UZK1adfk/C81eH6ZkIwOIjKjhjinx1L8JpC5Cyy1Ieyrw/KihQXTsDQrBANX - VsQzSS8XCTy9lD/BLE8HkGVwuQ1IXwVSeiCpQWBkP3cT6D6tEDwzlHgjs1Yu5pH/VfkFfL/ObzYwqAMW - 1fzZp4B4A+beVHNvQddJhcB9kW67HuzIAP7Cf4bkYaiZD6QCxKPAl8NAZB/wuRa5UA2i00dwv1EhcOqp - xq0rjWaTDvRrWZC2MXSgACC8FwjtAYI7gY88wV2Iv92G9uMKQT4u/SrbkKkKfQILEqbCIj5tZ2grTyXf - b0FsvAJ++wY4WsrQ0UAhGf2ZPg3Vu4R1ku0cC0QjQ5sYKkdsZD185tUwCytzvSqK9TSSU0Z+z4Buo/RQ - TUhPVcPXWYZ+oVSyqmi+R0V2j47K5bXi8d6qPNReT2JnEwXMJ+iO/PhfhugHISir2LDAwhcAAAAASUVO + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIuSURBVDhPvZFbSFNxHMd/KUEPQj300EvQq0FQ5FM+FEQ9 + lE89SA9diBKhLGcF0qhz2mrWus7wIbowbZqyGW5iu3SRkWU2FW32kJe1mtPRaLdym26nffttneBADXqp + L/w4nPP9fT7nfzj03zLSTE9cTQTHRcJjLaGzge7L1d/FKVIqk4rgV2wCQa7+nPdGqhxqJuGVgexuPY24 + xdWSzBZSVOAx0ORoxyZMWHchMHoBqdg4JGmekQRP/vqB5xt6zhYRuK8TL3xFNj2ERMiC+Xca+F8fg3+w + BtMvDnI3wRNC9xmFYOBmSbbn/Kqc76WA51cIycgAwtNqxGZ1WIzfAjL3gMUWhLw1WFows2AK5kaFoP/q + sngm6eEigaeX8yeY4WkDsgwutQDpa0BKByQF+If3c/cWnacVgmf6Ek94xsLFHPK/Kr+A7zf4zXoGtcCC + mj/7FBCvw+ybKu7N6DipELgu0R3Hw+0ZwFf4z5DcDDXygVRA7Cjw5TAQ3gd83otcsBqRqSN4UK8QOHRU + 7dKWRrJJO/o0LEhbGTpQABDaAwR3A4EdwEeewE7Ex7ai9bhCkI9Tt8I6aKxEr8iChLGwiE/bGNrCU8H3 + mxEd3wCfbR3sTWVoq6OgjP5Mr0C1TnGNZD3HgpiBoY0MlSM6vBbe9pUwictz3SqKdtWTQ0Z+T79mvfRI + TUhPVsFrKkOfWCpZVDTXpSKbW0vl8lrxeG5XHGqtpZipgfztJ+iu/PhfhugHGNmr0/fy+DUAAAAASUVO RK5CYII= @@ -182,16 +182,16 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAInSURBVDhPtdJdSJNhFAfwM9PCvas3yrvYjZGilq5taDXK - wohKMKthhQ410/mxjX34QWs6FmqmY+XH1SDqpoIwiEyXU4ylOLVpQ4dNIbpJSrqSJrsp/w15YAhiXtTv - 8jznzzk8z0P/TjHpkuuTVqicfKQmBatuH6/buzz7bRrPPz6G5P6R31RBTjLQPnb8dwmmhJWXgWdwjDaj - fcyCsl4l4oxx36mBiljL1uKN8StPZnrQNKyH4W0xalxKqN25SLeK18hIQ3SXDrHWzQlNwp89Uy2oc99E - 5UA+ivpO4+rro7g8kIq8N8ngW4ThyDZN1Em7WGQjroEL2b23oXNfQ6nrLAr6ZcjrT4LSnYJCz2GUT8lw - 7tVBkIU+kZWkLBbFmblQ24Qe1UOXoBpU4MpgCq6PpEE1mo6ySQnU01Jo57JQF1RghzVmnsWiuEYu1Dqp - QdXIRaiGM3HjXRpKvRmo8MlQ7c+ELnACtQvZaPySA4E1JsBiUZyVC93zVaHGcwElHjlKxiWonJFDM3sM - tcFs2L6eh/J9BgQtgnlqJwmLRYlaRasdfg3047m45c1an6ydOw7z5xyYFs/gwCPRKrXRHXpBO1lkI76N - Dz8MGFD/IR9a36n1yZbIuic7E9eog1z0lBJZ6+Z4Bx92Bs2w+QthW4hc5IQUsY7Ypch/LGAtW9ttj1vu - W+pC96IGqTbxL3pAXZE338OOt6GZSsTO/T/ITmPUTXJW/d+I/gAgMvZFWutHhwAAAABJRU5ErkJggg== + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAImSURBVDhPtdJfSNNRFAfwo7nC/Va/KN9iL0aKWrq2odUo + CyMqwayGFSrOzP/bcJt/aE3XwtnSsUx9GkS9VBAFkelyirEUpzZt6LApRC9JSU/SZC/ltyEXhiDmQ30e + zz1fzuHeS/9OCWmTG5OWqZx8VEkKVt06Xrt7aebbFJ59fATJvUO/qYKcpKM97PjvEgwJyy8DT+EYaUX7 + qAllL5QQ6AXfqYmKWMvm4vXxy4+ne9AyVAfd2xLUupSodOci3SxeJT0N0h06wFo3JjQIf/ZMWtHgvo6q + /nwU9Z7E5deHcbE/FXlvksFbheHINi30gHawyHpcExeye29C676CUtdpFPTJkNeXBKU7BYWegyiflOHM + q/0gE30iM0lZLIozciHbeB1qBi+geECBSwMpuDqchuKRdJRNSFA5JYVmNgsNQQW2mWPnWCyKa+ZCbRNq + VA+fR/FQJq69S0OpNwMVPhlq/JnQBo6hfj4bzV9yEGOODbBYFGfmQnd91aj1nIPKI4dqTIKqaTnUM0dQ + H8yG5etZKN9nIMYaM0ftJGGxKFGbaKXDr0bdWC5ueLPWJmtmj8L4OQeGhVPY91C0Qja6Rc9pO4usx9v4 + cGdAh8YP+dD4TqxNNkXWPd6ZuEod5KInlMhaN8Y7+LAzaITFXwjLfOQix6WIc8QtRv5jAWvZ3E67YKl3 + sQvdC2qk3hb/ovvUFXnzXex4C1pJJXbu/UF2GqVukrPq/0b0Bx5i9kMRCE3+AAAAAElFTkSuQmCC @@ -229,21 +229,21 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMzSURBVDhPbZN7TJNXGMY/DIkaMQbx8h+kOqOOFYgLwxGD - iNugCpFEqdHEUBP2h3RqwuoXwM1vDIZTM3UOgTFNXdJKjRcwISqillaxQCgpFzVcUimFQidELhskMHj2 - nIZkme5JfjnfyXue97znfO+R3lVpaatiNDZNyvJ1mdOVsnxLzs6+diUh4cAGzheTILHuPSkKgjkEnT37 - rGpqahZXrz6cOHKk/MGZM7fnHY4+ZGR89zvjm4hI8l9dvNhSaDY7J4qKaus4/uXzTcDlGkZrqw+dnX7Y - bL1ISDh0S6X6RK/RyBpalpBFAbOQMM/OzmF8fBodHf6A0e1+i66uETQ3D+D5cy8rsqG8/Alk+bep8HD1 - TtpWkMBxggwGy69Way9evvwjYOrvH0ddXTcaG3149erNQpJ+jkMoK7Nh8+bPLtMXTRZLR4+admRllZhr - atrhdPowODiJ/Pwf5mNi9tXGxe29U1pq/bOlZRAOhwdmczPS05WJ5cvXiATJJISXVzXjdo9y1zGIhX19 - 49Bqv3/BoKmgoKDE5XJ3i5hIYLE4kZxs6AkNjfiF8USyTMrLs/g7OkbR1uZjiV6WPAJFsf+dnp5jrq9v - v79d2TGfdD4JNxvvBmJWqwcpKbkemneTFZJWW3xarzeOGQwmJvGzigH+gSHevBvDw5OIP7cVxvaf8XXN - V8g0fokXXaOorn46RvMJEk6ksLVrN+iOHzdPt7UNo6nJy8vrZ8leeDxvsaU4CpedhfjWcRgZjzYh+kL0 - dFpOhp2+QrJOJAjWaJTzdnsvHj/uQWVlO+z2IdTXv+YfeYPo0x9Bb9sFrXUj9K5YnBvdg9iKiEn6TpII - kUBKTDyxMy/PNKPTXUJaWq43M9M429AwyCYaQNSPHyKn+Qsc6/wYRf40RFWoRqT10jXaRKsHjiC0VK3e - k8VOu8S2KI+P19lMJhcvzDa35Sf1XIlfh4P2eEQqap8ULFVyfRH5nIhmCkh01CryKUmKjNxbkJqqzFgs - 97pVimpEsHrb6huMiZ1zSRwJJf+2MyUmS0kIEclSyDdE7FZMTpH9RDwose7/X+WCxMtcSVRkPflg4TuM - iNiCJOkfo5C7uYS3XmwAAAAASUVORK5CYII= + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMuSURBVDhPbZN7SJRZGMY/F6Fii7C2+k+ZLnSxUSnKTRYz + u+hUklBOFISzYH/U1AY2fWi3L3MwKbqbWW1MwUxOJF1AKnPbuXQZFUfGS4Ums46jo1NKXnYVNH16ziDE + Vg/8ON/hPc973nO+90jfqri4TjGZqgdl+Y7M6QxZLpP37r31Z2LijgWcTyJhYt13UhSEcwg7ffrlg6Gh + Udy8+Wxgz56Sp4WFZeMuVxsyMk7cZnwREUn+rwsXavMtFveA0VhRyfG/QGAAHk836uoCaGoKwuFoRWLi + rjKVaqVeo5E1tEwmP4XMQsI8OjqG/v5hNDYGQ0av9xOam3tQU9OB16/9rMiBkpK/Ics3hiIj1Wtpm05C + xwkzGKzXbLZWvH37IWRqb+9HZWULqqoCePfu40SSdo5duHrVgcWL112hL5ZMkvbvN6/JyiqylJc3wO0O + oLNzEIcPG8fj4rZVxMdvvV9cbPu3trYTLpcPFksN0tOVgWnTZosEKWQqL+/BiNfby137IBa2tfVDqz35 + hkFzXl5ekcfjbRExkcBqdSMlxfA+IiLqMuNJ5GcpN9cabGzsRX19gCX6WXIPFMX5OT0922K3NzxZrawZ + Tz6XjHtVj0Ixm82H1NQcH82byHRJqy04pdeb+gwGM5MEWUUH/0AXb96L7u5BJJz5FaaGizhYvg+Zpt14 + 09yLhw9f9NF8iEQSaeacOQt0Bw5Yhuvru1Fd7efltbNkP3y+T1hWEIMr7nwcc/2OjL8WIfZ87HBadoaT + vnwyVyQI12iUc05nK54/f4/S0gY4nV2w2//hH/mI2FNLoXdshNa2EHrPCpzp3YIV16MG6TtCokQCKSnp + 0NrcXPOITncJaWk5/sxM0+irV51sog7EFC5Bds0G/NG0HMZgGmKuq3qkedIt2kSrh44gNEWt3pLFTrvE + tihJSNA5zGYPL8w+tuyseqwoqMNOZwKiFXVACpdKud5I1hPRTCGJjvqFrCLJ0dFb8zZvVkas1sctKkXV + I5j126y7jImdc0g8iSBf25kSkylkKhHJUslRInYrIMfJdiIelFj341c5IfEyZxAVmUfmT3zPJCI2IUn6 + ApTwu7SI871CAAAAAElFTkSuQmCC