summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleksii Kovalov <OleksiiKovalov@users.noreply.github.com>2013-06-17 19:37:10 +0000
committerOleksii Kovalov <OleksiiKovalov@users.noreply.github.com>2013-06-17 19:37:10 +0000
commit6b2b32b8c98d98dd98e94d7f2f487e5c7aadf9d9 (patch)
tree6ec0c91614f275220bd6d8d0aeb4951a7c5ba2d1
parent1aa16b3df1a210eae0d1b496d4533be803edfea4 (diff)
downloadexpressprofiler-6b2b32b8c98d98dd98e94d7f2f487e5c7aadf9d9.zip
expressprofiler-6b2b32b8c98d98dd98e94d7f2f487e5c7aadf9d9.tar.gz
expressprofiler-6b2b32b8c98d98dd98e94d7f2f487e5c7aadf9d9.tar.bz2
[*] fixed Audit:Logout event
[+] added StartTime, EndTime event columns [+] added SP:StmtStarting,SP:StmtCompleted events
-rw-r--r--ExpressProfiler/ExpressProfiler/MainForm.Designer.cs86
-rw-r--r--ExpressProfiler/ExpressProfiler/MainForm.cs69
2 files changed, 116 insertions, 39 deletions
diff --git a/ExpressProfiler/ExpressProfiler/MainForm.Designer.cs b/ExpressProfiler/ExpressProfiler/MainForm.Designer.cs
index 5b9997a..166b5ff 100644
--- a/ExpressProfiler/ExpressProfiler/MainForm.Designer.cs
+++ b/ExpressProfiler/ExpressProfiler/MainForm.Designer.cs
@@ -58,6 +58,7 @@
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
this.mnBatchStarting = new System.Windows.Forms.ToolStripMenuItem();
this.mnBatchCompleted = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripLabel4 = new System.Windows.Forms.ToolStripLabel();
this.edDuration = new System.Windows.Forms.ToolStripTextBox();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
@@ -74,14 +75,16 @@
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
this.extractAllEventsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extractSelectedEventsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
+ this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.findToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.findNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
this.clearTraceWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.findNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
- this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.mnSPStmtCompleted = new System.Windows.Forms.ToolStripMenuItem();
+ this.mnSPStmtStarting = new System.Windows.Forms.ToolStripMenuItem();
this.toolStrip1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
@@ -256,9 +259,12 @@
this.toolStripMenuItem1,
this.mnRPCStarting,
this.mnRPCCompleted,
+ this.mnSPStmtStarting,
+ this.mnSPStmtCompleted,
this.toolStripMenuItem2,
this.mnBatchStarting,
- this.mnBatchCompleted});
+ this.mnBatchCompleted,
+ this.toolStripMenuItem6});
this.cbSelectEvents.Image = ((System.Drawing.Image)(resources.GetObject("cbSelectEvents.Image")));
this.cbSelectEvents.ImageTransparentColor = System.Drawing.Color.Magenta;
this.cbSelectEvents.Name = "cbSelectEvents";
@@ -321,6 +327,11 @@
this.mnBatchCompleted.Text = "Batch:Completed";
this.mnBatchCompleted.Click += new System.EventHandler(this.existingConnectionsToolStripMenuItem_Click);
//
+ // toolStripMenuItem6
+ //
+ this.toolStripMenuItem6.Name = "toolStripMenuItem6";
+ this.toolStripMenuItem6.Size = new System.Drawing.Size(168, 6);
+ //
// toolStripLabel4
//
this.toolStripLabel4.Name = "toolStripLabel4";
@@ -450,6 +461,18 @@
this.extractSelectedEventsToolStripMenuItem.Text = "Copy selected events to clipboard";
this.extractSelectedEventsToolStripMenuItem.Click += new System.EventHandler(this.extractSelectedEventsToolStripMenuItem_Click);
//
+ // toolStripMenuItem5
+ //
+ this.toolStripMenuItem5.Name = "toolStripMenuItem5";
+ this.toolStripMenuItem5.Size = new System.Drawing.Size(234, 6);
+ //
+ // exitToolStripMenuItem
+ //
+ this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
+ this.exitToolStripMenuItem.Size = new System.Drawing.Size(237, 22);
+ this.exitToolStripMenuItem.Text = "Exit";
+ this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
+ //
// editToolStripMenuItem
//
this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -462,6 +485,14 @@
this.editToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.editToolStripMenuItem.Text = "Edit";
//
+ // selectAllToolStripMenuItem
+ //
+ this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
+ this.selectAllToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A)));
+ this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
+ this.selectAllToolStripMenuItem.Text = "Select all";
+ this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
+ //
// findToolStripMenuItem
//
this.findToolStripMenuItem.Name = "findToolStripMenuItem";
@@ -470,6 +501,14 @@
this.findToolStripMenuItem.Text = "Find...";
this.findToolStripMenuItem.Click += new System.EventHandler(this.findToolStripMenuItem_Click);
//
+ // findNextToolStripMenuItem
+ //
+ this.findNextToolStripMenuItem.Name = "findNextToolStripMenuItem";
+ this.findNextToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F3;
+ this.findNextToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
+ this.findNextToolStripMenuItem.Text = "Find next";
+ this.findNextToolStripMenuItem.Click += new System.EventHandler(this.findNextToolStripMenuItem_Click);
+ //
// toolStripMenuItem4
//
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
@@ -484,33 +523,19 @@
this.clearTraceWindowToolStripMenuItem.Text = "Clear Trace Window";
this.clearTraceWindowToolStripMenuItem.Click += new System.EventHandler(this.clearTraceWindowToolStripMenuItem_Click);
//
- // selectAllToolStripMenuItem
+ // mnSPStmtCompleted
//
- this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
- this.selectAllToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A)));
- this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
- this.selectAllToolStripMenuItem.Text = "Select all";
- this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
+ this.mnSPStmtCompleted.Name = "mnSPStmtCompleted";
+ this.mnSPStmtCompleted.Size = new System.Drawing.Size(171, 22);
+ this.mnSPStmtCompleted.Text = "SP:StmtCompleted";
+ this.mnSPStmtCompleted.Click += new System.EventHandler(this.existingConnectionsToolStripMenuItem_Click);
//
- // findNextToolStripMenuItem
+ // mnSPStmtStarting
//
- this.findNextToolStripMenuItem.Name = "findNextToolStripMenuItem";
- this.findNextToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F3;
- this.findNextToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
- this.findNextToolStripMenuItem.Text = "Find next";
- this.findNextToolStripMenuItem.Click += new System.EventHandler(this.findNextToolStripMenuItem_Click);
- //
- // toolStripMenuItem5
- //
- this.toolStripMenuItem5.Name = "toolStripMenuItem5";
- this.toolStripMenuItem5.Size = new System.Drawing.Size(234, 6);
- //
- // exitToolStripMenuItem
- //
- this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
- this.exitToolStripMenuItem.Size = new System.Drawing.Size(237, 22);
- this.exitToolStripMenuItem.Text = "Exit";
- this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
+ this.mnSPStmtStarting.Name = "mnSPStmtStarting";
+ this.mnSPStmtStarting.Size = new System.Drawing.Size(171, 22);
+ this.mnSPStmtStarting.Text = "SP:StmtStarting";
+ this.mnSPStmtStarting.Click += new System.EventHandler(this.existingConnectionsToolStripMenuItem_Click);
//
// MainForm
//
@@ -592,6 +617,9 @@
private System.Windows.Forms.ToolStripMenuItem findNextToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem6;
+ private System.Windows.Forms.ToolStripMenuItem mnSPStmtCompleted;
+ private System.Windows.Forms.ToolStripMenuItem mnSPStmtStarting;
}
}
diff --git a/ExpressProfiler/ExpressProfiler/MainForm.cs b/ExpressProfiler/ExpressProfiler/MainForm.cs
index 0a40fb6..6537c4d 100644
--- a/ExpressProfiler/ExpressProfiler/MainForm.cs
+++ b/ExpressProfiler/ExpressProfiler/MainForm.cs
@@ -47,7 +47,7 @@ namespace ExpressProfiler
{
InitializeComponent();
InitLV();
- Text = "Express Profiler v1.4";
+ Text = "Express Profiler v1.5";
edPassword.TextBox.PasswordChar = '*';
m_servername = Properties.Settings.Default.ServerName;
m_username = Properties.Settings.Default.UserName;
@@ -59,6 +59,8 @@ namespace ExpressProfiler
mnRPCCompleted.Checked = (eventMask & 8) != 0;
mnBatchStarting.Checked = (eventMask & 16) != 0;
mnBatchCompleted.Checked = (eventMask & 32) != 0;
+ mnSPStmtCompleted.Checked = (eventMask & 64) != 0;
+ mnSPStmtStarting.Checked = (eventMask & 128) != 0;
ParseCommandLine();
edServer.Text = m_servername;
@@ -142,6 +144,8 @@ namespace ExpressProfiler
mnRPCCompleted.Enabled = mnBatchCompleted.Enabled;
mnLoginLogout.Enabled = mnBatchCompleted.Enabled;
mnRPCStarting.Enabled = mnBatchCompleted.Enabled;
+ mnSPStmtCompleted.Enabled = mnBatchCompleted.Enabled;
+ mnSPStmtStarting.Enabled = mnBatchCompleted.Enabled;
}
@@ -174,7 +178,9 @@ namespace ExpressProfiler
lvEvents.Columns.Add("Reads", 78).TextAlign = HorizontalAlignment.Right;
lvEvents.Columns.Add("Writes", 78).TextAlign = HorizontalAlignment.Right;
lvEvents.Columns.Add("Duration, ms", 82).TextAlign = HorizontalAlignment.Right;
- lvEvents.Columns.Add("SPID", 80).TextAlign = HorizontalAlignment.Right;
+ lvEvents.Columns.Add("SPID", 50).TextAlign = HorizontalAlignment.Right;
+ lvEvents.Columns.Add("Start time", 140).TextAlign = HorizontalAlignment.Left;
+ lvEvents.Columns.Add("End time", 140).TextAlign = HorizontalAlignment.Left;
lvEvents.Columns.Add("#", 53).TextAlign = HorizontalAlignment.Right;
lvEvents.ColumnClick += lvEvents_ColumnClick;
lvEvents.SelectedIndexChanged += lvEvents_SelectedIndexChanged;
@@ -229,6 +235,8 @@ namespace ExpressProfiler
textData, evt.LoginName, evt.CPU.ToString("#,0",CultureInfo.InvariantCulture), evt.Reads.ToString("#,0",CultureInfo.InvariantCulture)
, evt.Writes.ToString("#,0",CultureInfo.InvariantCulture), (evt.Duration/1000).ToString("#,0"), evt.SPID.ToString(CultureInfo.InvariantCulture)
+ ,evt.StartTime.Year==1?"":evt.StartTime.ToString("yyyy-MM-dd hh:mm:ss.ffff")
+ ,evt.EndTime.Year==1?"":evt.EndTime.ToString("yyyy-MM-dd hh:mm:ss.ffff")
, m_EventCount.ToString(CultureInfo.InvariantCulture),"","",""
}
);
@@ -305,13 +313,24 @@ namespace ExpressProfiler
{
m_Rdr.SetEvent(ProfilerEvents.SecurityAudit.AuditLogin,
ProfilerEventColumns.TextData, ProfilerEventColumns.LoginName,
- ProfilerEventColumns.SPID);
+ ProfilerEventColumns.SPID
+ ,ProfilerEventColumns.StartTime,ProfilerEventColumns.EndTime
+ );
+ m_Rdr.SetEvent(ProfilerEvents.SecurityAudit.AuditLogout,
+ ProfilerEventColumns.CPU, ProfilerEventColumns.Reads,
+ ProfilerEventColumns.Writes, ProfilerEventColumns.Duration,
+ ProfilerEventColumns.LoginName,
+ ProfilerEventColumns.SPID
+ , ProfilerEventColumns.StartTime, ProfilerEventColumns.EndTime
+ );
}
if (mnExistingConnection.Checked)
{
m_Rdr.SetEvent(ProfilerEvents.Sessions.ExistingConnection,
- ProfilerEventColumns.TextData, ProfilerEventColumns.SPID);
+ ProfilerEventColumns.TextData, ProfilerEventColumns.SPID
+ , ProfilerEventColumns.StartTime, ProfilerEventColumns.EndTime
+ );
}
if (mnBatchCompleted.Checked)
{
@@ -319,21 +338,27 @@ namespace ExpressProfiler
ProfilerEventColumns.TextData, ProfilerEventColumns.LoginName,
ProfilerEventColumns.CPU, ProfilerEventColumns.Reads,
ProfilerEventColumns.Writes, ProfilerEventColumns.Duration,
- ProfilerEventColumns.SPID,
- ProfilerEventColumns.StartTime);
+ ProfilerEventColumns.SPID
+ , ProfilerEventColumns.StartTime, ProfilerEventColumns.EndTime
+ );
}
if (mnBatchStarting.Checked)
{
m_Rdr.SetEvent(ProfilerEvents.TSQL.SQLBatchStarting,
ProfilerEventColumns.TextData, ProfilerEventColumns.LoginName,
- ProfilerEventColumns.SPID);
+ ProfilerEventColumns.SPID
+ ,ProfilerEventColumns.StartTime,ProfilerEventColumns.EndTime
+ );
}
if (mnRPCStarting.Checked)
{
m_Rdr.SetEvent(ProfilerEvents.StoredProcedures.RPCStarting,
ProfilerEventColumns.TextData, ProfilerEventColumns.LoginName,
- ProfilerEventColumns.SPID);
+ ProfilerEventColumns.SPID
+ ,ProfilerEventColumns.StartTime,ProfilerEventColumns.EndTime
+ );
}
+
}
if (mnRPCCompleted.Checked)
{
@@ -341,7 +366,29 @@ namespace ExpressProfiler
ProfilerEventColumns.TextData, ProfilerEventColumns.LoginName,
ProfilerEventColumns.CPU, ProfilerEventColumns.Reads,
ProfilerEventColumns.Writes, ProfilerEventColumns.Duration,
- ProfilerEventColumns.SPID);
+ ProfilerEventColumns.SPID
+ ,ProfilerEventColumns.StartTime,ProfilerEventColumns.EndTime
+ );
+ }
+ if (mnSPStmtCompleted.Checked)
+ {
+ m_Rdr.SetEvent(ProfilerEvents.StoredProcedures.SPStmtCompleted,
+ ProfilerEventColumns.TextData, ProfilerEventColumns.LoginName,
+ ProfilerEventColumns.CPU, ProfilerEventColumns.Reads,
+ ProfilerEventColumns.Writes, ProfilerEventColumns.Duration,
+ ProfilerEventColumns.SPID
+ , ProfilerEventColumns.StartTime, ProfilerEventColumns.EndTime
+ );
+ }
+ if (mnSPStmtStarting.Checked)
+ {
+ m_Rdr.SetEvent(ProfilerEvents.StoredProcedures.SPStmtStarting,
+ ProfilerEventColumns.TextData, ProfilerEventColumns.LoginName,
+ ProfilerEventColumns.CPU, ProfilerEventColumns.Reads,
+ ProfilerEventColumns.Writes, ProfilerEventColumns.Duration,
+ ProfilerEventColumns.SPID
+ , ProfilerEventColumns.StartTime, ProfilerEventColumns.EndTime
+ );
}
int dur;
if (Int32.TryParse(edDuration.Text, out dur))
@@ -371,13 +418,15 @@ namespace ExpressProfiler
if (mnRPCCompleted.Checked) eventMask |= 8;
if (mnBatchStarting.Checked) eventMask |= 16;
if (mnBatchCompleted.Checked) eventMask |= 32;
+ if (mnSPStmtCompleted.Checked) eventMask |= 64;
+ if (mnSPStmtStarting.Checked) eventMask |= 128;
Properties.Settings.Default.EventMask = eventMask;
Properties.Settings.Default.Save();
UpdateButtons();
}
private void StartProfilerThread()
- {
+ {
if(m_Rdr!=null)
{
m_Rdr.Close();