mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
New auto tuning demo
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.40629.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DemoWorkload", "DemoWorkload\DemoWorkload.csproj", "{2881A3C4-9153-46F2-8196-9929ED9C17D6}"
|
||||
EndProject
|
||||
Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "WideWorldImporters", "WideWorldImporters\WideWorldImporters.sqlproj", "{38641248-77EA-479B-B496-3EDA463ACEAD}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{2881A3C4-9153-46F2-8196-9929ED9C17D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2881A3C4-9153-46F2-8196-9929ED9C17D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2881A3C4-9153-46F2-8196-9929ED9C17D6}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{2881A3C4-9153-46F2-8196-9929ED9C17D6}.Debug|x86.Build.0 = Debug|x86
|
||||
{2881A3C4-9153-46F2-8196-9929ED9C17D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2881A3C4-9153-46F2-8196-9929ED9C17D6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2881A3C4-9153-46F2-8196-9929ED9C17D6}.Release|x86.ActiveCfg = Release|x86
|
||||
{2881A3C4-9153-46F2-8196-9929ED9C17D6}.Release|x86.Build.0 = Release|x86
|
||||
{38641248-77EA-479B-B496-3EDA463ACEAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{38641248-77EA-479B-B496-3EDA463ACEAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{38641248-77EA-479B-B496-3EDA463ACEAD}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{38641248-77EA-479B-B496-3EDA463ACEAD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{38641248-77EA-479B-B496-3EDA463ACEAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{38641248-77EA-479B-B496-3EDA463ACEAD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{38641248-77EA-479B-B496-3EDA463ACEAD}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{38641248-77EA-479B-B496-3EDA463ACEAD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<connectionStrings>
|
||||
<!-- the app uses the WideWorldImporters conn str.
|
||||
-->
|
||||
<add name="WideWorldImporters" connectionString="Server=.;Database=WideWorldImporters;Integrated Security=True" providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
<!-- For Azure DB, recommend to reduce the ThreadCount-->
|
||||
<add key="ThreadCount" value="80" />
|
||||
<add key="ReadsPerWrite" value="1" />
|
||||
<add key="RequestCount" value="100000" />
|
||||
<add key="RowCount" value="100" />
|
||||
<add key="TransactionCount" value="1" />
|
||||
<add key="WorkloadIndex" value="0" />
|
||||
<add key="MaxTps" value="40" />
|
||||
<add key="MaxPageReads" value="2000" />
|
||||
<add key="ClientSettingsProvider.ServiceUri" value="" />
|
||||
</appSettings>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
|
||||
</startup>
|
||||
<system.web>
|
||||
<membership defaultProvider="ClientAuthenticationMembershipProvider">
|
||||
<providers>
|
||||
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
|
||||
</providers>
|
||||
</membership>
|
||||
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
|
||||
<providers>
|
||||
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
|
||||
</providers>
|
||||
</roleManager>
|
||||
</system.web>
|
||||
</configuration>
|
||||
+205
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{2881A3C4-9153-46F2-8196-9929ED9C17D6}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DemoWorkload</RootNamespace>
|
||||
<AssemblyName>DemoWorkload</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<CodeAnalysisRuleSet>DemoWorkload.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<CodeAnalysisRuleSet>DemoWorkload.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Debug\WindowsFormsApplication2.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>DemoWorkload.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<RunCodeAnalysis>true</RunCodeAnalysis>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Release\WindowsFormsApplication2.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>DemoWorkload.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Resources\sqlserver.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignManifests>false</SignManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AssemblyOriginatorKeyFile>
|
||||
</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject>DemoWorkload.Program</StartupObject>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.Entity" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.Security" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Windows.Forms.DataVisualization" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="GlobalSuppressions.cs" />
|
||||
<Compile Include="FrmConfig.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmConfig.Designer.cs">
|
||||
<DependentUpon>FrmConfig.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmMain.Designer.cs">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="FrmConfig.resx">
|
||||
<DependentUpon>FrmConfig.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmMain.resx">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="App.Config" />
|
||||
<None Include="DemoWorkload.ruleset" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\SQLBackground.jpg" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\sqlserver.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Service References\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.6">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.6 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
+237
@@ -0,0 +1,237 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RuleSet Name="Rules for DemoWorkload" Description="Code analysis rules for DemoWorkload.csproj." ToolsVersion="14.0">
|
||||
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
|
||||
<Rule Id="CA1000" Action="Warning" />
|
||||
<Rule Id="CA1001" Action="Warning" />
|
||||
<Rule Id="CA1002" Action="Warning" />
|
||||
<Rule Id="CA1003" Action="Warning" />
|
||||
<Rule Id="CA1004" Action="Warning" />
|
||||
<Rule Id="CA1005" Action="Warning" />
|
||||
<Rule Id="CA1006" Action="Warning" />
|
||||
<Rule Id="CA1007" Action="Warning" />
|
||||
<Rule Id="CA1008" Action="Warning" />
|
||||
<Rule Id="CA1009" Action="Warning" />
|
||||
<Rule Id="CA1010" Action="Warning" />
|
||||
<Rule Id="CA1011" Action="Warning" />
|
||||
<Rule Id="CA1012" Action="Warning" />
|
||||
<Rule Id="CA1013" Action="Warning" />
|
||||
<Rule Id="CA1014" Action="Warning" />
|
||||
<Rule Id="CA1016" Action="Warning" />
|
||||
<Rule Id="CA1017" Action="Warning" />
|
||||
<Rule Id="CA1018" Action="Warning" />
|
||||
<Rule Id="CA1019" Action="Warning" />
|
||||
<Rule Id="CA1020" Action="Warning" />
|
||||
<Rule Id="CA1021" Action="Warning" />
|
||||
<Rule Id="CA1023" Action="Warning" />
|
||||
<Rule Id="CA1024" Action="Warning" />
|
||||
<Rule Id="CA1025" Action="Warning" />
|
||||
<Rule Id="CA1026" Action="Warning" />
|
||||
<Rule Id="CA1027" Action="Warning" />
|
||||
<Rule Id="CA1028" Action="Warning" />
|
||||
<Rule Id="CA1030" Action="Warning" />
|
||||
<Rule Id="CA1031" Action="Warning" />
|
||||
<Rule Id="CA1032" Action="Warning" />
|
||||
<Rule Id="CA1033" Action="Warning" />
|
||||
<Rule Id="CA1034" Action="Warning" />
|
||||
<Rule Id="CA1035" Action="Warning" />
|
||||
<Rule Id="CA1036" Action="Warning" />
|
||||
<Rule Id="CA1038" Action="Warning" />
|
||||
<Rule Id="CA1039" Action="Warning" />
|
||||
<Rule Id="CA1040" Action="Warning" />
|
||||
<Rule Id="CA1041" Action="Warning" />
|
||||
<Rule Id="CA1043" Action="Warning" />
|
||||
<Rule Id="CA1044" Action="Warning" />
|
||||
<Rule Id="CA1045" Action="Warning" />
|
||||
<Rule Id="CA1046" Action="Warning" />
|
||||
<Rule Id="CA1047" Action="Warning" />
|
||||
<Rule Id="CA1048" Action="Warning" />
|
||||
<Rule Id="CA1049" Action="Warning" />
|
||||
<Rule Id="CA1050" Action="Warning" />
|
||||
<Rule Id="CA1051" Action="Warning" />
|
||||
<Rule Id="CA1052" Action="Warning" />
|
||||
<Rule Id="CA1053" Action="Warning" />
|
||||
<Rule Id="CA1054" Action="Warning" />
|
||||
<Rule Id="CA1055" Action="Warning" />
|
||||
<Rule Id="CA1056" Action="Warning" />
|
||||
<Rule Id="CA1057" Action="Warning" />
|
||||
<Rule Id="CA1058" Action="Warning" />
|
||||
<Rule Id="CA1059" Action="Warning" />
|
||||
<Rule Id="CA1060" Action="Warning" />
|
||||
<Rule Id="CA1061" Action="Warning" />
|
||||
<Rule Id="CA1062" Action="Warning" />
|
||||
<Rule Id="CA1063" Action="Warning" />
|
||||
<Rule Id="CA1064" Action="Warning" />
|
||||
<Rule Id="CA1065" Action="Warning" />
|
||||
<Rule Id="CA1300" Action="Warning" />
|
||||
<Rule Id="CA1301" Action="Warning" />
|
||||
<Rule Id="CA1302" Action="Warning" />
|
||||
<Rule Id="CA1303" Action="Warning" />
|
||||
<Rule Id="CA1304" Action="Warning" />
|
||||
<Rule Id="CA1305" Action="Warning" />
|
||||
<Rule Id="CA1306" Action="Warning" />
|
||||
<Rule Id="CA1307" Action="Warning" />
|
||||
<Rule Id="CA1308" Action="Warning" />
|
||||
<Rule Id="CA1309" Action="Warning" />
|
||||
<Rule Id="CA1400" Action="Warning" />
|
||||
<Rule Id="CA1401" Action="Warning" />
|
||||
<Rule Id="CA1402" Action="Warning" />
|
||||
<Rule Id="CA1403" Action="Warning" />
|
||||
<Rule Id="CA1404" Action="Warning" />
|
||||
<Rule Id="CA1405" Action="Warning" />
|
||||
<Rule Id="CA1406" Action="Warning" />
|
||||
<Rule Id="CA1407" Action="Warning" />
|
||||
<Rule Id="CA1408" Action="Warning" />
|
||||
<Rule Id="CA1409" Action="Warning" />
|
||||
<Rule Id="CA1410" Action="Warning" />
|
||||
<Rule Id="CA1411" Action="Warning" />
|
||||
<Rule Id="CA1412" Action="Warning" />
|
||||
<Rule Id="CA1413" Action="Warning" />
|
||||
<Rule Id="CA1414" Action="Warning" />
|
||||
<Rule Id="CA1415" Action="Warning" />
|
||||
<Rule Id="CA1500" Action="Warning" />
|
||||
<Rule Id="CA1501" Action="Warning" />
|
||||
<Rule Id="CA1502" Action="Warning" />
|
||||
<Rule Id="CA1504" Action="Warning" />
|
||||
<Rule Id="CA1505" Action="Warning" />
|
||||
<Rule Id="CA1506" Action="Warning" />
|
||||
<Rule Id="CA1600" Action="Warning" />
|
||||
<Rule Id="CA1601" Action="Warning" />
|
||||
<Rule Id="CA1700" Action="Warning" />
|
||||
<Rule Id="CA1701" Action="Warning" />
|
||||
<Rule Id="CA1702" Action="Warning" />
|
||||
<Rule Id="CA1703" Action="Warning" />
|
||||
<Rule Id="CA1704" Action="Warning" />
|
||||
<Rule Id="CA1707" Action="Warning" />
|
||||
<Rule Id="CA1708" Action="Warning" />
|
||||
<Rule Id="CA1709" Action="Warning" />
|
||||
<Rule Id="CA1710" Action="Warning" />
|
||||
<Rule Id="CA1711" Action="Warning" />
|
||||
<Rule Id="CA1712" Action="Warning" />
|
||||
<Rule Id="CA1713" Action="Warning" />
|
||||
<Rule Id="CA1714" Action="Warning" />
|
||||
<Rule Id="CA1715" Action="Warning" />
|
||||
<Rule Id="CA1716" Action="Warning" />
|
||||
<Rule Id="CA1717" Action="Warning" />
|
||||
<Rule Id="CA1719" Action="Warning" />
|
||||
<Rule Id="CA1720" Action="Warning" />
|
||||
<Rule Id="CA1721" Action="Warning" />
|
||||
<Rule Id="CA1722" Action="Warning" />
|
||||
<Rule Id="CA1724" Action="Warning" />
|
||||
<Rule Id="CA1725" Action="Warning" />
|
||||
<Rule Id="CA1726" Action="Warning" />
|
||||
<Rule Id="CA1800" Action="Warning" />
|
||||
<Rule Id="CA1801" Action="Warning" />
|
||||
<Rule Id="CA1802" Action="Warning" />
|
||||
<Rule Id="CA1804" Action="Warning" />
|
||||
<Rule Id="CA1806" Action="Warning" />
|
||||
<Rule Id="CA1809" Action="Warning" />
|
||||
<Rule Id="CA1810" Action="Warning" />
|
||||
<Rule Id="CA1811" Action="Warning" />
|
||||
<Rule Id="CA1812" Action="Warning" />
|
||||
<Rule Id="CA1813" Action="Warning" />
|
||||
<Rule Id="CA1814" Action="Warning" />
|
||||
<Rule Id="CA1815" Action="Warning" />
|
||||
<Rule Id="CA1816" Action="Warning" />
|
||||
<Rule Id="CA1819" Action="Warning" />
|
||||
<Rule Id="CA1820" Action="Warning" />
|
||||
<Rule Id="CA1821" Action="Warning" />
|
||||
<Rule Id="CA1822" Action="Warning" />
|
||||
<Rule Id="CA1823" Action="Warning" />
|
||||
<Rule Id="CA1824" Action="Warning" />
|
||||
<Rule Id="CA1900" Action="Warning" />
|
||||
<Rule Id="CA1901" Action="Warning" />
|
||||
<Rule Id="CA1903" Action="Warning" />
|
||||
<Rule Id="CA2000" Action="Warning" />
|
||||
<Rule Id="CA2001" Action="Warning" />
|
||||
<Rule Id="CA2002" Action="Warning" />
|
||||
<Rule Id="CA2003" Action="Warning" />
|
||||
<Rule Id="CA2004" Action="Warning" />
|
||||
<Rule Id="CA2006" Action="Warning" />
|
||||
<Rule Id="CA2100" Action="Warning" />
|
||||
<Rule Id="CA2101" Action="Warning" />
|
||||
<Rule Id="CA2102" Action="Warning" />
|
||||
<Rule Id="CA2103" Action="Warning" />
|
||||
<Rule Id="CA2104" Action="Warning" />
|
||||
<Rule Id="CA2105" Action="Warning" />
|
||||
<Rule Id="CA2106" Action="Warning" />
|
||||
<Rule Id="CA2107" Action="Warning" />
|
||||
<Rule Id="CA2108" Action="Warning" />
|
||||
<Rule Id="CA2109" Action="Warning" />
|
||||
<Rule Id="CA2111" Action="Warning" />
|
||||
<Rule Id="CA2112" Action="Warning" />
|
||||
<Rule Id="CA2114" Action="Warning" />
|
||||
<Rule Id="CA2115" Action="Warning" />
|
||||
<Rule Id="CA2116" Action="Warning" />
|
||||
<Rule Id="CA2117" Action="Warning" />
|
||||
<Rule Id="CA2118" Action="Warning" />
|
||||
<Rule Id="CA2119" Action="Warning" />
|
||||
<Rule Id="CA2120" Action="Warning" />
|
||||
<Rule Id="CA2121" Action="Warning" />
|
||||
<Rule Id="CA2122" Action="Warning" />
|
||||
<Rule Id="CA2123" Action="Warning" />
|
||||
<Rule Id="CA2124" Action="Warning" />
|
||||
<Rule Id="CA2126" Action="Warning" />
|
||||
<Rule Id="CA2130" Action="Warning" />
|
||||
<Rule Id="CA2131" Action="Warning" />
|
||||
<Rule Id="CA2132" Action="Warning" />
|
||||
<Rule Id="CA2133" Action="Warning" />
|
||||
<Rule Id="CA2134" Action="Warning" />
|
||||
<Rule Id="CA2135" Action="Warning" />
|
||||
<Rule Id="CA2136" Action="Warning" />
|
||||
<Rule Id="CA2137" Action="Warning" />
|
||||
<Rule Id="CA2138" Action="Warning" />
|
||||
<Rule Id="CA2139" Action="Warning" />
|
||||
<Rule Id="CA2140" Action="Warning" />
|
||||
<Rule Id="CA2141" Action="Warning" />
|
||||
<Rule Id="CA2142" Action="Warning" />
|
||||
<Rule Id="CA2143" Action="Warning" />
|
||||
<Rule Id="CA2144" Action="Warning" />
|
||||
<Rule Id="CA2145" Action="Warning" />
|
||||
<Rule Id="CA2146" Action="Warning" />
|
||||
<Rule Id="CA2147" Action="Warning" />
|
||||
<Rule Id="CA2149" Action="Warning" />
|
||||
<Rule Id="CA2151" Action="Warning" />
|
||||
<Rule Id="CA2200" Action="Warning" />
|
||||
<Rule Id="CA2201" Action="Warning" />
|
||||
<Rule Id="CA2202" Action="Warning" />
|
||||
<Rule Id="CA2204" Action="Warning" />
|
||||
<Rule Id="CA2205" Action="Warning" />
|
||||
<Rule Id="CA2207" Action="Warning" />
|
||||
<Rule Id="CA2208" Action="Warning" />
|
||||
<Rule Id="CA2210" Action="Warning" />
|
||||
<Rule Id="CA2211" Action="Warning" />
|
||||
<Rule Id="CA2212" Action="Warning" />
|
||||
<Rule Id="CA2213" Action="Warning" />
|
||||
<Rule Id="CA2214" Action="Warning" />
|
||||
<Rule Id="CA2215" Action="Warning" />
|
||||
<Rule Id="CA2216" Action="Warning" />
|
||||
<Rule Id="CA2217" Action="Warning" />
|
||||
<Rule Id="CA2218" Action="Warning" />
|
||||
<Rule Id="CA2219" Action="Warning" />
|
||||
<Rule Id="CA2220" Action="Warning" />
|
||||
<Rule Id="CA2221" Action="Warning" />
|
||||
<Rule Id="CA2222" Action="Warning" />
|
||||
<Rule Id="CA2223" Action="Warning" />
|
||||
<Rule Id="CA2224" Action="Warning" />
|
||||
<Rule Id="CA2225" Action="Warning" />
|
||||
<Rule Id="CA2226" Action="Warning" />
|
||||
<Rule Id="CA2227" Action="Warning" />
|
||||
<Rule Id="CA2228" Action="Warning" />
|
||||
<Rule Id="CA2229" Action="Warning" />
|
||||
<Rule Id="CA2230" Action="Warning" />
|
||||
<Rule Id="CA2231" Action="Warning" />
|
||||
<Rule Id="CA2232" Action="Warning" />
|
||||
<Rule Id="CA2233" Action="Warning" />
|
||||
<Rule Id="CA2234" Action="Warning" />
|
||||
<Rule Id="CA2235" Action="Warning" />
|
||||
<Rule Id="CA2236" Action="Warning" />
|
||||
<Rule Id="CA2237" Action="Warning" />
|
||||
<Rule Id="CA2238" Action="Warning" />
|
||||
<Rule Id="CA2239" Action="Warning" />
|
||||
<Rule Id="CA2240" Action="Warning" />
|
||||
<Rule Id="CA2241" Action="Warning" />
|
||||
<Rule Id="CA2242" Action="Warning" />
|
||||
<Rule Id="CA2243" Action="Warning" />
|
||||
<Rule Id="CA5122" Action="Warning" />
|
||||
</Rules>
|
||||
</RuleSet>
|
||||
Generated
+281
@@ -0,0 +1,281 @@
|
||||
namespace DemoWorkload
|
||||
{
|
||||
partial class FrmConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "PageRead")]
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.Control.set_Text(System.String)")]
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmConfig));
|
||||
this.LabelReadsPerWrite = new System.Windows.Forms.Label();
|
||||
this.ReadsPerWrite = new System.Windows.Forms.NumericUpDown();
|
||||
this.LabelRPT = new System.Windows.Forms.Label();
|
||||
this.RequestCount = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblInstance = new System.Windows.Forms.Label();
|
||||
this.tbConnectionString = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.txtMaxTPS = new System.Windows.Forms.TextBox();
|
||||
this.lblRunningThread = new System.Windows.Forms.Label();
|
||||
this.txtMaxPageRead = new System.Windows.Forms.TextBox();
|
||||
this.lblServerTran = new System.Windows.Forms.Label();
|
||||
this.TransactionCount = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblThreadCnt = new System.Windows.Forms.Label();
|
||||
this.ThreadCount = new System.Windows.Forms.NumericUpDown();
|
||||
this.btnSave = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ReadsPerWrite)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.RequestCount)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.TransactionCount)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThreadCount)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// LabelReadsPerWrite
|
||||
//
|
||||
this.LabelReadsPerWrite.Location = new System.Drawing.Point(0, 0);
|
||||
this.LabelReadsPerWrite.Name = "LabelReadsPerWrite";
|
||||
this.LabelReadsPerWrite.Size = new System.Drawing.Size(100, 23);
|
||||
this.LabelReadsPerWrite.TabIndex = 50;
|
||||
//
|
||||
// ReadsPerWrite
|
||||
//
|
||||
this.ReadsPerWrite.Location = new System.Drawing.Point(0, 0);
|
||||
this.ReadsPerWrite.Name = "ReadsPerWrite";
|
||||
this.ReadsPerWrite.Size = new System.Drawing.Size(120, 20);
|
||||
this.ReadsPerWrite.TabIndex = 51;
|
||||
//
|
||||
// LabelRPT
|
||||
//
|
||||
this.LabelRPT.AutoSize = true;
|
||||
this.LabelRPT.BackColor = System.Drawing.Color.Transparent;
|
||||
this.LabelRPT.Location = new System.Drawing.Point(14, 101);
|
||||
this.LabelRPT.Name = "LabelRPT";
|
||||
this.LabelRPT.Size = new System.Drawing.Size(107, 13);
|
||||
this.LabelRPT.TabIndex = 44;
|
||||
this.LabelRPT.Text = "Requests per Thread";
|
||||
//
|
||||
// RequestCount
|
||||
//
|
||||
this.RequestCount.Location = new System.Drawing.Point(152, 99);
|
||||
this.RequestCount.Maximum = new decimal(new int[] {
|
||||
5000000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.RequestCount.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.RequestCount.Name = "RequestCount";
|
||||
this.RequestCount.Size = new System.Drawing.Size(99, 20);
|
||||
this.RequestCount.TabIndex = 43;
|
||||
this.RequestCount.Value = new decimal(new int[] {
|
||||
100000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblInstance
|
||||
//
|
||||
this.lblInstance.AutoSize = true;
|
||||
this.lblInstance.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblInstance.Location = new System.Drawing.Point(14, 217);
|
||||
this.lblInstance.Name = "lblInstance";
|
||||
this.lblInstance.Size = new System.Drawing.Size(91, 13);
|
||||
this.lblInstance.TabIndex = 42;
|
||||
this.lblInstance.Text = "Connection String";
|
||||
//
|
||||
// tbConnectionString
|
||||
//
|
||||
this.tbConnectionString.Location = new System.Drawing.Point(16, 243);
|
||||
this.tbConnectionString.Name = "tbConnectionString";
|
||||
this.tbConnectionString.Size = new System.Drawing.Size(271, 20);
|
||||
this.tbConnectionString.TabIndex = 40;
|
||||
this.tbConnectionString.TextChanged += new System.EventHandler(this.tbInstance_TextChanged);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label3.Location = new System.Drawing.Point(14, 25);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(109, 13);
|
||||
this.label3.TabIndex = 38;
|
||||
this.label3.Text = "Max TPS (thousands)";
|
||||
//
|
||||
// txtMaxTPS
|
||||
//
|
||||
this.txtMaxTPS.Location = new System.Drawing.Point(152, 22);
|
||||
this.txtMaxTPS.Name = "txtMaxTPS";
|
||||
this.txtMaxTPS.Size = new System.Drawing.Size(99, 20);
|
||||
this.txtMaxTPS.TabIndex = 37;
|
||||
this.txtMaxTPS.TabStop = false;
|
||||
//
|
||||
// lblRunningThread
|
||||
//
|
||||
this.lblRunningThread.AutoSize = true;
|
||||
this.lblRunningThread.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblRunningThread.Location = new System.Drawing.Point(14, 50);
|
||||
this.lblRunningThread.Name = "lblRunningThread";
|
||||
this.lblRunningThread.Size = new System.Drawing.Size(107, 13);
|
||||
this.lblRunningThread.TabIndex = 36;
|
||||
this.lblRunningThread.Text = "Max PageRead Time";
|
||||
//
|
||||
// txtMaxPageRead
|
||||
//
|
||||
this.txtMaxPageRead.Location = new System.Drawing.Point(152, 47);
|
||||
this.txtMaxPageRead.Name = "txtMaxPageRead";
|
||||
this.txtMaxPageRead.Size = new System.Drawing.Size(99, 20);
|
||||
this.txtMaxPageRead.TabIndex = 35;
|
||||
this.txtMaxPageRead.TabStop = false;
|
||||
this.txtMaxPageRead.Text = "10000";
|
||||
//
|
||||
// lblServerTran
|
||||
//
|
||||
this.lblServerTran.AutoSize = true;
|
||||
this.lblServerTran.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblServerTran.Location = new System.Drawing.Point(14, 153);
|
||||
this.lblServerTran.Name = "lblServerTran";
|
||||
this.lblServerTran.Size = new System.Drawing.Size(102, 13);
|
||||
this.lblServerTran.TabIndex = 34;
|
||||
this.lblServerTran.Text = "Server Transactions";
|
||||
//
|
||||
// TransactionCount
|
||||
//
|
||||
this.TransactionCount.Location = new System.Drawing.Point(152, 151);
|
||||
this.TransactionCount.Maximum = new decimal(new int[] {
|
||||
5000000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.TransactionCount.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.TransactionCount.Name = "TransactionCount";
|
||||
this.TransactionCount.Size = new System.Drawing.Size(99, 20);
|
||||
this.TransactionCount.TabIndex = 29;
|
||||
this.TransactionCount.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblThreadCnt
|
||||
//
|
||||
this.lblThreadCnt.AutoSize = true;
|
||||
this.lblThreadCnt.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblThreadCnt.Location = new System.Drawing.Point(14, 127);
|
||||
this.lblThreadCnt.Name = "lblThreadCnt";
|
||||
this.lblThreadCnt.Size = new System.Drawing.Size(46, 13);
|
||||
this.lblThreadCnt.TabIndex = 31;
|
||||
this.lblThreadCnt.Text = "Threads";
|
||||
//
|
||||
// ThreadCount
|
||||
//
|
||||
this.ThreadCount.Location = new System.Drawing.Point(152, 125);
|
||||
this.ThreadCount.Maximum = new decimal(new int[] {
|
||||
200,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThreadCount.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThreadCount.Name = "ThreadCount";
|
||||
this.ThreadCount.Size = new System.Drawing.Size(99, 20);
|
||||
this.ThreadCount.TabIndex = 28;
|
||||
this.ThreadCount.Value = new decimal(new int[] {
|
||||
80,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// btnSave
|
||||
//
|
||||
this.btnSave.Location = new System.Drawing.Point(16, 293);
|
||||
this.btnSave.Name = "btnSave";
|
||||
this.btnSave.Size = new System.Drawing.Size(149, 23);
|
||||
this.btnSave.TabIndex = 49;
|
||||
this.btnSave.Text = "Save Configuration Values";
|
||||
this.btnSave.UseVisualStyleBackColor = true;
|
||||
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
|
||||
//
|
||||
// FrmConfig
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.ClientSize = new System.Drawing.Size(310, 332);
|
||||
this.Controls.Add(this.btnSave);
|
||||
this.Controls.Add(this.LabelReadsPerWrite);
|
||||
this.Controls.Add(this.ReadsPerWrite);
|
||||
this.Controls.Add(this.LabelRPT);
|
||||
this.Controls.Add(this.RequestCount);
|
||||
this.Controls.Add(this.lblInstance);
|
||||
this.Controls.Add(this.tbConnectionString);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.txtMaxTPS);
|
||||
this.Controls.Add(this.lblRunningThread);
|
||||
this.Controls.Add(this.txtMaxPageRead);
|
||||
this.Controls.Add(this.lblServerTran);
|
||||
this.Controls.Add(this.TransactionCount);
|
||||
this.Controls.Add(this.lblThreadCnt);
|
||||
this.Controls.Add(this.ThreadCount);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FrmConfig";
|
||||
this.Text = "Configuration Settings";
|
||||
this.Load += new System.EventHandler(this.ConfigForm_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.ReadsPerWrite)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.RequestCount)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.TransactionCount)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThreadCount)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label LabelReadsPerWrite;
|
||||
private System.Windows.Forms.NumericUpDown ReadsPerWrite;
|
||||
private System.Windows.Forms.Label LabelRPT;
|
||||
private System.Windows.Forms.NumericUpDown RequestCount;
|
||||
private System.Windows.Forms.Label lblInstance;
|
||||
private System.Windows.Forms.TextBox tbConnectionString;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TextBox txtMaxTPS;
|
||||
private System.Windows.Forms.Label lblRunningThread;
|
||||
private System.Windows.Forms.TextBox txtMaxPageRead;
|
||||
private System.Windows.Forms.Label lblServerTran;
|
||||
private System.Windows.Forms.NumericUpDown TransactionCount;
|
||||
private System.Windows.Forms.Label lblThreadCnt;
|
||||
private System.Windows.Forms.NumericUpDown ThreadCount;
|
||||
private System.Windows.Forms.Button btnSave;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DemoWorkload
|
||||
{
|
||||
public partial class FrmConfig : Form
|
||||
{
|
||||
|
||||
public FrmConfig()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void ConfigForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
tbConnectionString.Text = Program.CONN_STR;
|
||||
TransactionCount.Value = Program.TRANSACTION_COUNT;
|
||||
ThreadCount.Value = Program.THREAD_COUNT;
|
||||
RequestCount.Value = Program.REQUEST_COUNT;
|
||||
txtMaxPageRead.Text = Program.MAX_PageRead.ToString();
|
||||
txtMaxTPS.Text = Program.MAX_TPS.ToString();
|
||||
}
|
||||
|
||||
private void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
Program.THREAD_COUNT = (int)this.ThreadCount.Value;
|
||||
Program.REQUEST_COUNT = (int)this.RequestCount.Value;
|
||||
Program.TRANSACTION_COUNT = (int)this.TransactionCount.Value;
|
||||
Program.CONN_STR = this.tbConnectionString.Text;
|
||||
Program.MAX_TPS = Convert.ToInt32(this.txtMaxTPS.Text);
|
||||
Program.MAX_PageRead = Convert.ToInt32(this.txtMaxPageRead.Text);
|
||||
|
||||
// also persist changes in app config
|
||||
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
|
||||
KeyValueConfigurationCollection settings = config.AppSettings.Settings;
|
||||
ConnectionStringSettingsCollection connStrs = config.ConnectionStrings.ConnectionStrings;
|
||||
|
||||
// update SaveBeforeExit
|
||||
settings["ThreadCount"].Value = Program.THREAD_COUNT.ToString();
|
||||
settings["RequestCount"].Value = Program.REQUEST_COUNT.ToString();
|
||||
settings["RowCount"].Value = Program.ROW_COUNT.ToString();
|
||||
settings["TransactionCount"].Value = Program.TRANSACTION_COUNT.ToString();
|
||||
settings["MaxTps"].Value = Program.MAX_TPS.ToString();
|
||||
settings["MaxPageReads"].Value = Program.MAX_PageRead.ToString();
|
||||
connStrs["WideWorldImporters"].ConnectionString = Program.CONN_STR;
|
||||
|
||||
//save the file
|
||||
config.Save(ConfigurationSaveMode.Modified);
|
||||
|
||||
}
|
||||
|
||||
private void tbInstance_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void label1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,500 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
w/9XjVj/x6SU/1pGN/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo46E///////Ixsb/maux/6Cq
|
||||
rf9xj57/1sa9/8iomP9iTkD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKaTh///////jbXF/5Xi
|
||||
/P/H8/r/aL7i/6aqr//Iq5v/Z1VG/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACploz//////5LF
|
||||
2v+V4/3/x/P6/2bB6P+BlqP/ya6g/29cT/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArZyS////
|
||||
//+VyN7/leP9/8fz+v9mveT/rb7J/8qwo/92ZFb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGg
|
||||
mP//////mM3g/6Dq/v/H8/r/cMvu/6zCzv/24tj/f21f/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAC2p57/3tTN/7PX4v/F9P3/zvr+/7vs9v+ksLT/kXpp/5F6af8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAu62l///////c7fH/u9jg/6zL1P+yzdf/5uvs/825rv+Rf3T/AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAMC0rf//////////////////////////////////////mYh9/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADGubP/18m+/8Swov+9qZv/tqKS/66Ziv+mkYH/n4h4/5+IeP8AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA0MfD///////8+PX/+vLs//jq4//35Nv/9d7T/9e5qv+vn5X/AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAANDJxf/8/Pz////////////////////////////h3Nj/vqyf/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADT0c7/xsC8/8K6tf+9s63/uK2n/7mtp/+5raf/tqmh/9HG
|
||||
wP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/
|
||||
AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAA//8AACgAAAAgAAAAQAAAAAEACAAAAAAAAAQAAAAA
|
||||
AAAAAAAAAAEAAAABAAAAAAAA//7+AP339gD++fgA/vr5AP329AD88/AA/PTxAPvz8ADn4d8A/vv6APXa
|
||||
zwD45t8A++/qAO3j3wDSsaIA89XHAPTWyQDz1skA9NjLAPPXygD129AA9dzRAPXd0gD239UA9+HXAPjo
|
||||
4QD56uMA+OniAPrs5gD56+UA/PPvAPz18gDGo5IAx6aWANW0pADava4AyrCjAPXazQD02cwA5Mu/APbf
|
||||
0wD13tMA9+PZAPjl3AD88u0A+/HsAPz28wD9+fcA/vz7AMirmwDz2csAzbmuAOfZ0QDe080A+/LtAOXe
|
||||
2gDi29cA28/IANzRygD67+gA+/HrAOHZ1AD89O8A+/PuAPPr5gD9+PUAg29hAJB+cgCNfHAA8O3rAHpl
|
||||
VQB7ZlcAfmlaAH5qWwB/a1wAgW1eAIBsXQCCbl8Ag3BiAI17bgCUhHgAk4N3AJeHewCcjoQApZiOAKeb
|
||||
kgCrn5YAraKaAKyhmQCuo5sA4NjSAMG6tQDo5OEA5+PgAHxoWAB9aVkAhXJjAIFvYACFc2UAh3VnAIl3
|
||||
aQCLeWsAi3psAI5+cQCRgXQAj39yAJWGegCYiX0Am42CAJ+RhgChlIkAoJOIAKebkQCpnpUAq6CXAK+l
|
||||
nQC4r6gA39bPAOXg3ACRgnUAlYZ5AJmLfgCekIQAm42BAKOXjACilosAoZWKALGnngCupJsAtaykALKp
|
||||
oQC2raUAwLmzAL+4sgC9trAApZqPAKedkwC5sakAt6+nALOrowC8ta4AurOsAL+4sQC+t7AAwry2AP36
|
||||
9wD9+/kA6eflAP79/ACyqqEAsamgALy1rQC6s6sAubKqALy2rwC7ta0Awby1APb08QD9/PoAOcEAADHJ
|
||||
AAAuzAAAJ9UAANP4/ADd+/4A2/n8ANv6/gDV8/cA0Pb9AM/s8QC77/kAvO/5AMTx+gDM6e8Atez5ALbs
|
||||
+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
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyqqH///7+//z18f/29PH/3uvu/8rg5v+10tv/qsTR/6fC
|
||||
z/+sxtH/ts3Y/8PX3v/Z4uX/8+vm//nq4//Nua7/oJOI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWspP///v7//fbz//z28//89vP//PXy//z1
|
||||
8P/88+//+/Pu//vy7f/68ev/++/q//ru6P/67Ob/+evk/8qwo/+ilov/AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt66n////////////////////
|
||||
/////////////////////////////////////////////////////////v38/6WYjv8AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4san/wry2/7+5
|
||||
sv+7ta3/t6+n/7Kpof+topr/p5uS/6GViv+bjYL/lYZ5/5B+cv+KeWr/hXJj/4BtXv99aFn/p5uR/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALqz
|
||||
q//p5+X/6OTh/+jk4f/n4+D/5+Hf/+Xg3P/l3tv/5N3Z/+Lb1//h2dT/4NjS/9/Wz//e083/3NHK/9vP
|
||||
yP+pnpX/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAvLWt///////++/r//fv5//76+f/9+vf//fj3//349f/89/P//PXy//vz8P/78+7/+/Hs//vv
|
||||
6v/67uj/1bSk/6ugl/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAC9trD////////8+////Pr//fz6//77+f/++fj//fn2//329P/89fL//PTx//zz
|
||||
7//78u3/+/Dr//vv6P/VtKT/rqOb/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+4sv////////38//79/P/+/Pr//vv5//75+P/9+fb//fj1//z2
|
||||
8//89PH//PPw//zy7f/78ev/+u/p/9W0pP+vpZ3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwLmz///////+/v3///39//79/P/+/Pr//vr5//35
|
||||
9//99/b//ffz//z08f/89O///PLt//vw6//67+n/5Mu//7GpoP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBurX///////////////////7+///+
|
||||
/v///v7///79///+/f/+/f3//v38//79/P/+/Pz//vz7//78+//99vT/s6uj/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK8tv/BvLX/wbu1/8C6
|
||||
tP/AubP/v7iy/7+4sf++t7D/vLav/7y1rv+7tK3/urOs/7myqv+5sKn/uK+o/7evp/+2raX/AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A
|
||||
AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A
|
||||
AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA/ygAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAA
|
||||
AAAAAAAAAAEAAAABAAAAAAAA/vn4AP349wD++vkA/PHtAPzz8AD78/AA/ff1AP77+gD12s8A9+HYAPjm
|
||||
3wD56uQA++/qAO3j3wDn4uAA0rGiAPPVxwD01skA89bJAPTYywDz18oA9dvQAPbd0gD13NEA9t7TAPXd
|
||||
0gD239UA9+HXAPfj2gD45NsA+erjAPjp4gD67OYA+/DrAPzz7wDl3tsA/PXyAMajkgDHppYA1bSkAMqw
|
||||
owD12s0A9NnMAPbd0QD13tMA9uDVAPXf1AD24tgA9+TbAPjl3AD46OAA+u7oAPzy7QD78ewA4trWAPz2
|
||||
8wDu6ugA/vz7AMirmwDz2csA59nRAN7TzQD78u0A/PXxAOnc1ADc0MkA/PTvAPvz7gD9+PUAkH5yAI18
|
||||
cADw7esAemVVAHtmVwB+aVoAfmpbAH9rXACBbV4AgGxdAIJuXwCDcGIAgm9hAI17bgCUhHgAloZ6AJyO
|
||||
hACtopoA9vLvAOjk4QB8aFgAfWlZAIVyYwCFc2UAh3VnAIl3aQCLemwAjn5xAJGBdACPf3IAmYp+AJuN
|
||||
ggCgk4gApZmPAKqflgCroJcAr6WdALivqACKeWoAkYJ1AJuNgQCfkYUAo5eMAKGVigCnnJIAsaeeAK6k
|
||||
mwC1rKQAtq2lAODY0QDAubMAv7iyALmxqQC3r6cAvLWuALqzrAC/uLEAvrewAMK8tgDAurQA/fr3AP37
|
||||
+QDp5+UA//79AP79/ACyqqEAvLWtALy2rwC7ta0A/fz6ADXFAAAr0QAA2/v9ANP4/ADd+/4A3Pr9ANv5
|
||||
/ADb+v4A1vT4AMjz+gDB6fAAz+zxANHt8gC77/kAvO/5AMLw+gDS9v0A2+rtALXs+QC27PkAter2AKbl
|
||||
9wCn5vcAqOb3AKvm9wDG4egAl971AJjg9gCo5vkAttnkAGvN8QBszvEAbc3xAG7O8gBvzvEAcM7xAHTP
|
||||
8QB40vMAetP0AHvU9AB81PQAfNPzAJDc9gCN1fAAkt32AJHY8QCe3/UAydvhAGzO8wBtzPIAb8zzAG3K
|
||||
7gBtyO0Aa8XqAHDO8gBwzfEAb8zwAG/M7wBvy+8Ab8ntAG7H7ABuyOsAbsfqAHLO8QBxy+8AcMnsAG3E
|
||||
5gBwx+kAd9HzAHLG6ABxxecAccHiAHXH5wByv94AeszsAHjC4QCfydkAq8jTALfR2wC2ztgAbsLmAG/A
|
||||
4wB0wOIAfLnUAJm8zAChvssArMnWAKzG0gCxy9YAjrXJAKS/zACnws8AnrfEAKnE0QCkvcoAorvIAKrE
|
||||
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
|
||||
AAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//
|
||||
AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/g
|
||||
AAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//
|
||||
AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD///////8AAP//
|
||||
/////wAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId0
|
||||
Zv+Fc2X/hXJj/4VyY/+DcGL/g3Bi/4NwYv+DcGL/g29h/4JuX/+BbV7/gGxd/4BsXP9+alv/fmla/31p
|
||||
Wf99aVn/fWlZ/31pWf98Z1j/e2dX/3tmVv96Zlb/emVV/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAIl3af/++/r/0rGi/9Kxov/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8aj
|
||||
kv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Hppb/e2ZX/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIt5a//++/r/9NnM//TZzP/02Mz/9NjM//TYzP/02Mz/9NjM//TY
|
||||
y//02Mv/9NfL//TYyv/z18n/89fK//TWyf/01sn/9NbJ//TWyf/z1sn/89bI//PVx//Iq5v/fGhY/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI17bv/+/Pr/9NrO//Tazv/12s7/9drO//Xa
|
||||
zv/12s7/9NnN//Tazf/02c3/9NnN//TZzP/02cz/9NjL//PXyv/z18r/89fK//PXyv8uzAD/OcEA//PW
|
||||
yP/Iq5v/fWlZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI5+cf/+/Pv/9dvP//Xb
|
||||
z//028//9NvP//Tbz//028//9dvP//Taz//12s7/9drO//Xazf/02c3/9NnM//TYzP/02Mz/9NjM//TY
|
||||
zP8n1QD/MckA//PYyv/Iq5v/f2tc/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGB
|
||||
dP/+/Pv/9dzS//Xc0v/13NH/9dzR//Xc0f/13NH/9d3R//Xd0f/13ND/9dzQ//Xb0P/028//9NvP//Xa
|
||||
zv/12s7/9drO//Xazv/12c3/9NnM//PZy//Iq5v/gW1e/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAJODd//+/Pv/9t7T//be0//13tP/9d7T//Xe0//13tP/9d7T//Xe0v/13dL/9d3S//Xc
|
||||
0v/13dH/9dvQ//Tbz//028//9NvP//Tbz//1287/9drO//Xazf/Iq5v/gW9g/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWGev/+/Pv/9t/V//bf1f/24NX/9uDV//bg1f/24NX/9t/V//bg
|
||||
1f/139T/9d7U//bf0//23tP/9t3S//bd0f/23dH/9t3R//bd0f/13ND/9dvQ//Xaz//Iq5v/g3Bi/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiJff/+/Pv/9+HX//fh1//34dj/0dnd/6vJ
|
||||
1v+hvsv/nbXD/562w/+Vq7r/kqm4/46uwP+Ptsr/jrLE/4+1yP+MtMr/q8XT//Xe0//13dL/9d3R//Xc
|
||||
0P/Iq5v/hXNl/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJqMgP/+/Pz/9+PZ//fj
|
||||
2f+10Nv/mbzM/5/J2f+w2ub/wenw/8Hp8P+16vb/l930/3rM7P9yxuj/dcfn/3jC4f98udT/ham9/4yy
|
||||
x//23tT/9d7T//Xd0v/Iq5v/h3Vn/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyO
|
||||
hP/+/fz/+OXc//jl3P+et8T/kdjx/6bl9/+77/n/yPP6/8jz+v+27Pn/l9/2/3fR8/9uy+//b8ru/2/J
|
||||
7f9xxef/b8Dj/42gsf/24Nb/9t/V//bf0//Iq5v/iXdp/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAJ+Rhv/+/fz/+Obf//jm3/+guMb/kNz2/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3nT
|
||||
9P9tzfH/b8vv/3DJ7P9ux+r/bcTm/42hsv/34df/9uDW//bf1f/Iq5v/i3ps/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGUif/+/fz/+Ojh//jo4f+husf/kNz2/6bm9/+87/n/yPP6/8jz
|
||||
+v+17Pj/meD2/3zU9P9szvP/b83w/2/L7v9uyOv/bcTm/4+js//34tn/9+HY//fh1v/Iq5v/jXxw/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+iu8j/kt32/6fm
|
||||
9/+77/n/yPP6/8jz+v+17Pn/meD2/3vU9P9tzPL/b83x/27L7/9tyOz/bcHn/5CktP/35Nv/9+Pa//bi
|
||||
2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq
|
||||
4/+kvcr/kt32/6fm9/+87/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9tzPL/b87x/2/L7/9tx+z/b8Pm/5Gm
|
||||
tv/35Nv/9+Pa//bi2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOX
|
||||
jP/+/fz/+erj//nq4/+et8T/kdjx/6bl9/+77/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9szfP/cc7x/2/L
|
||||
7/9ux+z/ccDi/42gsf/35Nv/9+Pa//bi2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+guMb/kNz2/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3vU
|
||||
9P9rzPH/cM7y/2/M7/9tyOr/b8Hl/42hsv/35Nv/9+Pa//bi2P/Hppb/kYJ1/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+husf/kNz2/6bm9/+87/n/yPP6/8jz
|
||||
+v+17Pj/meD2/3vU9P9szvH/bs7x/3DL7/9vx+n/ccLi/5Cltv/35Nv/9+Pa//bi2P/Hppb/kYJ1/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWaj//+/f3/+evl//nr5f+iu8j/kt32/6fm
|
||||
9/+77/n/yPP6/8jz+v+17Pn/meD2/3vV9P9rzvH/b87w/3DL7v9wx+n/cr7d/5KouP/45d3/9+Tc//jk
|
||||
2//Hppb/kYJ1/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKedk////v7//vv6//77
|
||||
+v+kvcr/kt32/6fm9/+87/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9tzPL/b87x/3HL7v9vx+r/c7/f/5Gn
|
||||
uP/++vn//vr4//76+P/99/X/lIR4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuf
|
||||
lv/w7ev/7ePf/+3j3/+kv8z/kt32/6jm9/+87/n/yPP6/8jz+v+17Pn/mOD2/3vU9P9vzPP/cM3x/3HL
|
||||
7/9vx+r/ccDf/5KpuP/p3NX/6NvT/+fa0v/m2ND/l4d7/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAKyhmf/CvLb/v7iy/7+4sv+mwc7/kt32/6jm9/+87/n/yPP6/8jz+v+27Pn/meD2/3vT
|
||||
9P9uzvH/cM7x/3HL7/9ux+r/dMDi/5Squv+KeGr/hXNk/4BtXv99aFn/mYt+/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+nws//kt32/6jm9/+87/n/yPP6/8jz
|
||||
+v+27Pn/mOD2/3vT9P9uzvL/cM7x/2/M7/9ux+v/ccLi/5Wruv/56uT/+eri//jo4P/KsKP/m42B/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+pxNH/kt32/6jm
|
||||
9/+87/n/yPP6/8jz+v+27Pn/l9/2/3jS8/9uzPD/cs7x/3DM8P9tyO3/bcTn/5etvf/56uT/+eri//jo
|
||||
4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy
|
||||
7f+rx9L/kt32/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3zT8/9vzPD/dM/x/2/M8P9tyu7/a8Xq/5iv
|
||||
vv/56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6k
|
||||
m////v3/+/Lt//vy7f+ryNP/qOb5/8Tx+v/T+Pz/2/v9/9v7/f/c+/7/2/r+/9L2/f/B7/r/we/6/6vm
|
||||
9/+e3/X/jdXw/5qxv//56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+tydX/3fv+/937/v/d+/7/3fv+/937/v/d+/7/3Pv9/9z6
|
||||
/f/c+v3/3Pr9/9v6/f/b+v3/3fv+/5uzwf/56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f/K4Of/u9jh/8Xj6v/P7PH/1vT4/9b0
|
||||
+P/b+fz/2/n8/9b0+P/R7fL/1/X5/9Dt8v/C3+b/sszW/7PM1v/56uT/+eri//jo4P/KsKP/m42B/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGnnv///v7//PPv//zz7//28u//2+rt/8Pd
|
||||
5f+4093/r8vW/7HL1v+qxNH/p8LP/6zG0v+2ztj/q8bS/7DL1v+30dr/yNzh/+7q6P/56+X/+evk//jp
|
||||
4v/KsKP/npCE/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKqof///v7//PXx//z1
|
||||
8f/89fH//PXx//z18f/89fH//PTx//z08P/88+///PLu//zx7f/78Oz/+vDq//ru6P/67uj/+u7o//ru
|
||||
6P/67Of/+ezl//nq4//KsKP/oJOI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWs
|
||||
pP///v7//fbz//328//89vP//Pbz//z28//89vP//Pbz//z18v/89fD//PPv//vz7v/78u3/+vHr//vv
|
||||
6v/77+r/++/q//vv6v/67uj/+uzm//nr5P/KsKP/opaL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAALeup///////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////+/fz/pZiO/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAALixqf/CvLb/v7my/7+5sv+7ta3/u7Wt/7u1rf+7ta3/t6+n/7Kp
|
||||
of+topr/p5uS/6GViv+bjYL/lYZ5/5B+cv+QfnL/kH5y/5B+cv+KeWr/hXJj/4BtXv99aFn/p5uR/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALqzq//p5+X/6OTh/+jk4f/o5OH/6OTh/+jk
|
||||
4f/o5OH/5+Pg/+fh3//l4Nz/5d7b/+Td2f/i29f/4dnU/+DY0v/g2NL/4NjS/+DY0v/f1s//3tPN/9zR
|
||||
yv/bz8j/qZ6V/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77
|
||||
+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz
|
||||
7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1
|
||||
rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz
|
||||
7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z3
|
||||
8//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//36
|
||||
9//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37
|
||||
+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru
|
||||
6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL22sP////////z7///8
|
||||
+////Pr///z6///8+v///Pr//fz6//77+f/++fj//fn2//329P/89fL//PTx//zz7//88+///PPv//zz
|
||||
7//78u3/+/Dr//vv6P/VtKT/rqOb/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+4
|
||||
sv////////38///9/P/+/fz//v38//79/P/+/fz//vz6//77+f/++fj//fn2//349f/89vP//PTx//zz
|
||||
8P/88/D//PPw//zz8P/88u3/+/Hr//rv6f/VtKT/r6Wd/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAMC5s////////v79//7+/f///f3///39///9/f///f3//v38//78+v/++vn//fn3//33
|
||||
9v/99/P//PTx//z07//89O///PTv//z07//88u3/+/Dr//rv6f/VtKT/samg/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMG6tf////////////////////////////////////////7+///+
|
||||
/v///v7///79///+/f/+/f3//v38//79/P/+/fz//v38//79/P/+/Pz//vz7//78+//99vT/s6uj/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK8tv/BvLX/wbu1/8G7tf/AurT/wLq0/8C6
|
||||
tP/AurT/wLmz/7+4sv+/uLH/vrew/7y2r/+8ta7/u7St/7qzrP+6s6z/urOs/7qzrP+5sqr/ubCp/7iv
|
||||
qP+3r6f/tq2l/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//
|
||||
AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w
|
||||
AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//
|
||||
AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w
|
||||
AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//
|
||||
AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w
|
||||
AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA////////AAD///////8AAA==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
+475
@@ -0,0 +1,475 @@
|
||||
namespace DemoWorkload
|
||||
{
|
||||
partial class FrmMain
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
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.btnRegress = new System.Windows.Forms.Button();
|
||||
this.btnAutoTune = 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.btnReset = new System.Windows.Forms.Button();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.btnToggle = new System.Windows.Forms.Button();
|
||||
this.chtPageReads = 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.chtPageReads)).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(421, 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(691, 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);
|
||||
//
|
||||
// btnRegress
|
||||
//
|
||||
this.btnRegress.BackColor = System.Drawing.Color.White;
|
||||
this.btnRegress.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnRegress.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btnRegress.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
this.btnRegress.Location = new System.Drawing.Point(511, 16);
|
||||
this.btnRegress.Name = "btnRegress";
|
||||
this.btnRegress.Size = new System.Drawing.Size(84, 30);
|
||||
this.btnRegress.TabIndex = 46;
|
||||
this.btnRegress.Text = "Regress";
|
||||
this.btnRegress.UseVisualStyleBackColor = false;
|
||||
this.btnRegress.Click += new System.EventHandler(this.btnRegress_Click);
|
||||
//
|
||||
// btnAutoTune
|
||||
//
|
||||
this.btnAutoTune.BackColor = System.Drawing.Color.White;
|
||||
this.btnAutoTune.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnAutoTune.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btnAutoTune.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
this.btnAutoTune.Location = new System.Drawing.Point(601, 16);
|
||||
this.btnAutoTune.Name = "btnAutoTune";
|
||||
this.btnAutoTune.Size = new System.Drawing.Size(84, 30);
|
||||
this.btnAutoTune.TabIndex = 47;
|
||||
this.btnAutoTune.Text = "Auto Tune";
|
||||
this.btnAutoTune.UseVisualStyleBackColor = false;
|
||||
this.btnAutoTune.Click += new System.EventHandler(this.btnAutoTune_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(3, 0);
|
||||
this.lbResults.Name = "lbResults";
|
||||
this.lbResults.Size = new System.Drawing.Size(235, 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(18, 90);
|
||||
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(755, 267);
|
||||
this.chtTPS.TabIndex = 33;
|
||||
this.chtTPS.Text = "chtTPS";
|
||||
//
|
||||
// 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.btnReset);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnAutoTune);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnRegress);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label2);
|
||||
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.chtPageReads);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.chtCPU);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(786, 655);
|
||||
this.splitContainer1.SplitterDistance = 398;
|
||||
this.splitContainer1.TabIndex = 39;
|
||||
//
|
||||
// btnReset
|
||||
//
|
||||
this.btnReset.BackColor = System.Drawing.Color.White;
|
||||
this.btnReset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnReset.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btnReset.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
this.btnReset.Location = new System.Drawing.Point(173, 362);
|
||||
this.btnReset.Name = "btnReset";
|
||||
this.btnReset.Size = new System.Drawing.Size(84, 30);
|
||||
this.btnReset.TabIndex = 48;
|
||||
this.btnReset.Text = "Reset";
|
||||
this.btnReset.UseVisualStyleBackColor = false;
|
||||
this.btnReset.Click += new System.EventHandler(this.btnReset_Click);
|
||||
//
|
||||
// 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(58, 70);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(142, 17);
|
||||
this.label2.TabIndex = 42;
|
||||
this.label2.Text = "Batch Requests / sec";
|
||||
//
|
||||
// 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);
|
||||
//
|
||||
// chtPageReads
|
||||
//
|
||||
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 = 20000D;
|
||||
chartArea2.AxisY.Minimum = 0D;
|
||||
chartArea2.AxisY.Title = "Current Page Reads / 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.chtPageReads.ChartAreas.Add(chartArea2);
|
||||
this.chtPageReads.Location = new System.Drawing.Point(0, 120);
|
||||
this.chtPageReads.Name = "chtPageReads";
|
||||
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 = "PageReads";
|
||||
series2.Points.Add(dataPoint2);
|
||||
this.chtPageReads.Series.Add(series2);
|
||||
this.chtPageReads.Size = new System.Drawing.Size(685, 84);
|
||||
this.chtPageReads.TabIndex = 42;
|
||||
this.chtPageReads.Text = "chtPageReads";
|
||||
this.chtPageReads.Click += new System.EventHandler(this.chtPageReads_Click);
|
||||
//
|
||||
// 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, 253);
|
||||
this.chtCPU.TabIndex = 41;
|
||||
this.chtCPU.Click += new System.EventHandler(this.chtCPU_Click);
|
||||
//
|
||||
// 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:";
|
||||
//
|
||||
// FrmMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
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 = "FrmMain";
|
||||
this.Text = "WideWorldImporters Report";
|
||||
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.chtPageReads)).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.Button btnAutoTune;
|
||||
private System.Windows.Forms.Button btnRegress;
|
||||
private System.Windows.Forms.Button btnReset;
|
||||
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 label2;
|
||||
private System.Windows.Forms.DataVisualization.Charting.Chart chtPageReads;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,746 @@
|
||||
//----------------------------------------------------------------------------------
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||
// EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
|
||||
// OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//----------------------------------------------------------------------------------
|
||||
// The example companies, organizations, products, domain names,
|
||||
// e-mail addresses, logos, people, places, and events depicted
|
||||
// herein are fictitious. No association with any real company,
|
||||
// organization, product, domain name, email address, logo, person,
|
||||
// places, or events is intended or should be inferred.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
using System.Windows.Forms.Integration;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Documentation References:
|
||||
/// Automatic Tuning: http://docs.microsoft.com/sql/relational-databases/automatic-tuning/automatic-tuning
|
||||
/// </summary>
|
||||
///
|
||||
|
||||
namespace DemoWorkload
|
||||
{
|
||||
public partial class FrmMain : Form
|
||||
{
|
||||
delegate void SetTextCallback(string text);
|
||||
|
||||
public Object ErrorLock = new Object();
|
||||
public Object StopLock = new Object();
|
||||
|
||||
List<Thread> RunningThreads = new List<Thread>();
|
||||
Thread MonitorThread;
|
||||
|
||||
bool Stopped = true;
|
||||
long BaselineTPS = 1;
|
||||
int Height_2Panels = 0;
|
||||
int Height_1Panel = 0;
|
||||
int TPSChartTime = 0;
|
||||
|
||||
public int ReadAutoTune()
|
||||
{
|
||||
string ConfigSelect = string.Format("select count(*) from sys.database_automatic_tuning_options where actual_state = 1");
|
||||
|
||||
System.Data.SqlClient.SqlConnection conn = new SqlConnection(Program.CONN_STR);
|
||||
|
||||
SqlCommand ConfigQuery = new SqlCommand();
|
||||
ConfigQuery.Connection = conn;
|
||||
ConfigQuery.CommandTimeout = 600;
|
||||
ConfigQuery.CommandText = ConfigSelect;
|
||||
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
int status = (int)ConfigQuery.ExecuteScalar();
|
||||
return status;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowThreadExceptionDialog("AutoTuneStatus", ex);
|
||||
return 0;
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
}
|
||||
|
||||
public FrmMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
delegate void SetInt64Callback(Int64 value);
|
||||
delegate void SetIntCallback(int value);
|
||||
|
||||
/// <summary>
|
||||
/// Adds a line of text into the message box
|
||||
/// </summary>
|
||||
private void AddText(string text)
|
||||
{
|
||||
// InvokeRequired required compares the thread ID of the
|
||||
// calling thread to the thread ID of the creating thread.
|
||||
// If these threads are different, it returns true.
|
||||
if (this.ErrorMessages.InvokeRequired)
|
||||
{
|
||||
SetTextCallback d = new SetTextCallback(AddText);
|
||||
this.Invoke(d, new object[] { text });
|
||||
}
|
||||
else
|
||||
{
|
||||
this.ErrorMessages.AppendText("\r\n" + text);
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Updates the thread count display
|
||||
/// </summary>
|
||||
private void UpdateCount(string TC)
|
||||
{
|
||||
try { this.lblThreads.Text = TC.ToString(); }
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("UpdateCount", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates the elapsed time display
|
||||
/// </summary>
|
||||
private void UpdateElapsed(string Elapsed)
|
||||
{
|
||||
this.lblTime.Text = Elapsed.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates the CPU% bar in the chart
|
||||
/// Note that this proc does NOT cause the chart to refresh.
|
||||
/// that is done in UpdateTPS(), which should be called after this proc.
|
||||
/// </summary>
|
||||
private void UpdateCPUChart(int CPU)
|
||||
{
|
||||
try {
|
||||
if (this.statusStrip1.InvokeRequired)
|
||||
{
|
||||
SetIntCallback d = new SetIntCallback(UpdateCPUChart);
|
||||
this.Invoke(d, new object[] { CPU });
|
||||
}
|
||||
else
|
||||
{
|
||||
CPU = (CPU == 0) ? 1 : CPU;
|
||||
this.chtCPU.Series["CPUUsage"].Points.Clear();
|
||||
this.chtCPU.Series["CPUUsage"].Points.Add(new DataPoint(0, CPU));
|
||||
this.chtCPU.Update();
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("UpdateCPUChart", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates PageReads in the Chart
|
||||
/// </summary>
|
||||
private void UpdatePageReadChart(Int64 PageReads)
|
||||
{
|
||||
try {
|
||||
if (this.statusStrip1.InvokeRequired)
|
||||
{
|
||||
SetInt64Callback d = new SetInt64Callback(UpdatePageReadChart);
|
||||
this.Invoke(d, new object[] { PageReads });
|
||||
}
|
||||
else
|
||||
{
|
||||
PageReads = (PageReads == 0) ? 1 : PageReads;
|
||||
this.chtPageReads.Series["PageReads"].Points.Clear();
|
||||
this.chtPageReads.Series["PageReads"].Points.Add(new DataPoint(0, PageReads));
|
||||
this.chtPageReads.Update();
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("UpdatePageReadChart", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates the TPS bar in the chart, and causes the whole chart to be re-drawn with the new data.
|
||||
/// </summary>
|
||||
private void UpdateTPSChart(Int64 TPS)
|
||||
{
|
||||
try {
|
||||
if (this.statusStrip1.InvokeRequired)
|
||||
{
|
||||
SetInt64Callback d = new SetInt64Callback(UpdateTPSChart);
|
||||
this.Invoke(d, new object[] { TPS });
|
||||
}
|
||||
else
|
||||
{
|
||||
// Updating Speedometer
|
||||
if (TPS >= 0)
|
||||
{
|
||||
//double normalizedTPS = (double)TPS;
|
||||
//uiControls.speedDial.CurrentValue = normalizedTPS;
|
||||
//uiControls.speedDial.DialText = normalizedTPS.ToString("#.##");
|
||||
|
||||
// Updating TPS chart
|
||||
TPSChartTime++;
|
||||
|
||||
// X Axis Overflow
|
||||
if (TPSChartTime > this.chtTPS.ChartAreas[0].AxisX.Maximum)
|
||||
{
|
||||
this.chtTPS.ChartAreas[0].AxisX.Maximum += 100;
|
||||
}
|
||||
|
||||
this.chtTPS.Series[0].Points.Add(new System.Windows.Forms.DataVisualization.Charting.DataPoint(TPSChartTime, TPS));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.chtTPS.Series[0].Points.Clear();
|
||||
TPSChartTime = 0;
|
||||
}
|
||||
this.chtTPS.Update();
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("UpdateTPSChart", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates Results
|
||||
/// </summary>
|
||||
public void UpdateResults(string Results)
|
||||
{
|
||||
try
|
||||
{
|
||||
lock (StopLock)
|
||||
{
|
||||
if (Stopped)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (this.statusStrip1.InvokeRequired)
|
||||
{
|
||||
SetTextCallback d = new SetTextCallback(UpdateResults);
|
||||
this.Invoke(d, new object[] { Results });
|
||||
}
|
||||
else
|
||||
{
|
||||
this.lbResults.Text = Results;
|
||||
this.lbResults.Refresh();
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("UpdateResults", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes Read Commands
|
||||
/// </summary>
|
||||
void OnRunClick(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
//string ReadCommand;
|
||||
string WriteCommand;
|
||||
lock (StopLock)
|
||||
{
|
||||
Stopped = false;
|
||||
}
|
||||
|
||||
WriteCommand = "DECLARE @packagetypeid int = 7; EXEC dbo.report @packagetypeid";
|
||||
this.ErrorMessages.Clear();
|
||||
|
||||
ThreadParams tp = new ThreadParams(Program.REQUEST_COUNT, Program.TRANSACTION_COUNT, Program.ROW_COUNT, WriteCommand);
|
||||
for (int j = 0; j < Program.THREAD_COUNT; j++)
|
||||
{
|
||||
int Threads = RunningThreads.Count();
|
||||
// Create a thread with parameters.
|
||||
ParameterizedThreadStart pts = new ParameterizedThreadStart(ThreadWorker);
|
||||
RunningThreads.Add(new Thread(pts));
|
||||
RunningThreads.ElementAt(Threads).Start(tp);
|
||||
}
|
||||
ThreadStart ts1 = new ThreadStart(ThreadMonitor);
|
||||
this.MonitorThread = new Thread(ts1);
|
||||
this.MonitorThread.Start();
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("OnRunClick", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes Transactions on the target server
|
||||
/// </summary>
|
||||
void ThreadWorker(object tp)
|
||||
{
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Connect to the data source.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
System.Data.SqlClient.SqlConnection conn = new SqlConnection(Program.CONN_STR);
|
||||
|
||||
ThreadParams MyTP = (ThreadParams)tp;
|
||||
SqlCommand WriteCmd = new SqlCommand();
|
||||
WriteCmd.Connection = conn;
|
||||
WriteCmd.CommandTimeout = 600;
|
||||
WriteCmd.CommandText = MyTP.WriteCommandText;
|
||||
WriteCmd.Parameters.Add("@ServerTransactions", SqlDbType.Int, 4).Value = (int)MyTP.serverTransactions;
|
||||
WriteCmd.Parameters.Add("@RowsPerTransaction", SqlDbType.Int, 4).Value = (int)MyTP.rowsPerTransaction;
|
||||
WriteCmd.Parameters.Add("@ThreadID", SqlDbType.Int, 4).Value = (int)Thread.CurrentThread.ManagedThreadId;
|
||||
|
||||
// Executing transactions on the target server
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
for (int i = 0; i < MyTP.requestsPerThread; i++)
|
||||
{
|
||||
lock (StopLock)
|
||||
{
|
||||
if (Stopped)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
WriteCmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
lock (this.ErrorLock)
|
||||
{
|
||||
this.AddText(ex.Message + " " + Thread.CurrentThread.ManagedThreadId.ToString());
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Thread Monitor
|
||||
/// </summary>
|
||||
void ThreadMonitor()
|
||||
{
|
||||
//Set-up & initialization
|
||||
DateTime Start = DateTime.Now;
|
||||
DateTime PerfCounterStart = DateTime.Now, PerfCounterEnd;
|
||||
Int64 LastPerfCounterValue = 0, ThisPerfCounterValue = 0, TPS = 0;
|
||||
Int64 PageReadCounterValue = 0, LastPageReadCounter = 0, ThisPageReadCounter = 0;
|
||||
int CPU_Usage = 0;
|
||||
int mo_tables = 0;
|
||||
PerformanceCounter CPUCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
|
||||
Int64 TotalTPS = 0, TotalIterations = 0;
|
||||
|
||||
// Open the connection
|
||||
System.Data.SqlClient.SqlConnection conn = new SqlConnection(Program.CONN_STR);
|
||||
|
||||
string cmdStr = string.Format("select max(cntr_value) FROM sys.dm_os_performance_counters WHERE counter_name = 'Batch Requests/sec'");
|
||||
string PageReadcmdStr = string.Format("select max(cntr_value) FROM sys.dm_os_performance_counters WHERE counter_name = 'Page reads/sec'");
|
||||
|
||||
SqlCommand Perfcmd = new SqlCommand();
|
||||
Perfcmd.Connection = conn;
|
||||
Perfcmd.CommandTimeout = 600;
|
||||
Perfcmd.CommandText = cmdStr;
|
||||
|
||||
//query to determine which stage we're in
|
||||
SqlCommand PageReadcmd = new SqlCommand();
|
||||
PageReadcmd.Connection = conn;
|
||||
PageReadcmd.CommandTimeout = 600;
|
||||
PageReadcmd.CommandText = PageReadcmdStr;
|
||||
|
||||
// string ConfigSelect = string.Format("select count(*) from sys.database_automatic_tuning_options where actual_state = 1");
|
||||
//
|
||||
// SqlCommand ConfigQuery = new SqlCommand();
|
||||
// ConfigQuery.Connection = conn;
|
||||
// ConfigQuery.CommandTimeout = 600;
|
||||
// ConfigQuery.CommandText = ConfigSelect;
|
||||
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
lock (this.ErrorLock)
|
||||
{
|
||||
this.AddText(ex.Message + " " + Thread.CurrentThread.ManagedThreadId.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
if (conn.State != ConnectionState.Open)
|
||||
{
|
||||
MessageBox.Show("Monitor failed to connect to server.", "Error", MessageBoxButtons.OK);
|
||||
return;
|
||||
}
|
||||
|
||||
mo_tables = ReadAutoTune();
|
||||
|
||||
if (mo_tables == 0)
|
||||
{
|
||||
//This is the case where Auto Tuning is turned OFF.
|
||||
UpdateResults("Baseline");
|
||||
//Calling UpdateTPSChart with a negative value causes it to clear the current chart and reset.
|
||||
UpdateTPSChart(-1);
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateResults("Auto Tuning");
|
||||
}
|
||||
|
||||
while (RunningThreads.Count > 0)
|
||||
{
|
||||
List<Thread> DeadThreads = new List<Thread>();
|
||||
foreach (Thread MyThread in RunningThreads)
|
||||
{
|
||||
if (!MyThread.IsAlive)
|
||||
{
|
||||
DeadThreads.Add(MyThread);
|
||||
}
|
||||
}
|
||||
foreach (Thread DThread in DeadThreads)
|
||||
{
|
||||
RunningThreads.Remove(DThread);
|
||||
}
|
||||
DeadThreads.Clear();
|
||||
PerfCounterEnd = DateTime.Now;
|
||||
|
||||
try
|
||||
{
|
||||
ThisPerfCounterValue = (Int64)Perfcmd.ExecuteScalar();
|
||||
ThisPageReadCounter = (Int64)PageReadcmd.ExecuteScalar();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
lock (this.ErrorLock)
|
||||
{
|
||||
this.AddText(ex.Message + " " + Thread.CurrentThread.ManagedThreadId.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
if (LastPageReadCounter == 0)
|
||||
{
|
||||
LastPageReadCounter = ThisPageReadCounter;
|
||||
}
|
||||
|
||||
if (LastPerfCounterValue != 0)
|
||||
{
|
||||
CPU_Usage = (int)CPUCounter.NextValue();
|
||||
|
||||
TimeSpan PerfCounterInterval = PerfCounterEnd - PerfCounterStart;
|
||||
if (PerfCounterInterval.Milliseconds > 0)
|
||||
{
|
||||
TPS = (Int64)((ThisPerfCounterValue - LastPerfCounterValue) / (float)(PerfCounterInterval.Seconds + (PerfCounterInterval.Milliseconds / 1000)));
|
||||
PageReadCounterValue = (Int64)((ThisPageReadCounter - LastPageReadCounter) / (float)(PerfCounterInterval.Seconds + (PerfCounterInterval.Milliseconds / 1000)));
|
||||
UpdateCPUChart(CPU_Usage);
|
||||
UpdatePageReadChart(PageReadCounterValue);
|
||||
UpdateTPSChart(TPS);
|
||||
}
|
||||
if (mo_tables == 0)
|
||||
{
|
||||
TotalTPS += TPS;
|
||||
TotalIterations += 1;
|
||||
BaselineTPS = TotalTPS / TotalIterations;
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateResults("Auto Tuning");
|
||||
}
|
||||
}
|
||||
|
||||
PerfCounterStart = PerfCounterEnd;
|
||||
LastPerfCounterValue = ThisPerfCounterValue;
|
||||
LastPageReadCounter = ThisPageReadCounter;
|
||||
PerfCounterStart = PerfCounterEnd;
|
||||
this.UpdateCount(RunningThreads.Count.ToString());
|
||||
Thread.Sleep(1000);
|
||||
TimeSpan Elapsed = DateTime.Now - Start;
|
||||
UpdateElapsed(Elapsed.ToString(@"hh\:mm\:ss"));
|
||||
}
|
||||
|
||||
TPS = 0;
|
||||
CPU_Usage = 0;
|
||||
PageReadCounterValue = 0;
|
||||
UpdatePageReadChart(PageReadCounterValue);
|
||||
UpdateCPUChart(CPU_Usage);
|
||||
UpdateTPSChart(TPS);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Stop Button
|
||||
/// </summary>
|
||||
private void btnStop_Click(object sender, EventArgs e)
|
||||
{
|
||||
lock (StopLock)
|
||||
{
|
||||
Stopped = true;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Application Exit
|
||||
/// </summary>
|
||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Application.Exit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Regression Button
|
||||
/// </summary>
|
||||
private void btnRegress_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
string RegressCommand;
|
||||
lock (StopLock)
|
||||
{
|
||||
Stopped = false;
|
||||
}
|
||||
|
||||
RegressCommand = "DBCC FREEPROCCACHE; DECLARE @packagetypeid int = 1; EXEC dbo.report @packagetypeid";
|
||||
this.ErrorMessages.Clear();
|
||||
|
||||
// Open the connection
|
||||
System.Data.SqlClient.SqlConnection conn = new SqlConnection(Program.CONN_STR);
|
||||
|
||||
SqlCommand RegressCmd = new SqlCommand();
|
||||
RegressCmd.Connection = conn;
|
||||
RegressCmd.CommandTimeout = 600;
|
||||
RegressCmd.CommandText = RegressCommand;
|
||||
|
||||
// Executing command on the target server
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
RegressCmd.ExecuteNonQuery();
|
||||
|
||||
UpdateResults("Regression");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
lock (this.ErrorLock)
|
||||
{
|
||||
this.AddText(ex.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("btnRegress_Click", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Auto Tuning Button
|
||||
/// </summary>
|
||||
private void btnAutoTune_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
string AutoTuneCommand;
|
||||
lock (StopLock)
|
||||
{
|
||||
Stopped = false;
|
||||
}
|
||||
|
||||
AutoTuneCommand = " ALTER DATABASE current SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON ); DBCC FREEPROCCACHE; ALTER DATABASE current SET QUERY_STORE CLEAR ALL;";
|
||||
this.ErrorMessages.Clear();
|
||||
|
||||
// Open the connection
|
||||
System.Data.SqlClient.SqlConnection conn = new SqlConnection(Program.CONN_STR);
|
||||
|
||||
SqlCommand AutoTuneCmd = new SqlCommand();
|
||||
AutoTuneCmd.Connection = conn;
|
||||
AutoTuneCmd.CommandTimeout = 600;
|
||||
AutoTuneCmd.CommandText = AutoTuneCommand;
|
||||
|
||||
// Executing command on the target server
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
AutoTuneCmd.ExecuteNonQuery();
|
||||
int mo_tables = ReadAutoTune();
|
||||
|
||||
if (mo_tables == 1)
|
||||
{
|
||||
UpdateResults("Auto Tuning");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
lock (this.ErrorLock)
|
||||
{
|
||||
this.AddText(ex.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("btnAutoTune_Click", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset Button
|
||||
/// </summary>
|
||||
private void btnReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
string ResetCommand;
|
||||
lock (StopLock)
|
||||
{
|
||||
Stopped = false;
|
||||
}
|
||||
|
||||
ResetCommand = "DBCC FREEPROCCACHE; ALTER DATABASE current SET QUERY_STORE CLEAR ALL; ALTER DATABASE current SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = OFF );";
|
||||
this.ErrorMessages.Clear();
|
||||
|
||||
// Open the connection
|
||||
System.Data.SqlClient.SqlConnection conn = new SqlConnection(Program.CONN_STR);
|
||||
|
||||
SqlCommand ResetCmd = new SqlCommand();
|
||||
ResetCmd.Connection = conn;
|
||||
ResetCmd.CommandTimeout = 600;
|
||||
ResetCmd.CommandText = ResetCommand;
|
||||
|
||||
// Executing command on the target server
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
ResetCmd.ExecuteNonQuery();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
lock (this.ErrorLock)
|
||||
{
|
||||
this.AddText(ex.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("btnReset_Click", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Configuration Settings
|
||||
/// </summary>
|
||||
private void configurationToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
FrmConfig cf = new FrmConfig();
|
||||
cf.ShowDialog();
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("configurationToolStripMenuItem_Click", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Show Diagnostics
|
||||
/// </summary>
|
||||
private void btnToggle_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
splitContainer1.Panel2Collapsed = !splitContainer1.Panel2Collapsed;
|
||||
if (splitContainer1.Panel2Collapsed)
|
||||
{
|
||||
this.Height = this.Height_1Panel;
|
||||
btnToggle.Text = "Show diagnostics";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Height = this.Height_2Panels;
|
||||
btnToggle.Text = "Hide diagnostics";
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("btnToggle_Click", ex); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Frm Main Load
|
||||
/// </summary>
|
||||
private void FrmMain_Load(object sender, EventArgs e)
|
||||
{
|
||||
try {
|
||||
ElementHost host = new ElementHost();
|
||||
|
||||
host.Dock = DockStyle.Fill;
|
||||
|
||||
this.Height_1Panel = splitContainer1.Panel1.Height + 100;
|
||||
this.Height_2Panels = this.Height;
|
||||
splitContainer1.Panel2Collapsed = true;
|
||||
this.Height = Height_1Panel;
|
||||
}
|
||||
catch (Exception ex) { ShowThreadExceptionDialog("FrmMain_Load", ex);}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Frm Main Closing
|
||||
/// </summary>
|
||||
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
lock (StopLock)
|
||||
{
|
||||
Stopped = true;
|
||||
}
|
||||
Thread.Sleep(1000);
|
||||
if (MonitorThread != null && MonitorThread.ThreadState == System.Threading.ThreadState.Running)
|
||||
{
|
||||
MonitorThread.Abort();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates an error message and displays it.
|
||||
/// </summary>
|
||||
private static DialogResult ShowThreadExceptionDialog(string title, Exception e)
|
||||
{
|
||||
string errorMsg = "An application error occurred";
|
||||
errorMsg = errorMsg + e.Message + "\n\nStack Trace:\n" + e.StackTrace;
|
||||
return MessageBox.Show(errorMsg, title, MessageBoxButtons.AbortRetryIgnore,
|
||||
MessageBoxIcon.Stop);
|
||||
}
|
||||
|
||||
private void chtPageReads_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void chtCPU_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ThreadParams Class
|
||||
/// </summary>
|
||||
class ThreadParams
|
||||
{
|
||||
public int requestsPerThread; // how many many separate client requests per thread
|
||||
public int serverTransactions; // how many separate transactions to run on the server per request
|
||||
public int rowsPerTransaction; // how many rows to inserts/read per transaction
|
||||
public string WriteCommandText; // command text for request
|
||||
|
||||
public ThreadParams(int requestsPerThread, int serverTransactions, int rowsPerTransaction, string WriteCommandText)
|
||||
{
|
||||
this.requestsPerThread = requestsPerThread;
|
||||
this.serverTransactions = serverTransactions;
|
||||
this.rowsPerTransaction = rowsPerTransaction;
|
||||
this.WriteCommandText = WriteCommandText;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,506 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>126, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
w/9XjVj/x6SU/1pGN/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo46E///////Ixsb/maux/6Cq
|
||||
rf9xj57/1sa9/8iomP9iTkD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKaTh///////jbXF/5Xi
|
||||
/P/H8/r/aL7i/6aqr//Iq5v/Z1VG/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACploz//////5LF
|
||||
2v+V4/3/x/P6/2bB6P+BlqP/ya6g/29cT/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArZyS////
|
||||
//+VyN7/leP9/8fz+v9mveT/rb7J/8qwo/92ZFb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGg
|
||||
mP//////mM3g/6Dq/v/H8/r/cMvu/6zCzv/24tj/f21f/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAC2p57/3tTN/7PX4v/F9P3/zvr+/7vs9v+ksLT/kXpp/5F6af8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAu62l///////c7fH/u9jg/6zL1P+yzdf/5uvs/825rv+Rf3T/AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAMC0rf//////////////////////////////////////mYh9/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADGubP/18m+/8Swov+9qZv/tqKS/66Ziv+mkYH/n4h4/5+IeP8AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA0MfD///////8+PX/+vLs//jq4//35Nv/9d7T/9e5qv+vn5X/AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAANDJxf/8/Pz////////////////////////////h3Nj/vqyf/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADT0c7/xsC8/8K6tf+9s63/uK2n/7mtp/+5raf/tqmh/9HG
|
||||
wP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/
|
||||
AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAA//8AACgAAAAgAAAAQAAAAAEACAAAAAAAAAQAAAAA
|
||||
AAAAAAAAAAEAAAABAAAAAAAA//7+AP339gD++fgA/vr5AP329AD88/AA/PTxAPvz8ADn4d8A/vv6APXa
|
||||
zwD45t8A++/qAO3j3wDSsaIA89XHAPTWyQDz1skA9NjLAPPXygD129AA9dzRAPXd0gD239UA9+HXAPjo
|
||||
4QD56uMA+OniAPrs5gD56+UA/PPvAPz18gDGo5IAx6aWANW0pADava4AyrCjAPXazQD02cwA5Mu/APbf
|
||||
0wD13tMA9+PZAPjl3AD88u0A+/HsAPz28wD9+fcA/vz7AMirmwDz2csAzbmuAOfZ0QDe080A+/LtAOXe
|
||||
2gDi29cA28/IANzRygD67+gA+/HrAOHZ1AD89O8A+/PuAPPr5gD9+PUAg29hAJB+cgCNfHAA8O3rAHpl
|
||||
VQB7ZlcAfmlaAH5qWwB/a1wAgW1eAIBsXQCCbl8Ag3BiAI17bgCUhHgAk4N3AJeHewCcjoQApZiOAKeb
|
||||
kgCrn5YAraKaAKyhmQCuo5sA4NjSAMG6tQDo5OEA5+PgAHxoWAB9aVkAhXJjAIFvYACFc2UAh3VnAIl3
|
||||
aQCLeWsAi3psAI5+cQCRgXQAj39yAJWGegCYiX0Am42CAJ+RhgChlIkAoJOIAKebkQCpnpUAq6CXAK+l
|
||||
nQC4r6gA39bPAOXg3ACRgnUAlYZ5AJmLfgCekIQAm42BAKOXjACilosAoZWKALGnngCupJsAtaykALKp
|
||||
oQC2raUAwLmzAL+4sgC9trAApZqPAKedkwC5sakAt6+nALOrowC8ta4AurOsAL+4sQC+t7AAwry2AP36
|
||||
9wD9+/kA6eflAP79/ACyqqEAsamgALy1rQC6s6sAubKqALy2rwC7ta0Awby1APb08QD9/PoAOcEAADHJ
|
||||
AAAuzAAAJ9UAANP4/ADd+/4A2/n8ANv6/gDV8/cA0Pb9AM/s8QC77/kAvO/5AMTx+gDM6e8Atez5ALbs
|
||||
+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
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyqqH///7+//z18f/29PH/3uvu/8rg5v+10tv/qsTR/6fC
|
||||
z/+sxtH/ts3Y/8PX3v/Z4uX/8+vm//nq4//Nua7/oJOI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWspP///v7//fbz//z28//89vP//PXy//z1
|
||||
8P/88+//+/Pu//vy7f/68ev/++/q//ru6P/67Ob/+evk/8qwo/+ilov/AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt66n////////////////////
|
||||
/////////////////////////////////////////////////////////v38/6WYjv8AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4san/wry2/7+5
|
||||
sv+7ta3/t6+n/7Kpof+topr/p5uS/6GViv+bjYL/lYZ5/5B+cv+KeWr/hXJj/4BtXv99aFn/p5uR/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALqz
|
||||
q//p5+X/6OTh/+jk4f/n4+D/5+Hf/+Xg3P/l3tv/5N3Z/+Lb1//h2dT/4NjS/9/Wz//e083/3NHK/9vP
|
||||
yP+pnpX/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAvLWt///////++/r//fv5//76+f/9+vf//fj3//349f/89/P//PXy//vz8P/78+7/+/Hs//vv
|
||||
6v/67uj/1bSk/6ugl/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAC9trD////////8+////Pr//fz6//77+f/++fj//fn2//329P/89fL//PTx//zz
|
||||
7//78u3/+/Dr//vv6P/VtKT/rqOb/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+4sv////////38//79/P/+/Pr//vv5//75+P/9+fb//fj1//z2
|
||||
8//89PH//PPw//zy7f/78ev/+u/p/9W0pP+vpZ3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwLmz///////+/v3///39//79/P/+/Pr//vr5//35
|
||||
9//99/b//ffz//z08f/89O///PLt//vw6//67+n/5Mu//7GpoP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBurX///////////////////7+///+
|
||||
/v///v7///79///+/f/+/f3//v38//79/P/+/Pz//vz7//78+//99vT/s6uj/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK8tv/BvLX/wbu1/8C6
|
||||
tP/AubP/v7iy/7+4sf++t7D/vLav/7y1rv+7tK3/urOs/7myqv+5sKn/uK+o/7evp/+2raX/AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A
|
||||
AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4A
|
||||
AP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA/ygAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAA
|
||||
AAAAAAAAAAEAAAABAAAAAAAA/vn4AP349wD++vkA/PHtAPzz8AD78/AA/ff1AP77+gD12s8A9+HYAPjm
|
||||
3wD56uQA++/qAO3j3wDn4uAA0rGiAPPVxwD01skA89bJAPTYywDz18oA9dvQAPbd0gD13NEA9t7TAPXd
|
||||
0gD239UA9+HXAPfj2gD45NsA+erjAPjp4gD67OYA+/DrAPzz7wDl3tsA/PXyAMajkgDHppYA1bSkAMqw
|
||||
owD12s0A9NnMAPbd0QD13tMA9uDVAPXf1AD24tgA9+TbAPjl3AD46OAA+u7oAPzy7QD78ewA4trWAPz2
|
||||
8wDu6ugA/vz7AMirmwDz2csA59nRAN7TzQD78u0A/PXxAOnc1ADc0MkA/PTvAPvz7gD9+PUAkH5yAI18
|
||||
cADw7esAemVVAHtmVwB+aVoAfmpbAH9rXACBbV4AgGxdAIJuXwCDcGIAgm9hAI17bgCUhHgAloZ6AJyO
|
||||
hACtopoA9vLvAOjk4QB8aFgAfWlZAIVyYwCFc2UAh3VnAIl3aQCLemwAjn5xAJGBdACPf3IAmYp+AJuN
|
||||
ggCgk4gApZmPAKqflgCroJcAr6WdALivqACKeWoAkYJ1AJuNgQCfkYUAo5eMAKGVigCnnJIAsaeeAK6k
|
||||
mwC1rKQAtq2lAODY0QDAubMAv7iyALmxqQC3r6cAvLWuALqzrAC/uLEAvrewAMK8tgDAurQA/fr3AP37
|
||||
+QDp5+UA//79AP79/ACyqqEAvLWtALy2rwC7ta0A/fz6ADXFAAAr0QAA2/v9ANP4/ADd+/4A3Pr9ANv5
|
||||
/ADb+v4A1vT4AMjz+gDB6fAAz+zxANHt8gC77/kAvO/5AMLw+gDS9v0A2+rtALXs+QC27PkAter2AKbl
|
||||
9wCn5vcAqOb3AKvm9wDG4egAl971AJjg9gCo5vkAttnkAGvN8QBszvEAbc3xAG7O8gBvzvEAcM7xAHTP
|
||||
8QB40vMAetP0AHvU9AB81PQAfNPzAJDc9gCN1fAAkt32AJHY8QCe3/UAydvhAGzO8wBtzPIAb8zzAG3K
|
||||
7gBtyO0Aa8XqAHDO8gBwzfEAb8zwAG/M7wBvy+8Ab8ntAG7H7ABuyOsAbsfqAHLO8QBxy+8AcMnsAG3E
|
||||
5gBwx+kAd9HzAHLG6ABxxecAccHiAHXH5wByv94AeszsAHjC4QCfydkAq8jTALfR2wC2ztgAbsLmAG/A
|
||||
4wB0wOIAfLnUAJm8zAChvssArMnWAKzG0gCxy9YAjrXJAKS/zACnws8AnrfEAKnE0QCkvcoAorvIAKrE
|
||||
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
|
||||
AAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//
|
||||
AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/g
|
||||
AAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//
|
||||
AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD/4AAAH/8AAP/gAAAf/wAA/+AAAB//AAD///////8AAP//
|
||||
/////wAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId0
|
||||
Zv+Fc2X/hXJj/4VyY/+DcGL/g3Bi/4NwYv+DcGL/g29h/4JuX/+BbV7/gGxd/4BsXP9+alv/fmla/31p
|
||||
Wf99aVn/fWlZ/31pWf98Z1j/e2dX/3tmVv96Zlb/emVV/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAIl3af/++/r/0rGi/9Kxov/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8aj
|
||||
kv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Go5L/xqOS/8ajkv/Hppb/e2ZX/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIt5a//++/r/9NnM//TZzP/02Mz/9NjM//TYzP/02Mz/9NjM//TY
|
||||
y//02Mv/9NfL//TYyv/z18n/89fK//TWyf/01sn/9NbJ//TWyf/z1sn/89bI//PVx//Iq5v/fGhY/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI17bv/+/Pr/9NrO//Tazv/12s7/9drO//Xa
|
||||
zv/12s7/9NnN//Tazf/02c3/9NnN//TZzP/02cz/9NjL//PXyv/z18r/89fK//PXyv8uzAD/OcEA//PW
|
||||
yP/Iq5v/fWlZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI5+cf/+/Pv/9dvP//Xb
|
||||
z//028//9NvP//Tbz//028//9dvP//Taz//12s7/9drO//Xazf/02c3/9NnM//TYzP/02Mz/9NjM//TY
|
||||
zP8n1QD/MckA//PYyv/Iq5v/f2tc/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGB
|
||||
dP/+/Pv/9dzS//Xc0v/13NH/9dzR//Xc0f/13NH/9d3R//Xd0f/13ND/9dzQ//Xb0P/028//9NvP//Xa
|
||||
zv/12s7/9drO//Xazv/12c3/9NnM//PZy//Iq5v/gW1e/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAJODd//+/Pv/9t7T//be0//13tP/9d7T//Xe0//13tP/9d7T//Xe0v/13dL/9d3S//Xc
|
||||
0v/13dH/9dvQ//Tbz//028//9NvP//Tbz//1287/9drO//Xazf/Iq5v/gW9g/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWGev/+/Pv/9t/V//bf1f/24NX/9uDV//bg1f/24NX/9t/V//bg
|
||||
1f/139T/9d7U//bf0//23tP/9t3S//bd0f/23dH/9t3R//bd0f/13ND/9dvQ//Xaz//Iq5v/g3Bi/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiJff/+/Pv/9+HX//fh1//34dj/0dnd/6vJ
|
||||
1v+hvsv/nbXD/562w/+Vq7r/kqm4/46uwP+Ptsr/jrLE/4+1yP+MtMr/q8XT//Xe0//13dL/9d3R//Xc
|
||||
0P/Iq5v/hXNl/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJqMgP/+/Pz/9+PZ//fj
|
||||
2f+10Nv/mbzM/5/J2f+w2ub/wenw/8Hp8P+16vb/l930/3rM7P9yxuj/dcfn/3jC4f98udT/ham9/4yy
|
||||
x//23tT/9d7T//Xd0v/Iq5v/h3Vn/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyO
|
||||
hP/+/fz/+OXc//jl3P+et8T/kdjx/6bl9/+77/n/yPP6/8jz+v+27Pn/l9/2/3fR8/9uy+//b8ru/2/J
|
||||
7f9xxef/b8Dj/42gsf/24Nb/9t/V//bf0//Iq5v/iXdp/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAJ+Rhv/+/fz/+Obf//jm3/+guMb/kNz2/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3nT
|
||||
9P9tzfH/b8vv/3DJ7P9ux+r/bcTm/42hsv/34df/9uDW//bf1f/Iq5v/i3ps/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGUif/+/fz/+Ojh//jo4f+husf/kNz2/6bm9/+87/n/yPP6/8jz
|
||||
+v+17Pj/meD2/3zU9P9szvP/b83w/2/L7v9uyOv/bcTm/4+js//34tn/9+HY//fh1v/Iq5v/jXxw/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+iu8j/kt32/6fm
|
||||
9/+77/n/yPP6/8jz+v+17Pn/meD2/3vU9P9tzPL/b83x/27L7/9tyOz/bcHn/5CktP/35Nv/9+Pa//bi
|
||||
2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq
|
||||
4/+kvcr/kt32/6fm9/+87/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9tzPL/b87x/2/L7/9tx+z/b8Pm/5Gm
|
||||
tv/35Nv/9+Pa//bi2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOX
|
||||
jP/+/fz/+erj//nq4/+et8T/kdjx/6bl9/+77/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9szfP/cc7x/2/L
|
||||
7/9ux+z/ccDi/42gsf/35Nv/9+Pa//bi2P/Hppb/j39y/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+guMb/kNz2/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3vU
|
||||
9P9rzPH/cM7y/2/M7/9tyOr/b8Hl/42hsv/35Nv/9+Pa//bi2P/Hppb/kYJ1/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOXjP/+/fz/+erj//nq4/+husf/kNz2/6bm9/+87/n/yPP6/8jz
|
||||
+v+17Pj/meD2/3vU9P9szvH/bs7x/3DL7/9vx+n/ccLi/5Cltv/35Nv/9+Pa//bi2P/Hppb/kYJ1/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWaj//+/f3/+evl//nr5f+iu8j/kt32/6fm
|
||||
9/+77/n/yPP6/8jz+v+17Pn/meD2/3vV9P9rzvH/b87w/3DL7v9wx+n/cr7d/5KouP/45d3/9+Tc//jk
|
||||
2//Hppb/kYJ1/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKedk////v7//vv6//77
|
||||
+v+kvcr/kt32/6fm9/+87/n/yPP6/8jz+v+27Pn/mOD2/3vU9P9tzPL/b87x/3HL7v9vx+r/c7/f/5Gn
|
||||
uP/++vn//vr4//76+P/99/X/lIR4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuf
|
||||
lv/w7ev/7ePf/+3j3/+kv8z/kt32/6jm9/+87/n/yPP6/8jz+v+17Pn/mOD2/3vU9P9vzPP/cM3x/3HL
|
||||
7/9vx+r/ccDf/5KpuP/p3NX/6NvT/+fa0v/m2ND/l4d7/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAKyhmf/CvLb/v7iy/7+4sv+mwc7/kt32/6jm9/+87/n/yPP6/8jz+v+27Pn/meD2/3vT
|
||||
9P9uzvH/cM7x/3HL7/9ux+r/dMDi/5Squv+KeGr/hXNk/4BtXv99aFn/mYt+/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+nws//kt32/6jm9/+87/n/yPP6/8jz
|
||||
+v+27Pn/mOD2/3vT9P9uzvL/cM7x/2/M7/9ux+v/ccLi/5Wruv/56uT/+eri//jo4P/KsKP/m42B/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+pxNH/kt32/6jm
|
||||
9/+87/n/yPP6/8jz+v+27Pn/l9/2/3jS8/9uzPD/cs7x/3DM8P9tyO3/bcTn/5etvf/56uT/+eri//jo
|
||||
4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy
|
||||
7f+rx9L/kt32/6fm9/+77/n/yPP6/8jz+v+27Pn/mOD2/3zT8/9vzPD/dM/x/2/M8P9tyu7/a8Xq/5iv
|
||||
vv/56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6k
|
||||
m////v3/+/Lt//vy7f+ryNP/qOb5/8Tx+v/T+Pz/2/v9/9v7/f/c+/7/2/r+/9L2/f/B7/r/we/6/6vm
|
||||
9/+e3/X/jdXw/5qxv//56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAK6km////v3/+/Lt//vy7f+tydX/3fv+/937/v/d+/7/3fv+/937/v/d+/7/3Pv9/9z6
|
||||
/f/c+v3/3Pr9/9v6/f/b+v3/3fv+/5uzwf/56uT/+eri//jo4P/KsKP/m42B/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6km////v3/+/Lt//vy7f/K4Of/u9jh/8Xj6v/P7PH/1vT4/9b0
|
||||
+P/b+fz/2/n8/9b0+P/R7fL/1/X5/9Dt8v/C3+b/sszW/7PM1v/56uT/+eri//jo4P/KsKP/m42B/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGnnv///v7//PPv//zz7//28u//2+rt/8Pd
|
||||
5f+4093/r8vW/7HL1v+qxNH/p8LP/6zG0v+2ztj/q8bS/7DL1v+30dr/yNzh/+7q6P/56+X/+evk//jp
|
||||
4v/KsKP/npCE/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKqof///v7//PXx//z1
|
||||
8f/89fH//PXx//z18f/89fH//PTx//z08P/88+///PLu//zx7f/78Oz/+vDq//ru6P/67uj/+u7o//ru
|
||||
6P/67Of/+ezl//nq4//KsKP/oJOI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWs
|
||||
pP///v7//fbz//328//89vP//Pbz//z28//89vP//Pbz//z18v/89fD//PPv//vz7v/78u3/+vHr//vv
|
||||
6v/77+r/++/q//vv6v/67uj/+uzm//nr5P/KsKP/opaL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAALeup///////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////+/fz/pZiO/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAALixqf/CvLb/v7my/7+5sv+7ta3/u7Wt/7u1rf+7ta3/t6+n/7Kp
|
||||
of+topr/p5uS/6GViv+bjYL/lYZ5/5B+cv+QfnL/kH5y/5B+cv+KeWr/hXJj/4BtXv99aFn/p5uR/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALqzq//p5+X/6OTh/+jk4f/o5OH/6OTh/+jk
|
||||
4f/o5OH/5+Pg/+fh3//l4Nz/5d7b/+Td2f/i29f/4dnU/+DY0v/g2NL/4NjS/+DY0v/f1s//3tPN/9zR
|
||||
yv/bz8j/qZ6V/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77
|
||||
+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz
|
||||
7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1
|
||||
rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz
|
||||
7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//369//9+Pf//fj1//z3
|
||||
8//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37+f/9+/n//vr5//36
|
||||
9//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru6P/VtKT/q6CX/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy1rf///////vv6//77+v/9+/n//fv5//37
|
||||
+f/9+/n//vr5//369//9+Pf//fj1//z38//89fL/+/Pw//vz7v/78+7/+/Pu//vz7v/78ez/++/q//ru
|
||||
6P/VtKT/q6CX/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL22sP////////z7///8
|
||||
+////Pr///z6///8+v///Pr//fz6//77+f/++fj//fn2//329P/89fL//PTx//zz7//88+///PPv//zz
|
||||
7//78u3/+/Dr//vv6P/VtKT/rqOb/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+4
|
||||
sv////////38///9/P/+/fz//v38//79/P/+/fz//vz6//77+f/++fj//fn2//349f/89vP//PTx//zz
|
||||
8P/88/D//PPw//zz8P/88u3/+/Hr//rv6f/VtKT/r6Wd/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAMC5s////////v79//7+/f///f3///39///9/f///f3//v38//78+v/++vn//fn3//33
|
||||
9v/99/P//PTx//z07//89O///PTv//z07//88u3/+/Dr//rv6f/VtKT/samg/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMG6tf////////////////////////////////////////7+///+
|
||||
/v///v7///79///+/f/+/f3//v38//79/P/+/fz//v38//79/P/+/Pz//vz7//78+//99vT/s6uj/wAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK8tv/BvLX/wbu1/8G7tf/AurT/wLq0/8C6
|
||||
tP/AurT/wLmz/7+4sv+/uLH/vrew/7y2r/+8ta7/u7St/7qzrP+6s6z/urOs/7qzrP+5sqr/ubCp/7iv
|
||||
qP+3r6f/tq2l/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//
|
||||
AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w
|
||||
AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//
|
||||
AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w
|
||||
AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//
|
||||
AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/w
|
||||
AAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA////////AAD///////8AAA==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Windows.Forms;
|
||||
using System.Globalization;
|
||||
|
||||
namespace DemoWorkload
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
public static int THREAD_COUNT = int.Parse(ConfigurationManager.AppSettings["ThreadCount"], CultureInfo.InvariantCulture);
|
||||
public static int REQUEST_COUNT = int.Parse(ConfigurationManager.AppSettings["RequestCount"], CultureInfo.InvariantCulture);
|
||||
public static int ROW_COUNT = int.Parse(ConfigurationManager.AppSettings["RowCount"], CultureInfo.InvariantCulture);
|
||||
public static int TRANSACTION_COUNT = int.Parse(ConfigurationManager.AppSettings["TransactionCount"], CultureInfo.InvariantCulture);
|
||||
public static long MAX_TPS = int.Parse(ConfigurationManager.AppSettings["MaxTps"], CultureInfo.InvariantCulture);
|
||||
public static long MAX_PageRead = int.Parse(ConfigurationManager.AppSettings["MaxPageReads"], CultureInfo.InvariantCulture);
|
||||
public static string CONN_STR = ConfigurationManager.ConnectionStrings["WideWorldImporters"].ConnectionString;
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new FrmMain());
|
||||
}
|
||||
}
|
||||
}
|
||||
+39
@@ -0,0 +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")]
|
||||
[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")]
|
||||
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DemoWorkload.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DemoWorkload.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap SQLBackground {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("SQLBackground", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap SQLBackground1 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("SQLBackground1", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
|
||||
/// </summary>
|
||||
internal static System.Drawing.Icon sqlserver {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("sqlserver", resourceCulture);
|
||||
return ((System.Drawing.Icon)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="SQLBackground" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\SQLBackground.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="SQLBackground1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\SQLBackground.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="sqlserver" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\sqlserver.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DemoWorkload.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="CircularGauge" version="1.0.0" targetFramework="net46" />
|
||||
</packages>
|
||||
@@ -0,0 +1,56 @@
|
||||
# Auto Tuning Performance Improvement Sample
|
||||
|
||||
This Windows Forms sample application built on .NET Framework 4.6 demonstrates the benefits of using SQL Server Automatic Tuning. You can compare the performance difference between enabling Automatic Tuning or leaveing it disabled, while running a workload that introduces a parameter sniffing regression.
|
||||
|
||||
The demo is run in this [17-minute video explaining In-Memory OLTP](https://www.youtube.com/watch?v=l5l5eophmK4) (demo is at 8:25).
|
||||
|
||||
<a name=about-this-sample></a>
|
||||
|
||||
## About this sample
|
||||
|
||||
<!-- Delete the ones that don't apply -->
|
||||
* **Latest release:** [in-memory-oltp-perf-demo-v1.0](https://github.com/Microsoft/sql-server-samples/releases/tag/in-memory-oltp-demo-v1.0)
|
||||
* **Applies to:** SQL Server 2017 (or higher), Azure SQL Database
|
||||
* **Key features:** Automatic Tuning
|
||||
* **Workload:** Reporting
|
||||
* **Programming Language:** T-SQL, C#
|
||||
* **Authors:** Pedro Lopes
|
||||
|
||||

|
||||
|
||||
## Running this sample
|
||||
1. Before you can run this sample, you must have the following perquisites:
|
||||
- SQL Server 2017 (or higher)
|
||||
- Visual Studio 2015 (or higher) with the latest SSDT installed.
|
||||
|
||||
2. Clone this repository using Git for Windows (http://www.git-scm.com/), or download the zip file.
|
||||
|
||||
3. From Visual Studio, open the **AutoTuningDemo.sln** file from the root directory.
|
||||
|
||||
4. In Visual Studio Build menu, select **Build Solution** (or Press F6).
|
||||
|
||||
5. In the **App.config** file, located in the project root, find the **WideWorldImporters** app setting and edit the connectionString if needed. Currently it is configured to connect to the local default SQL Server Instance using Integrated Security.
|
||||
|
||||
6. Publish the WideWorldImporters Database
|
||||
- Right click on the WideWorldImporters SQL Server Database Project and Select **Publish**
|
||||
- Click Edit... to choose your connection string
|
||||
- Click Publish
|
||||
- Note: For publishing to Azure SQL you need to change the DB project target platform to **Microsoft Azure SQL Database V12**
|
||||
|
||||
7. Build the app for release and run it. Do not use the debugger, as that will slow down the app.
|
||||
|
||||
8. Start the workload with the **Start** button, and run for a while to show perf profile. Then press the **Regress** button to introduce the problem and observe the throughput going down.
|
||||
|
||||
9. Run for a while to show perf profile of regressed workload, and then press the **Auto Tuning** button and observe the system going back to a previously good plan captured by Query Store, and throughput is restored to initial Baseline status. You can tweak aspects of the workload (e.g., number of threads) through the configuration form accessed using the "Options" menu. No need to recompile or restart the application.
|
||||
|
||||
10. Publish the database project to the same database – the tool will take care of making the necessary changes.
|
||||
|
||||
When deploying to Azure SQL Database, make sure to run the app in an Azure VM in the same region as the database.
|
||||
|
||||
For any feedback on the sample, contact: sqlserversamples@microsoft.com
|
||||
|
||||
## About the code
|
||||
The code included in this sample is not intended to be a set of best practices on how to build scalable enterprise grade applications. This is beyond the scope of this quick start sample.
|
||||
|
||||
## More information
|
||||
- [Automatic tuning] (https://docs.microsoft.com/en-us/sql/relational-databases/automatic-tuning/automatic-tuning)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
+76
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<Name>WideWorldImporters</Name>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>4.1</ProjectVersion>
|
||||
<ProjectGuid>{38641248-77ea-479b-b496-3eda463acead}</ProjectGuid>
|
||||
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql130DatabaseSchemaProvider</DSP>
|
||||
<OutputType>Database</OutputType>
|
||||
<RootPath>
|
||||
</RootPath>
|
||||
<RootNamespace>WideWorldImporters</RootNamespace>
|
||||
<AssemblyName>WideWorldImporters</AssemblyName>
|
||||
<ModelCollation>1033,CI</ModelCollation>
|
||||
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
|
||||
<DeployToDatabase>True</DeployToDatabase>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetLanguage>CS</TargetLanguage>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<SqlServerVerification>False</SqlServerVerification>
|
||||
<IncludeCompositeObjects>True</IncludeCompositeObjects>
|
||||
<TargetDatabaseSet>True</TargetDatabaseSet>
|
||||
<DefaultCollation>SQL_Latin1_General_CP1_CI_AS</DefaultCollation>
|
||||
<DefaultFilegroup>PRIMARY</DefaultFilegroup>
|
||||
<MemoryOptimizedElevateToSnapshot>True</MemoryOptimizedElevateToSnapshot>
|
||||
<GenerateCreateScript>False</GenerateCreateScript>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
|
||||
<!-- Default to the v11.0 targets path if the targets file for the current VS version is not found -->
|
||||
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
|
||||
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">11.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
<Folder Include="dbo\" />
|
||||
<Folder Include="dbo\Stored Procedures\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Build Include="dbo\Stored Procedures\report.sql" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ArtifactReference Include="dbo\WideWorldImporters.dacpac">
|
||||
<HintPath>dbo\WideWorldImporters.dacpac</HintPath>
|
||||
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
|
||||
</ArtifactReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
CREATE PROCEDURE [dbo].[report]
|
||||
@packagetypeid int
|
||||
AS
|
||||
BEGIN
|
||||
SELECT AVG([UnitPrice] * [Quantity] - [TaxRate])
|
||||
FROM [Sales].[OrderLines]
|
||||
WHERE [PackageTypeID] = @packagetypeid;
|
||||
END;
|
||||
GO
|
||||
Reference in New Issue
Block a user