diff --git a/Ticket Reservations/DemoWorkload/App.Config b/Ticket Reservations/DemoWorkload/App.Config index 58bcf3b3d5..c4912ea93c 100644 --- a/Ticket Reservations/DemoWorkload/App.Config +++ b/Ticket Reservations/DemoWorkload/App.Config @@ -1,35 +1,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Ticket Reservations/DemoWorkload/DemoWorkload.csproj b/Ticket Reservations/DemoWorkload/DemoWorkload.csproj index b2048e6349..922dbce92a 100644 --- a/Ticket Reservations/DemoWorkload/DemoWorkload.csproj +++ b/Ticket Reservations/DemoWorkload/DemoWorkload.csproj @@ -1,208 +1,207 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - {2881A3C4-9153-46F2-8196-9929ED9C17D6} - WinExe - Properties - DemoWorkload - DemoWorkload - v4.6 - - - 512 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - x86 - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - DemoWorkload.ruleset - - - x86 - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false - DemoWorkload.ruleset - - - true - bin\Debug\ - DEBUG;TRACE - full - AnyCPU - bin\Debug\WindowsFormsApplication2.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - DemoWorkload.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - true - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - false - true - - - bin\Release\ - TRACE - true - pdbonly - AnyCPU - bin\Release\WindowsFormsApplication2.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - DemoWorkload.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - true - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - false - - - Resources\sqlserver.ico - - - false - - - false - - - - - - - - ..\packages\CircularGauge.1.0.0\Lib\Net40-Client\CircularGauge.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - - - Form - - - FrmConfig.cs - - - Form - - - FrmMain.cs - - - - - FrmConfig.cs - - - FrmMain.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - - - - - - - - - - False - Microsoft .NET Framework 4.6 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - - - - + + + + Debug + x86 + 8.0.30703 + 2.0 + {2881A3C4-9153-46F2-8196-9929ED9C17D6} + WinExe + Properties + DemoWorkload + DemoWorkload + v4.6 + + + 512 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + DemoWorkload.ruleset + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + DemoWorkload.ruleset + + + true + bin\Debug\ + DEBUG;TRACE + full + AnyCPU + bin\Debug\WindowsFormsApplication2.exe.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + DemoWorkload.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + false + false + true + + + bin\Release\ + TRACE + true + pdbonly + AnyCPU + bin\Release\WindowsFormsApplication2.exe.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + DemoWorkload.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + false + false + + + Resources\sqlserver.ico + + + false + + + false + + + + + + + + ..\packages\CircularGauge.1.0.0\Lib\Net40-Client\CircularGauge.dll + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + FrmConfig.cs + + + Form + + + FrmMain.cs + + + + + FrmConfig.cs + + + FrmMain.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + False + Microsoft .NET Framework 4.6 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + \ No newline at end of file diff --git a/Ticket Reservations/DemoWorkload/FrmMain.Designer.cs b/Ticket Reservations/DemoWorkload/FrmMain.Designer.cs index 1a7e1895cc..2fad37814a 100644 --- a/Ticket Reservations/DemoWorkload/FrmMain.Designer.cs +++ b/Ticket Reservations/DemoWorkload/FrmMain.Designer.cs @@ -1,462 +1,478 @@ -namespace DemoWorkload -{ - partial class FrmMain - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend(); - System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series(); - System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint1 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 0D); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series(); - System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint2 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 1D); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series(); - System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint3 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 1D); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain)); - this.btnRun = new System.Windows.Forms.Button(); - this.btnStop = new System.Windows.Forms.Button(); - this.lbResults = new System.Windows.Forms.Label(); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.configurationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ErrorMessages = new System.Windows.Forms.TextBox(); - this.chtTPS = new System.Windows.Forms.DataVisualization.Charting.Chart(); - this.statusStrip1 = new System.Windows.Forms.StatusStrip(); - this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); - this.lblTime = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolStripStatusLabel3 = new System.Windows.Forms.ToolStripStatusLabel(); - this.lblThreads = new System.Windows.Forms.ToolStripStatusLabel(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.label4 = new System.Windows.Forms.Label(); - this.speedDialPanel = new System.Windows.Forms.Panel(); - this.label2 = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); - this.btnToggle = new System.Windows.Forms.Button(); - this.chtLatches = new System.Windows.Forms.DataVisualization.Charting.Chart(); - this.chtCPU = new System.Windows.Forms.DataVisualization.Charting.Chart(); - this.label3 = new System.Windows.Forms.Label(); - this.menuStrip1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chtTPS)).BeginInit(); - this.statusStrip1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chtLatches)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.chtCPU)).BeginInit(); - this.SuspendLayout(); - // - // btnRun - // - this.btnRun.BackColor = System.Drawing.Color.White; - this.btnRun.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnRun.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnRun.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.btnRun.Location = new System.Drawing.Point(601, 16); - this.btnRun.Name = "btnRun"; - this.btnRun.Size = new System.Drawing.Size(84, 30); - this.btnRun.TabIndex = 3; - this.btnRun.Text = "Start"; - this.btnRun.UseVisualStyleBackColor = false; - this.btnRun.Click += new System.EventHandler(this.OnRunClick); - // - // btnStop - // - this.btnStop.BackColor = System.Drawing.Color.White; - this.btnStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnStop.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnStop.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.btnStop.Location = new System.Drawing.Point(692, 16); - this.btnStop.Name = "btnStop"; - this.btnStop.Size = new System.Drawing.Size(82, 30); - this.btnStop.TabIndex = 25; - this.btnStop.Tag = "Data"; - this.btnStop.Text = "Stop"; - this.btnStop.UseVisualStyleBackColor = false; - this.btnStop.Click += new System.EventHandler(this.btnStop_Click); - // - // lbResults - // - this.lbResults.BackColor = System.Drawing.Color.Transparent; - this.lbResults.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbResults.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(166))))); - this.lbResults.Location = new System.Drawing.Point(1, 3); - this.lbResults.Name = "lbResults"; - this.lbResults.Size = new System.Drawing.Size(174, 53); - this.lbResults.TabIndex = 31; - this.lbResults.Text = "Baseline"; - this.lbResults.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // menuStrip1 - // - this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.optionsToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Padding = new System.Windows.Forms.Padding(6, 1, 0, 1); - this.menuStrip1.Size = new System.Drawing.Size(815, 24); - this.menuStrip1.TabIndex = 32; - this.menuStrip1.Text = "menuStrip1"; - // - // optionsToolStripMenuItem - // - this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.configurationToolStripMenuItem, - this.exitToolStripMenuItem}); - this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; - this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 22); - this.optionsToolStripMenuItem.Text = "Options"; - // - // configurationToolStripMenuItem - // - this.configurationToolStripMenuItem.Name = "configurationToolStripMenuItem"; - this.configurationToolStripMenuItem.Size = new System.Drawing.Size(148, 22); - this.configurationToolStripMenuItem.Text = "Configuration"; - this.configurationToolStripMenuItem.Click += new System.EventHandler(this.configurationToolStripMenuItem_Click); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(148, 22); - this.exitToolStripMenuItem.Text = "Exit"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); - // - // ErrorMessages - // - this.ErrorMessages.Location = new System.Drawing.Point(846, 79); - this.ErrorMessages.Multiline = true; - this.ErrorMessages.Name = "ErrorMessages"; - this.ErrorMessages.ReadOnly = true; - this.ErrorMessages.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.ErrorMessages.Size = new System.Drawing.Size(360, 272); - this.ErrorMessages.TabIndex = 5; - this.ErrorMessages.TabStop = false; - // - // chtTPS - // - this.chtTPS.BackColor = System.Drawing.Color.Transparent; - chartArea1.AxisX.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.AxisX.MajorGrid.Interval = 0D; - chartArea1.AxisX.MajorGrid.IntervalOffset = 0D; - chartArea1.AxisX.MajorGrid.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Auto; - chartArea1.AxisX.MajorTickMark.Enabled = false; - chartArea1.AxisX.Maximum = 100D; - chartArea1.AxisX.Minimum = 0D; - chartArea1.AxisY.MajorGrid.Enabled = false; - chartArea1.AxisY.Minimum = 0D; - chartArea1.BackColor = System.Drawing.Color.Transparent; - chartArea1.Name = "ChartArea1"; - this.chtTPS.ChartAreas.Add(chartArea1); - legend1.BackColor = System.Drawing.Color.Transparent; - legend1.Enabled = false; - legend1.Name = "Legend1"; - this.chtTPS.Legends.Add(legend1); - this.chtTPS.Location = new System.Drawing.Point(337, 89); - this.chtTPS.Name = "chtTPS"; - this.chtTPS.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.None; - series1.ChartArea = "ChartArea1"; - series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Area; - series1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(166))))); - series1.Legend = "Legend1"; - series1.MarkerBorderWidth = 3; - series1.Name = "TPS"; - series1.Points.Add(dataPoint1); - this.chtTPS.Series.Add(series1); - this.chtTPS.Size = new System.Drawing.Size(348, 268); - this.chtTPS.TabIndex = 33; - this.chtTPS.Text = "chart1"; - // - // statusStrip1 - // - this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); - this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripStatusLabel1, - this.lblTime, - this.toolStripStatusLabel3, - this.lblThreads}); - this.statusStrip1.Location = new System.Drawing.Point(0, 645); - this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Size = new System.Drawing.Size(815, 22); - this.statusStrip1.TabIndex = 35; - this.statusStrip1.Text = "statusStrip1"; - // - // toolStripStatusLabel1 - // - this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; - this.toolStripStatusLabel1.Size = new System.Drawing.Size(80, 17); - this.toolStripStatusLabel1.Text = "Elapsed Time:"; - // - // lblTime - // - this.lblTime.Name = "lblTime"; - this.lblTime.Size = new System.Drawing.Size(13, 17); - this.lblTime.Text = "0"; - // - // toolStripStatusLabel3 - // - this.toolStripStatusLabel3.Name = "toolStripStatusLabel3"; - this.toolStripStatusLabel3.Size = new System.Drawing.Size(100, 17); - this.toolStripStatusLabel3.Text = "Running Threads:"; - // - // lblThreads - // - this.lblThreads.Name = "lblThreads"; - this.lblThreads.Size = new System.Drawing.Size(13, 17); - this.lblThreads.Text = "0"; - // - // splitContainer1 - // - this.splitContainer1.BackColor = System.Drawing.Color.Transparent; - this.splitContainer1.Location = new System.Drawing.Point(0, 25); - this.splitContainer1.Name = "splitContainer1"; - this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; - this.splitContainer1.Panel1.Controls.Add(this.label4); - this.splitContainer1.Panel1.Controls.Add(this.speedDialPanel); - this.splitContainer1.Panel1.Controls.Add(this.label2); - this.splitContainer1.Panel1.Controls.Add(this.label1); - this.splitContainer1.Panel1.Controls.Add(this.btnToggle); - this.splitContainer1.Panel1.Controls.Add(this.chtTPS); - this.splitContainer1.Panel1.Controls.Add(this.btnRun); - this.splitContainer1.Panel1.Controls.Add(this.btnStop); - this.splitContainer1.Panel1.Controls.Add(this.lbResults); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.chtLatches); - this.splitContainer1.Panel2.Controls.Add(this.chtCPU); - this.splitContainer1.Size = new System.Drawing.Size(786, 655); - this.splitContainer1.SplitterDistance = 399; - this.splitContainer1.TabIndex = 39; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label4.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label4.Location = new System.Drawing.Point(117, 325); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(122, 13); - this.label4.TabIndex = 45; - this.label4.Text = "Transactions/sec x1000"; - // - // speedDialPanel - // - this.speedDialPanel.Location = new System.Drawing.Point(21, 86); - this.speedDialPanel.Margin = new System.Windows.Forms.Padding(2); - this.speedDialPanel.Name = "speedDialPanel"; - this.speedDialPanel.Size = new System.Drawing.Size(319, 260); - this.speedDialPanel.TabIndex = 43; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label2.Location = new System.Drawing.Point(354, 69); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(124, 17); - this.label2.TabIndex = 42; - this.label2.Text = "Transactions / sec"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label1.Location = new System.Drawing.Point(20, 68); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(260, 17); - this.label1.TabIndex = 41; - this.label1.Text = "Increase in performance since last reset"; - // - // btnToggle - // - this.btnToggle.BackColor = System.Drawing.Color.White; - this.btnToggle.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnToggle.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnToggle.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.btnToggle.Location = new System.Drawing.Point(18, 362); - this.btnToggle.Name = "btnToggle"; - this.btnToggle.Size = new System.Drawing.Size(149, 30); - this.btnToggle.TabIndex = 39; - this.btnToggle.Text = "Show diagnostics "; - this.btnToggle.UseVisualStyleBackColor = false; - this.btnToggle.Click += new System.EventHandler(this.btnToggle_Click); - // - // chtLatches - // - chartArea2.AxisX.Enabled = System.Windows.Forms.DataVisualization.Charting.AxisEnabled.False; - chartArea2.AxisX.LabelStyle.Enabled = false; - chartArea2.AxisX.LineColor = System.Drawing.Color.White; - chartArea2.AxisX.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; - chartArea2.AxisX.LineWidth = 0; - chartArea2.AxisX.MajorGrid.Enabled = false; - chartArea2.AxisX.MajorTickMark.Enabled = false; - chartArea2.AxisY.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; - chartArea2.AxisY.MajorGrid.Enabled = false; - chartArea2.AxisY.MajorTickMark.Enabled = false; - chartArea2.AxisY.Maximum = 170000D; - chartArea2.AxisY.Minimum = 0D; - chartArea2.AxisY.Title = "Current latches / sec"; - chartArea2.AxisY.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10F); - chartArea2.AxisY.TitleForeColor = System.Drawing.SystemColors.ControlDarkDark; - chartArea2.BorderWidth = 0; - chartArea2.Name = "ChartArea1"; - this.chtLatches.ChartAreas.Add(chartArea2); - this.chtLatches.Location = new System.Drawing.Point(0, 120); - this.chtLatches.Name = "chtLatches"; - series2.ChartArea = "ChartArea1"; - series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar; - series2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(73)))), ((int)(((byte)(0))))); - series2.Name = "Latches"; - series2.Points.Add(dataPoint2); - this.chtLatches.Series.Add(series2); - this.chtLatches.Size = new System.Drawing.Size(685, 84); - this.chtLatches.TabIndex = 42; - this.chtLatches.Text = "chart1"; - // - // chtCPU - // - this.chtCPU.BackColor = System.Drawing.Color.Transparent; - chartArea3.AxisX.LabelStyle.Enabled = false; - chartArea3.AxisX.LineColor = System.Drawing.Color.White; - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.AxisX.MajorTickMark.Enabled = false; - chartArea3.AxisX.MaximumAutoSize = 10F; - chartArea3.AxisY.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; - chartArea3.AxisY.MajorGrid.Enabled = false; - chartArea3.AxisY.MajorTickMark.Enabled = false; - chartArea3.AxisY.Maximum = 100D; - chartArea3.AxisY.Minimum = 0D; - chartArea3.AxisY.Title = "Current % CPU Usage"; - chartArea3.AxisY.TitleForeColor = System.Drawing.SystemColors.ControlDarkDark; - chartArea3.BackColor = System.Drawing.Color.White; - chartArea3.BorderColor = System.Drawing.Color.White; - chartArea3.Name = "ChartArea1"; - chartArea3.Position.Auto = false; - chartArea3.Position.Height = 30F; - chartArea3.Position.Width = 77.49682F; - chartArea3.Position.X = 3F; - chartArea3.Position.Y = 1F; - this.chtCPU.ChartAreas.Add(chartArea3); - this.chtCPU.Dock = System.Windows.Forms.DockStyle.Fill; - this.chtCPU.Location = new System.Drawing.Point(0, 0); - this.chtCPU.Name = "chtCPU"; - this.chtCPU.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.None; - series3.ChartArea = "ChartArea1"; - series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar; - series3.Color = System.Drawing.Color.FromArgb(((int)(((byte)(140)))), ((int)(((byte)(198)))), ((int)(((byte)(0))))); - series3.Name = "CPUUsage"; - series3.Points.Add(dataPoint3); - this.chtCPU.Series.Add(series3); - this.chtCPU.Size = new System.Drawing.Size(786, 252); - this.chtCPU.TabIndex = 41; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.BackColor = System.Drawing.Color.Transparent; - this.label3.Location = new System.Drawing.Point(843, 40); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(83, 13); - this.label3.TabIndex = 11; - this.label3.Text = "Error Messages:"; - // - // Form1 - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.White; - this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.ClientSize = new System.Drawing.Size(815, 667); - this.Controls.Add(this.statusStrip1); - this.Controls.Add(this.splitContainer1); - this.Controls.Add(this.label3); - this.Controls.Add(this.ErrorMessages); - this.Controls.Add(this.menuStrip1); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MainMenuStrip = this.menuStrip1; - this.Name = "Form1"; - this.Text = "Blue Yonder Ticket Reservation Simulator"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMain_FormClosing); - this.Load += new System.EventHandler(this.FrmMain_Load); - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chtTPS)).EndInit(); - this.statusStrip1.ResumeLayout(false); - this.statusStrip1.PerformLayout(); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel1.PerformLayout(); - this.splitContainer1.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); - this.splitContainer1.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chtLatches)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.chtCPU)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Button btnRun; - private System.Windows.Forms.Button btnStop; - private System.Windows.Forms.Label lbResults; - private System.Windows.Forms.MenuStrip menuStrip1; - private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem configurationToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.TextBox ErrorMessages; - private System.Windows.Forms.DataVisualization.Charting.Chart chtTPS; - private System.Windows.Forms.StatusStrip statusStrip1; - private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; - private System.Windows.Forms.ToolStripStatusLabel lblTime; - private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel3; - private System.Windows.Forms.ToolStripStatusLabel lblThreads; - private System.Windows.Forms.SplitContainer splitContainer1; - private System.Windows.Forms.Button btnToggle; - private System.Windows.Forms.DataVisualization.Charting.Chart chtCPU; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.DataVisualization.Charting.Chart chtLatches; - private System.Windows.Forms.Panel speedDialPanel; - private System.Windows.Forms.Label label4; - } -} - +namespace DemoWorkload +{ + partial class FrmMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend(); + System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint1 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 0D); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint2 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 1D); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint3 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 1D); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain)); + this.btnRun = new System.Windows.Forms.Button(); + this.btnStop = new System.Windows.Forms.Button(); + this.lbResults = new System.Windows.Forms.Label(); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.configurationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ErrorMessages = new System.Windows.Forms.TextBox(); + this.chtTPS = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.lblTime = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabel3 = new System.Windows.Forms.ToolStripStatusLabel(); + this.lblThreads = new System.Windows.Forms.ToolStripStatusLabel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.label4 = new System.Windows.Forms.Label(); + this.speedDialPanel = new System.Windows.Forms.Panel(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.btnToggle = new System.Windows.Forms.Button(); + this.chtLatches = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.chtCPU = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.label3 = new System.Windows.Forms.Label(); + this.menuStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chtTPS)).BeginInit(); + this.statusStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chtLatches)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.chtCPU)).BeginInit(); + this.SuspendLayout(); + // + // btnRun + // + this.btnRun.BackColor = System.Drawing.Color.White; + this.btnRun.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnRun.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnRun.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.btnRun.Location = new System.Drawing.Point(801, 20); + this.btnRun.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnRun.Name = "btnRun"; + this.btnRun.Size = new System.Drawing.Size(112, 37); + this.btnRun.TabIndex = 3; + this.btnRun.Text = "Start"; + this.btnRun.UseVisualStyleBackColor = false; + this.btnRun.Click += new System.EventHandler(this.OnRunClick); + // + // btnStop + // + this.btnStop.BackColor = System.Drawing.Color.White; + this.btnStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnStop.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnStop.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.btnStop.Location = new System.Drawing.Point(923, 20); + this.btnStop.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnStop.Name = "btnStop"; + this.btnStop.Size = new System.Drawing.Size(109, 37); + this.btnStop.TabIndex = 25; + this.btnStop.Tag = "Data"; + this.btnStop.Text = "Stop"; + this.btnStop.UseVisualStyleBackColor = false; + this.btnStop.Click += new System.EventHandler(this.btnStop_Click); + // + // lbResults + // + this.lbResults.BackColor = System.Drawing.Color.Transparent; + this.lbResults.Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbResults.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(166))))); + this.lbResults.Location = new System.Drawing.Point(-47, 4); + this.lbResults.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbResults.Name = "lbResults"; + this.lbResults.Size = new System.Drawing.Size(313, 65); + this.lbResults.TabIndex = 31; + this.lbResults.Text = "Baseline"; + this.lbResults.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // menuStrip1 + // + this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.optionsToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Padding = new System.Windows.Forms.Padding(8, 1, 0, 1); + this.menuStrip1.Size = new System.Drawing.Size(1087, 26); + this.menuStrip1.TabIndex = 32; + this.menuStrip1.Text = "menuStrip1"; + // + // optionsToolStripMenuItem + // + this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.configurationToolStripMenuItem, + this.exitToolStripMenuItem}); + this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; + this.optionsToolStripMenuItem.Size = new System.Drawing.Size(73, 24); + this.optionsToolStripMenuItem.Text = "Options"; + // + // configurationToolStripMenuItem + // + this.configurationToolStripMenuItem.Name = "configurationToolStripMenuItem"; + this.configurationToolStripMenuItem.Size = new System.Drawing.Size(175, 26); + this.configurationToolStripMenuItem.Text = "Configuration"; + this.configurationToolStripMenuItem.Click += new System.EventHandler(this.configurationToolStripMenuItem_Click); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(175, 26); + this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // ErrorMessages + // + this.ErrorMessages.Location = new System.Drawing.Point(1128, 97); + this.ErrorMessages.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.ErrorMessages.Multiline = true; + this.ErrorMessages.Name = "ErrorMessages"; + this.ErrorMessages.ReadOnly = true; + this.ErrorMessages.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.ErrorMessages.Size = new System.Drawing.Size(479, 334); + this.ErrorMessages.TabIndex = 5; + this.ErrorMessages.TabStop = false; + // + // chtTPS + // + this.chtTPS.BackColor = System.Drawing.Color.Transparent; + chartArea1.AxisX.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.AxisX.MajorGrid.Interval = 0D; + chartArea1.AxisX.MajorGrid.IntervalOffset = 0D; + chartArea1.AxisX.MajorGrid.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Auto; + chartArea1.AxisX.MajorTickMark.Enabled = false; + chartArea1.AxisX.Maximum = 100D; + chartArea1.AxisX.Minimum = 0D; + chartArea1.AxisY.MajorGrid.Enabled = false; + chartArea1.AxisY.Minimum = 0D; + chartArea1.BackColor = System.Drawing.Color.Transparent; + chartArea1.Name = "ChartArea1"; + this.chtTPS.ChartAreas.Add(chartArea1); + legend1.BackColor = System.Drawing.Color.Transparent; + legend1.Enabled = false; + legend1.Name = "Legend1"; + this.chtTPS.Legends.Add(legend1); + this.chtTPS.Location = new System.Drawing.Point(449, 110); + this.chtTPS.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.chtTPS.Name = "chtTPS"; + this.chtTPS.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.None; + series1.ChartArea = "ChartArea1"; + series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Area; + series1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(166))))); + series1.Legend = "Legend1"; + series1.MarkerBorderWidth = 3; + series1.Name = "TPS"; + series1.Points.Add(dataPoint1); + this.chtTPS.Series.Add(series1); + this.chtTPS.Size = new System.Drawing.Size(464, 330); + this.chtTPS.TabIndex = 33; + this.chtTPS.Text = "chart1"; + // + // statusStrip1 + // + this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabel1, + this.lblTime, + this.toolStripStatusLabel3, + this.lblThreads}); + this.statusStrip1.Location = new System.Drawing.Point(0, 796); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 19, 0); + this.statusStrip1.Size = new System.Drawing.Size(1087, 25); + this.statusStrip1.TabIndex = 35; + this.statusStrip1.Text = "statusStrip1"; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(101, 20); + this.toolStripStatusLabel1.Text = "Elapsed Time:"; + // + // lblTime + // + this.lblTime.Name = "lblTime"; + this.lblTime.Size = new System.Drawing.Size(17, 20); + this.lblTime.Text = "0"; + // + // toolStripStatusLabel3 + // + this.toolStripStatusLabel3.Name = "toolStripStatusLabel3"; + this.toolStripStatusLabel3.Size = new System.Drawing.Size(122, 20); + this.toolStripStatusLabel3.Text = "Running Threads:"; + // + // lblThreads + // + this.lblThreads.Name = "lblThreads"; + this.lblThreads.Size = new System.Drawing.Size(17, 20); + this.lblThreads.Text = "0"; + // + // splitContainer1 + // + this.splitContainer1.BackColor = System.Drawing.Color.Transparent; + this.splitContainer1.Location = new System.Drawing.Point(0, 31); + this.splitContainer1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; + this.splitContainer1.Panel1.Controls.Add(this.label4); + this.splitContainer1.Panel1.Controls.Add(this.speedDialPanel); + this.splitContainer1.Panel1.Controls.Add(this.label2); + this.splitContainer1.Panel1.Controls.Add(this.label1); + this.splitContainer1.Panel1.Controls.Add(this.btnToggle); + this.splitContainer1.Panel1.Controls.Add(this.chtTPS); + this.splitContainer1.Panel1.Controls.Add(this.btnRun); + this.splitContainer1.Panel1.Controls.Add(this.btnStop); + this.splitContainer1.Panel1.Controls.Add(this.lbResults); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.chtLatches); + this.splitContainer1.Panel2.Controls.Add(this.chtCPU); + this.splitContainer1.Size = new System.Drawing.Size(1048, 806); + this.splitContainer1.SplitterDistance = 490; + this.splitContainer1.SplitterWidth = 5; + this.splitContainer1.TabIndex = 39; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label4.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label4.Location = new System.Drawing.Point(156, 400); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(158, 17); + this.label4.TabIndex = 45; + this.label4.Text = "Transactions/sec x1000"; + // + // speedDialPanel + // + this.speedDialPanel.Location = new System.Drawing.Point(28, 106); + this.speedDialPanel.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.speedDialPanel.Name = "speedDialPanel"; + this.speedDialPanel.Size = new System.Drawing.Size(425, 320); + this.speedDialPanel.TabIndex = 43; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label2.Location = new System.Drawing.Point(472, 85); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(148, 20); + this.label2.TabIndex = 42; + this.label2.Text = "Transactions / sec"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label1.Location = new System.Drawing.Point(27, 84); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(310, 20); + this.label1.TabIndex = 41; + this.label1.Text = "Increase in performance since last reset"; + // + // btnToggle + // + this.btnToggle.BackColor = System.Drawing.Color.White; + this.btnToggle.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnToggle.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnToggle.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.btnToggle.Location = new System.Drawing.Point(24, 446); + this.btnToggle.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnToggle.Name = "btnToggle"; + this.btnToggle.Size = new System.Drawing.Size(199, 37); + this.btnToggle.TabIndex = 39; + this.btnToggle.Text = "Show diagnostics "; + this.btnToggle.UseVisualStyleBackColor = false; + this.btnToggle.Click += new System.EventHandler(this.btnToggle_Click); + // + // chtLatches + // + chartArea2.AxisX.Enabled = System.Windows.Forms.DataVisualization.Charting.AxisEnabled.False; + chartArea2.AxisX.LabelStyle.Enabled = false; + chartArea2.AxisX.LineColor = System.Drawing.Color.White; + chartArea2.AxisX.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; + chartArea2.AxisX.LineWidth = 0; + chartArea2.AxisX.MajorGrid.Enabled = false; + chartArea2.AxisX.MajorTickMark.Enabled = false; + chartArea2.AxisY.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; + chartArea2.AxisY.MajorGrid.Enabled = false; + chartArea2.AxisY.MajorTickMark.Enabled = false; + chartArea2.AxisY.Maximum = 170000D; + chartArea2.AxisY.Minimum = 0D; + chartArea2.AxisY.Title = "Current latches / sec"; + chartArea2.AxisY.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10F); + chartArea2.AxisY.TitleForeColor = System.Drawing.SystemColors.ControlDarkDark; + chartArea2.BorderWidth = 0; + chartArea2.Name = "ChartArea1"; + this.chtLatches.ChartAreas.Add(chartArea2); + this.chtLatches.Location = new System.Drawing.Point(0, 148); + this.chtLatches.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.chtLatches.Name = "chtLatches"; + series2.ChartArea = "ChartArea1"; + series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar; + series2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(73)))), ((int)(((byte)(0))))); + series2.Name = "Latches"; + series2.Points.Add(dataPoint2); + this.chtLatches.Series.Add(series2); + this.chtLatches.Size = new System.Drawing.Size(913, 103); + this.chtLatches.TabIndex = 42; + this.chtLatches.Text = "chart1"; + // + // chtCPU + // + this.chtCPU.BackColor = System.Drawing.Color.Transparent; + chartArea3.AxisX.LabelStyle.Enabled = false; + chartArea3.AxisX.LineColor = System.Drawing.Color.White; + chartArea3.AxisX.MajorGrid.Enabled = false; + chartArea3.AxisX.MajorTickMark.Enabled = false; + chartArea3.AxisX.MaximumAutoSize = 10F; + chartArea3.AxisY.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet; + chartArea3.AxisY.MajorGrid.Enabled = false; + chartArea3.AxisY.MajorTickMark.Enabled = false; + chartArea3.AxisY.Maximum = 100D; + chartArea3.AxisY.Minimum = 0D; + chartArea3.AxisY.Title = "Current % CPU Usage"; + chartArea3.AxisY.TitleForeColor = System.Drawing.SystemColors.ControlDarkDark; + chartArea3.BackColor = System.Drawing.Color.White; + chartArea3.BorderColor = System.Drawing.Color.White; + chartArea3.Name = "ChartArea1"; + chartArea3.Position.Auto = false; + chartArea3.Position.Height = 30F; + chartArea3.Position.Width = 77.49682F; + chartArea3.Position.X = 3F; + chartArea3.Position.Y = 1F; + this.chtCPU.ChartAreas.Add(chartArea3); + this.chtCPU.Dock = System.Windows.Forms.DockStyle.Fill; + this.chtCPU.Location = new System.Drawing.Point(0, 0); + this.chtCPU.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.chtCPU.Name = "chtCPU"; + this.chtCPU.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.None; + series3.ChartArea = "ChartArea1"; + series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar; + series3.Color = System.Drawing.Color.FromArgb(((int)(((byte)(140)))), ((int)(((byte)(198)))), ((int)(((byte)(0))))); + series3.Name = "CPUUsage"; + series3.Points.Add(dataPoint3); + this.chtCPU.Series.Add(series3); + this.chtCPU.Size = new System.Drawing.Size(1048, 311); + this.chtCPU.TabIndex = 41; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.BackColor = System.Drawing.Color.Transparent; + this.label3.Location = new System.Drawing.Point(1124, 49); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(112, 17); + this.label3.TabIndex = 11; + this.label3.Text = "Error Messages:"; + // + // FrmMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.White; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(1087, 821); + this.Controls.Add(this.statusStrip1); + this.Controls.Add(this.splitContainer1); + this.Controls.Add(this.label3); + this.Controls.Add(this.ErrorMessages); + this.Controls.Add(this.menuStrip1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MainMenuStrip = this.menuStrip1; + this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.Name = "FrmMain"; + this.Text = "Blue Yonder Ticket Reservation Simulator"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMain_FormClosing); + this.Load += new System.EventHandler(this.FrmMain_Load); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chtTPS)).EndInit(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel1.PerformLayout(); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chtLatches)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.chtCPU)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button btnRun; + private System.Windows.Forms.Button btnStop; + private System.Windows.Forms.Label lbResults; + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem configurationToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.TextBox ErrorMessages; + private System.Windows.Forms.DataVisualization.Charting.Chart chtTPS; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.ToolStripStatusLabel lblTime; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel3; + private System.Windows.Forms.ToolStripStatusLabel lblThreads; + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.Button btnToggle; + private System.Windows.Forms.DataVisualization.Charting.Chart chtCPU; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.DataVisualization.Charting.Chart chtLatches; + private System.Windows.Forms.Panel speedDialPanel; + private System.Windows.Forms.Label label4; + } +} + diff --git a/Ticket Reservations/DemoWorkload/Properties/AssemblyInfo.cs b/Ticket Reservations/DemoWorkload/Properties/AssemblyInfo.cs index c6b962064b..fc31df96ab 100644 --- a/Ticket Reservations/DemoWorkload/Properties/AssemblyInfo.cs +++ b/Ticket Reservations/DemoWorkload/Properties/AssemblyInfo.cs @@ -1,39 +1,39 @@ -using System.Resources; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("DemoWorkload")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft IT")] -[assembly: AssemblyProduct("DemoWorkload")] -[assembly: AssemblyCopyright("Copyright © Microsoft IT 2012")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("b5dbed29-db11-442b-bd31-d0e6e97feff7")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] -[assembly: NeutralResourcesLanguage("en-US")] - +using System.Resources; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("DemoWorkload")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("DemoWorkload")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("b5dbed29-db11-442b-bd31-d0e6e97feff7")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: NeutralResourcesLanguage("en-US")] + diff --git a/Ticket Reservations/DemoWorkload/Properties/DataSources/hekaton_demoEntities.datasource b/Ticket Reservations/DemoWorkload/Properties/DataSources/hekaton_demoEntities.datasource deleted file mode 100644 index 8c7bfbee57..0000000000 --- a/Ticket Reservations/DemoWorkload/Properties/DataSources/hekaton_demoEntities.datasource +++ /dev/null @@ -1,10 +0,0 @@ - - - - WindowsFormsApplication2.hekaton_demoEntities, Model1.Designer.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - \ No newline at end of file diff --git a/Ticket Reservations/DemoWorkload/Properties/DataSources/hekaton_demoEntities1.datasource b/Ticket Reservations/DemoWorkload/Properties/DataSources/hekaton_demoEntities1.datasource deleted file mode 100644 index 6cb599f844..0000000000 --- a/Ticket Reservations/DemoWorkload/Properties/DataSources/hekaton_demoEntities1.datasource +++ /dev/null @@ -1,10 +0,0 @@ - - - - HekatonDemoFramework.hekaton_demoEntities, Model1.Designer.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - \ No newline at end of file diff --git a/Ticket Reservations/TicketReservations/TicketReservations.sqlproj b/Ticket Reservations/TicketReservations/TicketReservations.sqlproj index 93d2f318ef..111b449025 100644 --- a/Ticket Reservations/TicketReservations/TicketReservations.sqlproj +++ b/Ticket Reservations/TicketReservations/TicketReservations.sqlproj @@ -1,75 +1,76 @@ - - - - - Debug - AnyCPU - TicketReservations - 2.0 - 4.1 - {38641248-77ea-479b-b496-3eda463acead} - Microsoft.Data.Tools.Schema.Sql.Sql130DatabaseSchemaProvider - Database - - - TicketReservations - TicketReservations - 1033,CI - BySchemaAndSchemaType - True - v4.5 - CS - Properties - False - True - True - SQL_Latin1_General_CP1_CI_AS - PRIMARY - - - bin\Release\ - $(MSBuildProjectName).sql - False - pdbonly - true - false - true - prompt - 4 - - - bin\Debug\ - $(MSBuildProjectName).sql - false - true - full - false - true - true - prompt - 4 - - - 11.0 - - True - 11.0 - - - - - - - - - - - - - - - - - - + + + + + Debug + AnyCPU + TicketReservations + 2.0 + 4.1 + {38641248-77ea-479b-b496-3eda463acead} + Microsoft.Data.Tools.Schema.Sql.Sql130DatabaseSchemaProvider + Database + + + TicketReservations + TicketReservations + 1033,CI + BySchemaAndSchemaType + True + v4.5 + CS + Properties + False + True + True + SQL_Latin1_General_CP1_CI_AS + PRIMARY + True + + + bin\Release\ + $(MSBuildProjectName).sql + False + pdbonly + true + false + true + prompt + 4 + + + bin\Debug\ + $(MSBuildProjectName).sql + false + true + full + false + true + true + prompt + 4 + + + 11.0 + + True + 11.0 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Ticket Reservations/TicketReservations/dbo/Stored Procedures/BatchInsertReservations.sql b/Ticket Reservations/TicketReservations/dbo/Stored Procedures/BatchInsertReservations.sql index d3b3955d61..d9e258214f 100644 --- a/Ticket Reservations/TicketReservations/dbo/Stored Procedures/BatchInsertReservations.sql +++ b/Ticket Reservations/TicketReservations/dbo/Stored Procedures/BatchInsertReservations.sql @@ -1,24 +1,28 @@ -create proc BatchInsertReservations(@ServerTransactions int, @RowsPerTransaction int, @ThreadID int) -AS -begin - DECLARE @tranCount int = 0; - DECLARE @TS Datetime2; - DECLARE @Char_TS NVARCHAR(23); - DECLARE @CurrentSeq int = 0; - - SET @TS = CURRENT_TIMESTAMP; - SET @Char_TS = CAST(@TS AS NVARCHAR(23)); - WHILE (@tranCount < @ServerTransactions) - BEGIN - BEGIN TRY - BEGIN TRAN - SET @CurrentSeq = NEXT VALUE FOR TicketReservationSequence ; - EXEC InsertReservationDetails @CurrentSeq, @RowsPerTransaction, @Char_TS, @ThreadID; - COMMIT TRAN - END TRY - BEGIN CATCH - ROLLBACK TRAN - END CATCH - SET @tranCount += 1; - END -END +-- helper stored procedure to + +CREATE PROCEDURE BatchInsertReservations(@ServerTransactions int, @RowsPerTransaction int, @ThreadID int) +AS +BEGIN + DECLARE @tranCount int = 0; + DECLARE @TS Datetime2; + DECLARE @Char_TS NVARCHAR(23); + DECLARE @CurrentSeq int = 0; + + SET @TS = SYSDATETIME(); + SET @Char_TS = CAST(@TS AS NVARCHAR(23)); + WHILE (@tranCount < @ServerTransactions) + BEGIN + BEGIN TRY + BEGIN TRAN + SET @CurrentSeq = NEXT VALUE FOR TicketReservationSequence ; + EXEC InsertReservationDetails @CurrentSeq, @RowsPerTransaction, @Char_TS, @ThreadID; + COMMIT TRAN + END TRY + BEGIN CATCH + IF XACT_STATE() = -1 + ROLLBACK TRAN + ;THROW + END CATCH + SET @tranCount += 1; + END +END diff --git a/Ticket Reservations/TicketReservations/dbo/Stored Procedures/InsertReservationDetails.sql b/Ticket Reservations/TicketReservations/dbo/Stored Procedures/InsertReservationDetails.sql index e6a4d04064..0af9a5b179 100644 --- a/Ticket Reservations/TicketReservations/dbo/Stored Procedures/InsertReservationDetails.sql +++ b/Ticket Reservations/TicketReservations/dbo/Stored Procedures/InsertReservationDetails.sql @@ -1,31 +1,30 @@ - -CREATE PROCEDURE InsertReservationDetails(@Iteration int, @LineCount int, @CharDate NVARCHAR(23), @ThreadID int) -as -BEGIN - - - DECLARE @loop int = 0; - while (@loop < @LineCount) - BEGIN - INSERT INTO dbo.TicketReservationDetail VALUES(@Iteration, @loop, @CharDate, @ThreadID); - SET @loop += 1; - END -END - - -/* --- natively compiled version of the stored procedure: -CREATE PROCEDURE InsertReservationDetails(@Iteration int, @LineCount int, @CharDate NVARCHAR(23), @ThreadID int) -WITH NATIVE_COMPILATION, SCHEMABINDING -as -BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL=SNAPSHOT, LANGUAGE=N'English') - - - DECLARE @loop int = 0; - while (@loop < @LineCount) - BEGIN - INSERT INTO dbo.TicketReservationDetail VALUES(@Iteration, @loop, @CharDate, @ThreadID); - SET @loop += 1; - END -END + +CREATE PROCEDURE InsertReservationDetails(@TicketReservationID int, @LineCount int, @Comment NVARCHAR(1000), @FlightID int) +AS +BEGIN + DECLARE @loop int = 0; + WHILE (@loop < @LineCount) + BEGIN + INSERT INTO dbo.TicketReservationDetail (TicketReservationID, Quantity, FlightID, Comment) + VALUES(@TicketReservationID, @loop % 8 + 1, @FlightID, @Comment); + SET @loop += 1; + END +END + + +/* +-- natively compiled version of the stored procedure: +CREATE PROCEDURE InsertReservationDetails(@TicketReservationID int, @LineCount int, @Comment NVARCHAR(1000), @FlightID int) +WITH NATIVE_COMPILATION, SCHEMABINDING +as +BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL=SNAPSHOT, LANGUAGE=N'English') + + + DECLARE @loop int = 0; + while (@loop < @LineCount) + BEGIN + INSERT INTO dbo.TicketReservationDetail (TicketReservationID, Quantity, FlightID, Comment) VALUES(@TicketReservationID, @loop % 8 + 1, @FlightID, @Comment); + SET @loop += 1; + END +END */ \ No newline at end of file diff --git a/Ticket Reservations/TicketReservations/dbo/Stored Procedures/ReadMultipleReservations.sql b/Ticket Reservations/TicketReservations/dbo/Stored Procedures/ReadMultipleReservations.sql index c6091aba5e..20e8c127c6 100644 --- a/Ticket Reservations/TicketReservations/dbo/Stored Procedures/ReadMultipleReservations.sql +++ b/Ticket Reservations/TicketReservations/dbo/Stored Procedures/ReadMultipleReservations.sql @@ -1,26 +1,28 @@ -create proc ReadMultipleReservations(@ServerTransactions int, @RowsPerTransaction int, @ThreadID int) -AS -begin - DECLARE @tranCount int = 0; - DECLARE @CurrentSeq int = 0; - DECLARE @Sum int = 0; - DECLARE @loop int = 0; - WHILE (@tranCount < @ServerTransactions) - BEGIN - BEGIN TRY - BEGIN TRAN - select @CurrentSeq = convert(int, current_value) from sys.sequences where name = 'TicketReservationSequence' - SET @loop = 0 - while (@loop < @RowsPerTransaction) - BEGIN - SELECT @Sum += ThreadID from dbo.TicketReservationDetail where iteration = @CurrentSeq and lineId = @loop; - SET @loop += 1; - END - COMMIT TRAN - END TRY - BEGIN CATCH - ROLLBACK TRAN - END CATCH - SET @tranCount += 1; - END -END +CREATE PROCEDURE ReadMultipleReservations(@ServerTransactions int, @RowsPerTransaction int, @ThreadID int) +AS +BEGIN + DECLARE @tranCount int = 0; + DECLARE @CurrentSeq int = 0; + DECLARE @Sum int = 0; + DECLARE @loop int = 0; + WHILE (@tranCount < @ServerTransactions) + BEGIN + BEGIN TRY + SELECT @CurrentSeq = RAND() * IDENT_CURRENT(N'dbo.TicketReservationDetail') + SET @loop = 0 + BEGIN TRAN + WHILE (@loop < @RowsPerTransaction) + BEGIN + SELECT @Sum += FlightID from dbo.TicketReservationDetail where TicketReservationDetailID = @CurrentSeq - @loop; + SET @loop += 1; + END + COMMIT TRAN + END TRY + BEGIN CATCH + IF XACT_STATE() = -1 + ROLLBACK TRAN + ;THROW + END CATCH + SET @tranCount += 1; + END +END diff --git a/Ticket Reservations/TicketReservations/dbo/Tables/TicketReservationDetail.sql b/Ticket Reservations/TicketReservations/dbo/Tables/TicketReservationDetail.sql index 54aeb199db..4b92a5703f 100644 --- a/Ticket Reservations/TicketReservations/dbo/Tables/TicketReservationDetail.sql +++ b/Ticket Reservations/TicketReservations/dbo/Tables/TicketReservationDetail.sql @@ -1,17 +1,18 @@ -CREATE TABLE [dbo].[TicketReservationDetail] ( - [iteration] INT NOT NULL, - [lineId] INT NOT NULL, - [col3] NVARCHAR (1000) NOT NULL, - [ThreadID] INT NOT NULL, --- disk-based table: - CONSTRAINT [sql_ts_th] PRIMARY KEY CLUSTERED ([iteration] ASC, [lineId] ASC) -); - --- for memory-optimized, replace the last two lines with the following: --- CONSTRAINT [sql_ts_th] PRIMARY KEY NONCLUSTERED ([iteration] ASC, [lineId] ASC) ---) WITH (MEMORY_OPTIMIZED=ON); ---GO - --- For SQL Server, include the following filegroup. For Azure DB, leave out the filegroup --- ALTER DATABASE [$(DatabaseName)] ADD FILEGROUP [mod] CONTAINS MEMORY_OPTIMIZED_DATA - +CREATE TABLE [dbo].[TicketReservationDetail] ( + TicketReservationID BIGINT NOT NULL, + TicketReservationDetailID BIGINT IDENTITY NOT NULL, + Quantity INT NOT NULL, + FlightID INT NOT NULL, + Comment NVARCHAR (1000), +-- disk-based table: + CONSTRAINT [PK_TicketReservationDetail] PRIMARY KEY CLUSTERED (TicketReservationDetailID) +); + +-- for memory-optimized, replace the last two lines with the following: +-- CONSTRAINT [PK_TicketReservationDetail] PRIMARY KEY NONCLUSTERED (TicketReservationDetailID) +--) WITH (MEMORY_OPTIMIZED=ON); +--GO + +-- For SQL Server, include the following filegroup. For Azure DB, leave out the filegroup +-- ALTER DATABASE [$(DatabaseName)] ADD FILEGROUP [mod] CONTAINS MEMORY_OPTIMIZED_DATA +