merging perf tests and perf shared tests (#1840)
* Merging perf.tests and perf.shared.tests * updating web sln * adding netcoreapp2.1 and 3.1
This commit is contained in:
Родитель
62847cad35
Коммит
9637b12f97
|
@ -111,8 +111,6 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Perf.Shared.NetStandard20",
|
|||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Perf.Shared.NetStandard20Net45", "WEB\Src\PerformanceCollector\Perf.Shared.NetStandard20Net45\Perf.Shared.NetStandard20Net45.shproj", "{054C25DC-E545-4712-95C4-81F30CF65CE8}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Perf.Shared.Tests", "WEB\Src\PerformanceCollector\Perf.Shared.Tests\Perf.Shared.Tests.shproj", "{9B524BD3-682D-4B6F-9251-D4B2911DF0FD}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "L) GenericTests", "L) GenericTests", "{D2A0AA36-57F7-436C-A7AF-7322927F1734}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xdt.Tests", "LOGGING\test\Xdt.Tests\Xdt.Tests.csproj", "{262792BF-31A8-4FCD-BBC7-341EB29FAE96}"
|
||||
|
@ -171,7 +169,6 @@ Global
|
|||
LOGGING\src\CommonShared\CommonShared.projitems*{1b0f54bf-078a-421c-9708-2d817d4bce30}*SharedItemsImports = 5
|
||||
LOGGING\src\EventSource.Shared\EventSource.Shared\EventSource.Shared.projitems*{1b0f54bf-078a-421c-9708-2d817d4bce30}*SharedItemsImports = 5
|
||||
LOGGING\src\CommonShared\CommonShared.projitems*{2612ac44-5ff3-4533-b5a5-e5dbf96f5c83}*SharedItemsImports = 5
|
||||
WEB\Src\PerformanceCollector\Perf.Shared.Tests\Perf.Shared.Tests.projitems*{27b8d7be-8cb7-48bf-97da-0f031103c03d}*SharedItemsImports = 5
|
||||
WEB\Src\TestFramework\Shared\TestFramework.Shared.projitems*{27b8d7be-8cb7-48bf-97da-0f031103c03d}*SharedItemsImports = 5
|
||||
LOGGING\src\CommonShared\CommonShared.projitems*{2e283031-425b-421f-9e81-34abfefab618}*SharedItemsImports = 5
|
||||
LOGGING\test\CommonTestShared\CommonTestShared.projitems*{305f1c02-f984-43e7-a07e-e2514cfe29a0}*SharedItemsImports = 5
|
||||
|
@ -201,7 +198,6 @@ Global
|
|||
WEB\Src\TestFramework\Shared\TestFramework.Shared.projitems*{9718f051-147f-4f5f-9ff3-c926430efcf7}*SharedItemsImports = 13
|
||||
LOGGING\test\CommonTestShared\CommonTestShared.projitems*{9ad802d5-ca3b-4367-bf52-a892fd7c3a0c}*SharedItemsImports = 5
|
||||
LOGGING\test\Shared\Adapters.Shared.Tests.projitems*{9ad802d5-ca3b-4367-bf52-a892fd7c3a0c}*SharedItemsImports = 5
|
||||
WEB\Src\PerformanceCollector\Perf.Shared.Tests\Perf.Shared.Tests.projitems*{9b524bd3-682d-4b6f-9251-d4b2911df0fd}*SharedItemsImports = 13
|
||||
WEB\Src\Common\Common.projitems*{9dc5c5e5-fc37-4e54-81fd-aa42bb934e9b}*SharedItemsImports = 5
|
||||
WEB\Src\PerformanceCollector\Filtering.Shared\Filtering.Shared.projitems*{9dc5c5e5-fc37-4e54-81fd-aa42bb934e9b}*SharedItemsImports = 5
|
||||
WEB\Src\PerformanceCollector\Perf.Shared.NetFull\Perf.Shared.NetFull.projitems*{9dc5c5e5-fc37-4e54-81fd-aa42bb934e9b}*SharedItemsImports = 5
|
||||
|
@ -440,7 +436,6 @@ Global
|
|||
{76B21FAA-270D-47DE-B14B-BEC87EDC34F1} = {3EDBC945-E531-4CEE-A038-A6AE1EF9AA96}
|
||||
{A8BA3BD0-19CE-488D-B2BD-0B9B677F4E03} = {3EDBC945-E531-4CEE-A038-A6AE1EF9AA96}
|
||||
{054C25DC-E545-4712-95C4-81F30CF65CE8} = {3EDBC945-E531-4CEE-A038-A6AE1EF9AA96}
|
||||
{9B524BD3-682D-4B6F-9251-D4B2911DF0FD} = {3EDBC945-E531-4CEE-A038-A6AE1EF9AA96}
|
||||
{262792BF-31A8-4FCD-BBC7-341EB29FAE96} = {D2A0AA36-57F7-436C-A7AF-7322927F1734}
|
||||
{058A0843-A95F-4B0D-91DB-33B9D3FD7324} = {E9AEB857-E8AA-4ED6-A020-DF4D8486CEB0}
|
||||
{B90EDEA5-3CC8-4282-80A0-7116905E2427} = {D8483C3E-C386-48AD-B935-700A54FDCF31}
|
||||
|
|
|
@ -39,8 +39,6 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Perf.Shared", "PerformanceC
|
|||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Filtering.Shared", "PerformanceCollector\Filtering.Shared\Filtering.Shared.shproj", "{568AEB4F-BA4C-47A5-9FA3-68F06CD11FED}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Perf.Shared.Tests", "PerformanceCollector\Perf.Shared.Tests\Perf.Shared.Tests.shproj", "{9B524BD3-682D-4B6F-9251-D4B2911DF0FD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostingStartup", "HostingStartup\HostingStartup\HostingStartup.csproj", "{80F0481A-66C7-4442-96D3-5FD841132C4B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WindowsServer", "WindowsServer\WindowsServer\WindowsServer.csproj", "{94127FD9-E516-4891-98D4-EF7523117F32}"
|
||||
|
@ -105,7 +103,6 @@ Global
|
|||
TestFramework\Shared\TestFramework.Shared.projitems*{9718f051-147f-4f5f-9ff3-c926430efcf7}*SharedItemsImports = 13
|
||||
DependencyCollector\Shared.Tests\DependencyCollector.Shared.Tests.projitems*{9853a2a5-fd6c-4743-927e-0bfe807ad21c}*SharedItemsImports = 5
|
||||
TestFramework\Shared\TestFramework.Shared.projitems*{9853a2a5-fd6c-4743-927e-0bfe807ad21c}*SharedItemsImports = 5
|
||||
PerformanceCollector\Perf.Shared.Tests\Perf.Shared.Tests.projitems*{9b524bd3-682d-4b6f-9251-d4b2911df0fd}*SharedItemsImports = 13
|
||||
PerformanceCollector\Perf.Shared\Perf.Shared.projitems*{a78f50d4-f518-4dcb-878b-526fd54cca35}*SharedItemsImports = 13
|
||||
PerformanceCollector\Perf.Shared.NetStandard20\Perf.Shared.NetStandard20.projitems*{a8ba3bd0-19ce-488d-b2bd-0b9b677f4e03}*SharedItemsImports = 13
|
||||
DependencyCollector\Shared.Tests\DependencyCollector.Shared.Tests.projitems*{ace58393-3419-4fca-87cc-c33eb756c7e4}*SharedItemsImports = 13
|
||||
|
@ -113,7 +110,6 @@ Global
|
|||
Common\Common.projitems*{ccab7a34-8dc5-4a6f-b637-46ceba93c687}*SharedItemsImports = 13
|
||||
PerformanceCollector\Perf.Shared.NetStandard\Perf.Shared.NetStandard.projitems*{d13c3ec7-b300-4158-9054-216156b203be}*SharedItemsImports = 13
|
||||
Common\Common.projitems*{e166d200-0687-4e6d-b836-029ae690aeab}*SharedItemsImports = 5
|
||||
PerformanceCollector\Perf.Shared.Tests\Perf.Shared.Tests.projitems*{e31b7a59-5e13-48bb-8127-d11d41ef16c5}*SharedItemsImports = 5
|
||||
TestFramework\Shared\TestFramework.Shared.projitems*{e31b7a59-5e13-48bb-8127-d11d41ef16c5}*SharedItemsImports = 5
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@ -253,7 +249,6 @@ Global
|
|||
{C6B569BC-6F19-42C9-A951-DA611BB0F4BE} = {A318CC6C-51C8-4BD6-BC85-2B4F35123BE7}
|
||||
{A78F50D4-F518-4DCB-878B-526FD54CCA35} = {A318CC6C-51C8-4BD6-BC85-2B4F35123BE7}
|
||||
{568AEB4F-BA4C-47A5-9FA3-68F06CD11FED} = {A318CC6C-51C8-4BD6-BC85-2B4F35123BE7}
|
||||
{9B524BD3-682D-4B6F-9251-D4B2911DF0FD} = {A318CC6C-51C8-4BD6-BC85-2B4F35123BE7}
|
||||
{80F0481A-66C7-4442-96D3-5FD841132C4B} = {701D2D4F-B581-45A2-AF29-4F34EC5F047B}
|
||||
{94127FD9-E516-4891-98D4-EF7523117F32} = {D87119AF-CD35-46F2-84A6-ED54CC42027E}
|
||||
{E166D200-0687-4E6D-B836-029AE690AEAB} = {1A75535C-B8E5-4C31-BC6E-50456C8C4052}
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
<HasSharedItems>true</HasSharedItems>
|
||||
<SharedGUID>9b524bd3-682d-4b6f-9251-d4b2911df0fd</SharedGUID>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<Import_RootNamespace>Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.Tests</Import_RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ArrayHelpers.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Filtering\AccumulatedValuesTest.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Filtering\CalculatedMetricTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Filtering\CollectionConfigurationAccumulatorTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Filtering\DocumentStreamTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Filtering\FilterConjunctionGroupTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Filtering\FilterTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Filtering\Mocks\TelemetryMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)GlobalSuppressions.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Helpers\HttpContextHelper.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Helpers\SimpleTelemetryProcessorSpy.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Mocks\PerformanceCollectorMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)PerformanceCollectorEventSourceTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)PerformanceCollectorWebAppTestBase.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\Mocks\CategorySampleMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\Mocks\ClockMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\Mocks\QuickPulseCollectionTimeSlotManagerMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\Mocks\QuickPulsePerfLibMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\Mocks\QuickPulseProcessProviderMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\Mocks\QuickPulseServiceClientMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\Mocks\QuickPulseTopCpuCollectorMock.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseCollectionStateManagerTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseCollectionTimeSlotManagerTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseDataAccumulatorManagerTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseDataAccumulatorTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseDataSampleTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseEventSourceTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseProcessProviderTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseQuotaTrackerTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseServiceClientTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseTelemetryModuleTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseTelemetryProcessorTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseTestHelper.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)PerformanceCounterUtilityTestsCommon.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)PerformanceCollectorModuleTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollectorTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\AzureWebAppTest.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\CacheHelperTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\CPUPercenageGaugeTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\NormalizedCPUPercenageGaugeTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\RateCounterTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\RatioCounterTests.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\SumUpCountersGaugeTests.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp1.0' OR '$(TargetFramework)' == 'netcoreapp2.0'">
|
||||
<Compile Include="$(MSBuildThisFileDirectory)QuickPulse\QuickPulseServiceClientHelpersTests.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\SampleFiles\RemoteEnvironmentVariablesAllSampleOne.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="$(MSBuildThisFileDirectory)WebAppPerformanceCollector\SampleFiles\RemoteEnvironmentVariablesAllSampleTwo.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>9b524bd3-682d-4b6f-9251-d4b2911df0fd</ProjectGuid>
|
||||
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
|
||||
<PropertyGroup />
|
||||
<Import Project="Perf.Shared.Tests.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
|
||||
</Project>
|
|
@ -1,140 +0,0 @@
|
|||
namespace Microsoft.ApplicationInsights.Tests
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.ApplicationInsights.Extensibility;
|
||||
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector;
|
||||
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.Implementation;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
/// <summary>
|
||||
/// PerformanceCollectorModuleTests tests.
|
||||
/// The goal is to test that the default list contains only those counters which are supported.
|
||||
/// Adding any unsupported counter by default will add noisy traces to user ikey.
|
||||
/// </summary>
|
||||
[TestClass]
|
||||
public class PerformanceCollectorModuleTests
|
||||
{
|
||||
[TestMethod]
|
||||
public void PerformanceCollectorModuleDefaultContainsExpectedCountersNonWindows()
|
||||
{
|
||||
#if NETCOREAPP2_0
|
||||
PerformanceCounterUtility.isAzureWebApp = null;
|
||||
var original = PerformanceCounterUtility.IsWindows;
|
||||
PerformanceCounterUtility.IsWindows = false;
|
||||
var module = new PerformanceCollectorModule();
|
||||
|
||||
try
|
||||
{
|
||||
module.Initialize(new TelemetryConfiguration());
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time Normalized"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\Private Bytes"));
|
||||
Assert.AreEqual(3, module.DefaultCounters.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
PerformanceCounterUtility.IsWindows = original;
|
||||
module.Dispose();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void PerformanceCollectorModuleDefaultContainsExpectedCountersWebApps()
|
||||
{
|
||||
PerformanceCounterUtility.isAzureWebApp = null;
|
||||
Environment.SetEnvironmentVariable("WEBSITE_SITE_NAME", "something");
|
||||
var module = new PerformanceCollectorModule();
|
||||
try
|
||||
{
|
||||
module.Initialize(new TelemetryConfiguration());
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time Normalized"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\Private Bytes"));
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Memory\Available Bytes"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec"));
|
||||
|
||||
#if NET45
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\.NET CLR Exceptions(??APP_CLR_PROC??)\# of Exceps Thrown / sec"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue"));
|
||||
Assert.AreEqual(9, module.DefaultCounters.Count);
|
||||
#else
|
||||
Assert.AreEqual(5, module.DefaultCounters.Count);
|
||||
#endif
|
||||
}
|
||||
finally
|
||||
{
|
||||
PerformanceCounterUtility.isAzureWebApp = null;
|
||||
module.Dispose();
|
||||
Environment.SetEnvironmentVariable("WEBSITE_SITE_NAME", string.Empty);
|
||||
Task.Delay(1000).Wait();
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void PerformanceCollectorModuleDefaultContainsExpectedCountersWindows()
|
||||
{
|
||||
PerformanceCounterUtility.isAzureWebApp = null;
|
||||
var module = new PerformanceCollectorModule();
|
||||
#if NETCOREAPP2_0
|
||||
var original = PerformanceCounterUtility.IsWindows;
|
||||
PerformanceCounterUtility.IsWindows = true;
|
||||
#endif
|
||||
try
|
||||
{
|
||||
module.Initialize(new TelemetryConfiguration());
|
||||
#if !NETCOREAPP1_0
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time Normalized"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\Private Bytes"));
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Memory\Available Bytes"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec"));
|
||||
|
||||
#if NET45
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\.NET CLR Exceptions(??APP_CLR_PROC??)\# of Exceps Thrown / sec"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue"));
|
||||
#endif
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Processor(_Total)\% Processor Time"));
|
||||
#if NET45
|
||||
Assert.AreEqual(10, module.DefaultCounters.Count);
|
||||
#else
|
||||
Assert.AreEqual(6, module.DefaultCounters.Count);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
module.Dispose();
|
||||
#if NETCOREAPP2_0
|
||||
PerformanceCounterUtility.IsWindows = original;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
private bool ContainsPerfCounter(IList<PerformanceCounterCollectionRequest> counters, string name)
|
||||
{
|
||||
foreach (var counter in counters)
|
||||
{
|
||||
if (counter.PerformanceCounter.Equals(name))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
<Import Project="$(PropsRoot)\Test.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net45;netcoreapp1.0;netcoreapp2.0</TargetFrameworks>
|
||||
<TargetFrameworks>net45;netcoreapp1.0;netcoreapp2.1;netcoreapp3.1</TargetFrameworks>
|
||||
<AssemblyName>Microsoft.AI.PerformanceCollector.Tests</AssemblyName>
|
||||
<PackageId>Microsoft.AI.DependencyCollector.Tests</PackageId>
|
||||
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
|
||||
|
@ -60,7 +60,5 @@
|
|||
<ItemGroup>
|
||||
<Folder Include="obj\" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\Perf.Shared.Tests\Perf.Shared.Tests.projitems" Label="Shared" />
|
||||
<Import Project="..\..\TestFramework\Shared\TestFramework.Shared.projitems" Label="Shared" />
|
||||
</Project>
|
|
@ -1,11 +1,11 @@
|
|||
#if NET45
|
||||
namespace Microsoft.ApplicationInsights.Tests
|
||||
namespace Microsoft.ApplicationInsights.Tests
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.ApplicationInsights.DataContracts;
|
||||
using Microsoft.ApplicationInsights.Extensibility;
|
||||
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector;
|
||||
|
@ -20,6 +20,7 @@ namespace Microsoft.ApplicationInsights.Tests
|
|||
[TestClass]
|
||||
public class PerformanceCollectorModulesTests
|
||||
{
|
||||
#if NET45
|
||||
[TestMethod]
|
||||
[SuppressMessage(category: "Microsoft.Globalization", checkId: "CA1305:SpecifyIFormatProvider", Justification = "Don't care about invariant in unit tests.")]
|
||||
public void TimerTest()
|
||||
|
@ -388,6 +389,128 @@ namespace Microsoft.ApplicationInsights.Tests
|
|||
|
||||
return module;
|
||||
}
|
||||
#endif
|
||||
|
||||
[TestMethod]
|
||||
public void PerformanceCollectorModuleDefaultContainsExpectedCountersNonWindows()
|
||||
{
|
||||
#if NETCOREAPP2_1 || NETCOREAPP3_1
|
||||
PerformanceCounterUtility.isAzureWebApp = null;
|
||||
var original = PerformanceCounterUtility.IsWindows;
|
||||
PerformanceCounterUtility.IsWindows = false;
|
||||
var module = new PerformanceCollectorModule();
|
||||
|
||||
try
|
||||
{
|
||||
module.Initialize(new TelemetryConfiguration());
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time Normalized"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\Private Bytes"));
|
||||
Assert.AreEqual(3, module.DefaultCounters.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
PerformanceCounterUtility.IsWindows = original;
|
||||
module.Dispose();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void PerformanceCollectorModuleDefaultContainsExpectedCountersWebApps()
|
||||
{
|
||||
PerformanceCounterUtility.isAzureWebApp = null;
|
||||
Environment.SetEnvironmentVariable("WEBSITE_SITE_NAME", "something");
|
||||
var module = new PerformanceCollectorModule();
|
||||
try
|
||||
{
|
||||
module.Initialize(new TelemetryConfiguration());
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time Normalized"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\Private Bytes"));
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Memory\Available Bytes"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec"));
|
||||
|
||||
#if NET45
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\.NET CLR Exceptions(??APP_CLR_PROC??)\# of Exceps Thrown / sec"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue"));
|
||||
Assert.AreEqual(9, module.DefaultCounters.Count);
|
||||
#else
|
||||
Assert.AreEqual(5, module.DefaultCounters.Count);
|
||||
#endif
|
||||
}
|
||||
finally
|
||||
{
|
||||
PerformanceCounterUtility.isAzureWebApp = null;
|
||||
module.Dispose();
|
||||
Environment.SetEnvironmentVariable("WEBSITE_SITE_NAME", string.Empty);
|
||||
Task.Delay(1000).Wait();
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void PerformanceCollectorModuleDefaultContainsExpectedCountersWindows()
|
||||
{
|
||||
PerformanceCounterUtility.isAzureWebApp = null;
|
||||
var module = new PerformanceCollectorModule();
|
||||
#if NETCOREAPP2_1 || NETCOREAPP3_1
|
||||
var original = PerformanceCounterUtility.IsWindows;
|
||||
PerformanceCounterUtility.IsWindows = true;
|
||||
#endif
|
||||
try
|
||||
{
|
||||
module.Initialize(new TelemetryConfiguration());
|
||||
#if !NETCOREAPP1_0
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\% Processor Time Normalized"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\Private Bytes"));
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Memory\Available Bytes"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec"));
|
||||
|
||||
#if NET45
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\.NET CLR Exceptions(??APP_CLR_PROC??)\# of Exceps Thrown / sec"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time"));
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue"));
|
||||
#endif
|
||||
|
||||
Assert.IsTrue(ContainsPerfCounter(module.DefaultCounters, @"\Processor(_Total)\% Processor Time"));
|
||||
#if NET45
|
||||
Assert.AreEqual(10, module.DefaultCounters.Count);
|
||||
#else
|
||||
Assert.AreEqual(6, module.DefaultCounters.Count);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
module.Dispose();
|
||||
#if NETCOREAPP2_1 || NETCOREAPP3_1
|
||||
PerformanceCounterUtility.IsWindows = original;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
private bool ContainsPerfCounter(IList<PerformanceCounterCollectionRequest> counters, string name)
|
||||
{
|
||||
foreach (var counter in counters)
|
||||
{
|
||||
if (counter.PerformanceCounter.Equals(name))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
#if NETCOREAPP2_0
|
||||
#if NETCOREAPP2_1 || NETCOREAPP3_1
|
||||
namespace Microsoft.ApplicationInsights.Tests
|
||||
{
|
||||
using System;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#if NETCOREAPP2_0
|
||||
#if NETCOREAPP2_1 || NETCOREAPP3_1
|
||||
namespace Microsoft.ApplicationInsights.Tests
|
||||
{
|
||||
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.Implementation;
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
[TestMethod]
|
||||
public void GetCollectorReturnsXPlatformCollectorForWebAppForLinux()
|
||||
{
|
||||
#if NETCOREAPP2_0
|
||||
#if NETCOREAPP2_1 || NETCOREAPP3_1
|
||||
var original = PerformanceCounterUtility.IsWindows;
|
||||
try
|
||||
{
|
||||
|
@ -75,7 +75,7 @@
|
|||
[TestMethod]
|
||||
public void GetCollectorReturnsXPlatformCollectorForNonWindows()
|
||||
{
|
||||
#if NETCOREAPP2_0
|
||||
#if NETCOREAPP2_1 || NETCOREAPP3_1
|
||||
var original = PerformanceCounterUtility.IsWindows;
|
||||
try
|
||||
{
|
|
@ -1,4 +1,5 @@
|
|||
namespace Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.Tests.QuickPulse
|
||||
#if NETCOREAPP
|
||||
namespace Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.Tests.QuickPulse
|
||||
{
|
||||
using System.Net.Http.Headers;
|
||||
using Microsoft.ApplicationInsights.Common.Internal;
|
||||
|
@ -80,3 +81,4 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
#pragma warning disable 0162
|
||||
// TODO: Stabilize sleep-based tests
|
||||
#if NETCORE
|
||||
#if NETCOREAPP
|
||||
private const bool Ignored = true;
|
||||
#else
|
||||
private const bool Ignored = false;
|
Загрузка…
Ссылка в новой задаче