diff --git a/src/libraries/Common/src/Interop/Windows/Interop.Libraries.cs b/src/libraries/Common/src/Interop/Windows/Interop.Libraries.cs
index 74c014c717993..6b1006caf3932 100644
--- a/src/libraries/Common/src/Interop/Windows/Interop.Libraries.cs
+++ b/src/libraries/Common/src/Interop/Windows/Interop.Libraries.cs
@@ -19,7 +19,7 @@ internal static partial class Libraries
internal const string Odbc32 = "odbc32.dll";
internal const string Ole32 = "ole32.dll";
internal const string OleAut32 = "oleaut32.dll";
- internal const string PerfCounter = "perfcounter.dll";
+ internal const string Pdh = "pdh.dll";
internal const string Secur32 = "secur32.dll";
internal const string Shell32 = "shell32.dll";
internal const string SspiCli = "sspicli.dll";
diff --git a/src/libraries/Common/src/Interop/Windows/PerfCounter/Interop.FormatFromRawValue.cs b/src/libraries/Common/src/Interop/Windows/Pdh/Interop.PdhFormatFromRawValue.cs
similarity index 78%
rename from src/libraries/Common/src/Interop/Windows/PerfCounter/Interop.FormatFromRawValue.cs
rename to src/libraries/Common/src/Interop/Windows/Pdh/Interop.PdhFormatFromRawValue.cs
index 3402ed24d9ef6..130dac40cafa5 100644
--- a/src/libraries/Common/src/Interop/Windows/PerfCounter/Interop.FormatFromRawValue.cs
+++ b/src/libraries/Common/src/Interop/Windows/Pdh/Interop.PdhFormatFromRawValue.cs
@@ -5,10 +5,10 @@
internal partial class Interop
{
- internal partial class PerfCounter
+ internal partial class Pdh
{
- [DllImport(Libraries.PerfCounter, CharSet = CharSet.Unicode)]
- public static extern int FormatFromRawValue(
+ [DllImport(Libraries.Pdh, CharSet = CharSet.Unicode)]
+ public static extern int PdhFormatFromRawValue(
uint dwCounterType,
uint dwFormat,
ref long pTimeBase,
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj b/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj
index 1499b5c6fe656..4ab5b04836005 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj
@@ -110,8 +110,8 @@
Link="Common\Interop\Windows\Kernel32\Interop.VirtualQuery.cs" />
-
+
public static class CounterSampleCalculator
{
- private static volatile bool s_perfCounterDllLoaded;
-
///
/// Converts 100NS elapsed time to fractional seconds
///
@@ -89,11 +87,9 @@ public static float ComputeCounterValue(CounterSample oldSample, CounterSample n
FillInValues(oldSample, newSample, ref oldPdhValue, ref newPdhValue);
- LoadPerfCounterDll();
-
Interop.Kernel32.PerformanceCounterOptions.PDH_FMT_COUNTERVALUE pdhFormattedValue = default;
long timeBase = newSample.SystemFrequency;
- int result = Interop.PerfCounter.FormatFromRawValue((uint)newCounterType, Interop.Kernel32.PerformanceCounterOptions.PDH_FMT_DOUBLE | Interop.Kernel32.PerformanceCounterOptions.PDH_FMT_NOSCALE | Interop.Kernel32.PerformanceCounterOptions.PDH_FMT_NOCAP100,
+ int result = Interop.Pdh.PdhFormatFromRawValue((uint)newCounterType, Interop.Kernel32.PerformanceCounterOptions.PDH_FMT_DOUBLE | Interop.Kernel32.PerformanceCounterOptions.PDH_FMT_NOSCALE | Interop.Kernel32.PerformanceCounterOptions.PDH_FMT_NOCAP100,
ref timeBase, ref newPdhValue, ref oldPdhValue, ref pdhFormattedValue);
if (result != Interop.Errors.ERROR_SUCCESS)
@@ -227,21 +223,5 @@ private static void FillInValues(CounterSample oldSample, CounterSample newSampl
break;
}
}
-
- private static void LoadPerfCounterDll()
- {
- if (s_perfCounterDllLoaded)
- return;
-
- string installPath = NetFrameworkUtils.GetLatestBuildDllDirectory(".");
-
- string perfcounterPath = Path.Combine(installPath, "perfcounter.dll");
- if (Interop.Kernel32.LoadLibrary(perfcounterPath) == IntPtr.Zero)
- {
- throw new Win32Exception(Marshal.GetLastWin32Error());
- }
-
- s_perfCounterDllLoaded = true;
- }
}
}
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataCollectionTests.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataCollectionTests.cs
index 0470116bd3a01..c018fc8571dfd 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataCollectionTests.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataCollectionTests.cs
@@ -10,14 +10,14 @@ namespace System.Diagnostics.Tests
{
public static class CounterCreationDataCollectionTests
{
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationDataCollection_CreateCounterCreationDataCollection_Empty()
{
CounterCreationDataCollection ccdc = new CounterCreationDataCollection();
Assert.Equal(0, ccdc.Count);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationDataCollection_CreateCounterCreationDataCollection_CCDC()
{
CounterCreationData[] ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
@@ -27,7 +27,7 @@ public static void CounterCreationDataCollection_CreateCounterCreationDataCollec
Assert.Equal(2, ccdc2.Count);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationDataCollection_CreateCounterCreationDataCollection_Array()
{
CounterCreationData[] ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
@@ -37,7 +37,7 @@ public static void CounterCreationDataCollection_CreateCounterCreationDataCollec
Assert.Equal(0, ccdc.IndexOf(ccds[0]));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationDataCollection_CreateCounterCreationDataCollection_Invalid()
{
CounterCreationData[] ccds = null;
@@ -46,7 +46,7 @@ public static void CounterCreationDataCollection_CreateCounterCreationDataCollec
Assert.Throws(() => new CounterCreationDataCollection(ccdc));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationDataCollection_SetIndex2()
{
CounterCreationData[] ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
@@ -59,7 +59,7 @@ public static void CounterCreationDataCollection_SetIndex2()
Assert.Equal(ccd, ccdc[1]);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationDataCollection_Remove()
{
CounterCreationData[] ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
@@ -69,7 +69,7 @@ public static void CounterCreationDataCollection_Remove()
Assert.False(ccdc.Contains(ccds[0]));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationDataCollection_Insert()
{
CounterCreationData[] ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
@@ -82,7 +82,7 @@ public static void CounterCreationDataCollection_Insert()
Assert.Equal(1, ccdc.IndexOf(ccd));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationDataCollection_CopyTo()
{
CounterCreationData[] ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataTests.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataTests.cs
index 8b818c5efa332..f7a5c00f16a25 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataTests.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataTests.cs
@@ -11,7 +11,7 @@ namespace System.Diagnostics.Tests
{
public static class CounterCreationDataTests
{
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationData_CreateCounterCreationData_SimpleSimpleHelpRawBase()
{
CounterCreationData ccd = new CounterCreationData("Simple", "Simple Help", PerformanceCounterType.RawBase);
@@ -21,7 +21,7 @@ public static void CounterCreationData_CreateCounterCreationData_SimpleSimpleHel
Assert.Equal(PerformanceCounterType.RawBase, ccd.CounterType);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterCreationData_SetCounterType_Invalud()
{
CounterCreationData ccd = new CounterCreationData("Simple", "Simple Help", PerformanceCounterType.RawBase);
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleCalculatorTests.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleCalculatorTests.cs
index b45e702478813..4173d201c8a89 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleCalculatorTests.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleCalculatorTests.cs
@@ -10,7 +10,7 @@ namespace System.Diagnostics.Tests
{
public static class CounterSampleCalculatorTests
{
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void CounterSampleCalculator_ElapsedTime()
{
var name = nameof(CounterSampleCalculator_ElapsedTime) + "_Counter";
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleTests.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleTests.cs
index 3625a77602119..b53733c71b03a 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleTests.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleTests.cs
@@ -10,7 +10,7 @@ namespace System.Diagnostics.Tests
{
public static class CounterSampleTests
{
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterSample_Constructor_EmptyCounterSample()
{
CounterSample counterSample = new CounterSample();
@@ -24,7 +24,7 @@ public static void CounterSample_Constructor_EmptyCounterSample()
Assert.Equal(0, counterSample.TimeStamp100nSec);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterSample_Constructor_CounterSample()
{
long timeStamp = DateTime.Now.ToFileTime();
@@ -39,8 +39,7 @@ public static void CounterSample_Constructor_CounterSample()
Assert.Equal(timeStamp, counterSample.TimeStamp100nSec);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
- [ActiveIssue("https://github.com/dotnet/runtime/issues/34409", TestPlatforms.Windows, TargetFrameworkMonikers.Netcoreapp, TestRuntimes.Mono)]
+ [Fact]
public static void CounterSample_Calculate_CalculateCounterSample()
{
CounterSample counterSample = new CounterSample(5, 0, 0, 0, 0, 0, PerformanceCounterType.NumberOfItems32);
@@ -48,8 +47,7 @@ public static void CounterSample_Calculate_CalculateCounterSample()
Assert.Equal(5, CounterSample.Calculate(counterSample));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
- [ActiveIssue("https://github.com/dotnet/runtime/issues/34409", TestPlatforms.Windows, TargetFrameworkMonikers.Netcoreapp, TestRuntimes.Mono)]
+ [Fact]
public static void CounterSample_Calculate_CalculateCounterSampleCounterSample()
{
CounterSample counterSample1 = new CounterSample(5, 0, 0, 1, 0, 0, PerformanceCounterType.CounterDelta32);
@@ -58,7 +56,7 @@ public static void CounterSample_Calculate_CalculateCounterSampleCounterSample()
Assert.Equal(10, CounterSample.Calculate(counterSample1, counterSample2));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterSample_Equal()
{
CounterSample counterSample1 = new CounterSample(5, 0, 0, 1, 0, 0, PerformanceCounterType.CounterDelta32);
@@ -67,7 +65,7 @@ public static void CounterSample_Equal()
Assert.Equal(counterSample1, counterSample2);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterSample_opInequality()
{
CounterSample counterSample1 = new CounterSample(5, 0, 0, 1, 0, 0, PerformanceCounterType.CounterDelta32);
@@ -76,7 +74,7 @@ public static void CounterSample_opInequality()
Assert.True(counterSample1 != counterSample2);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterSample_opEquality()
{
CounterSample counterSample1 = new CounterSample(5, 0, 0, 1, 0, 0, PerformanceCounterType.CounterDelta32);
@@ -85,7 +83,7 @@ public static void CounterSample_opEquality()
Assert.True(counterSample1 == counterSample2);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void CounterSample_GetHashCode()
{
CounterSample counterSample1 = new CounterSample(5, 0, 0, 1, 0, 0, PerformanceCounterType.CounterDelta32);
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/Helpers.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/Helpers.cs
index 19a27141e94f7..0cf90e9e4682e 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/Helpers.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/Helpers.cs
@@ -1,5 +1,6 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.IO;
using System.Threading;
using Xunit;
@@ -12,7 +13,9 @@ namespace System.Diagnostics.Tests
internal class Helpers
{
public static bool IsElevatedAndCanWriteToPerfCounters { get => AdminHelpers.IsProcessElevated() && CanWriteToPerfCounters; }
- public static bool CanWriteToPerfCounters { get => PlatformDetection.IsNotWindowsNanoServer && PlatformDetection.IsNotArmNorArm64Process; }
+ public static bool IsElevatedAndCanWriteAndReadNetPerfCounters { get => AdminHelpers.IsProcessElevated() && CanWriteToPerfCounters && CanReadNetPerfCounters; }
+ public static bool CanWriteToPerfCounters { get => PlatformDetection.IsNotWindowsNanoServer; }
+ public static bool CanReadNetPerfCounters { get => File.Exists(Environment.SystemDirectory + Path.DirectorySeparatorChar + "netfxperf.dll"); }
public static string CreateCategory(string name, PerformanceCounterCategoryType categoryType)
{
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/InstanceDataTests.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/InstanceDataTests.cs
index fbe4ac89493e3..7ff34aaafb263 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/InstanceDataTests.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/InstanceDataTests.cs
@@ -10,7 +10,7 @@ namespace System.Diagnostics.Tests
{
public static class InstanceDataTests
{
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceData_CreateInstanceData_FromCounterSample()
{
long timestamp = DateTime.Now.ToFileTime();
@@ -22,7 +22,7 @@ public static void InstanceData_CreateInstanceData_FromCounterSample()
Assert.Equal(1, id.RawValue);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollection_GetItem_ExistingCounter()
{
InstanceDataCollection idc = GetInstanceDataCollection();
@@ -41,7 +41,7 @@ public static void InstanceDataCollection_GetItem_ExistingCounter()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollection_NullTest()
{
InstanceDataCollection idc = GetInstanceDataCollection();
@@ -50,7 +50,7 @@ public static void InstanceDataCollection_NullTest()
Assert.Throws(() => idc.Contains(null));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollection_GetKeys()
{
InstanceDataCollection idc = GetInstanceDataCollection();
@@ -61,7 +61,7 @@ public static void InstanceDataCollection_GetKeys()
Assert.True(keys.Length > 0);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollection_GetValues()
{
InstanceDataCollection idc = GetInstanceDataCollection();
@@ -72,7 +72,7 @@ public static void InstanceDataCollection_GetValues()
Assert.True(values.Length > 0);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollectionCollection_GetItem_Invalid()
{
InstanceDataCollectionCollection idcc = GetInstanceDataCollectionCollection();
@@ -80,7 +80,7 @@ public static void InstanceDataCollectionCollection_GetItem_Invalid()
Assert.Throws(() => idcc[null]);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollectionCollection_GetKeys()
{
InstanceDataCollectionCollection idcc = GetInstanceDataCollectionCollection();
@@ -88,7 +88,7 @@ public static void InstanceDataCollectionCollection_GetKeys()
Assert.True(idcc.Keys.Count > 0);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollectionCollection_GetValues()
{
InstanceDataCollectionCollection idcc = GetInstanceDataCollectionCollection();
@@ -96,7 +96,7 @@ public static void InstanceDataCollectionCollection_GetValues()
Assert.True(idcc.Values.Count > 0);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollectionCollection_Contains_Valid()
{
InstanceDataCollectionCollection idcc = GetInstanceDataCollectionCollection();
@@ -104,7 +104,7 @@ public static void InstanceDataCollectionCollection_Contains_Valid()
Assert.False(idcc.Contains("Not a real instance"));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollectionCollection_Contains_inValid()
{
InstanceDataCollectionCollection idcc = GetInstanceDataCollectionCollection();
@@ -112,7 +112,7 @@ public static void InstanceDataCollectionCollection_Contains_inValid()
Assert.Throws(() => idcc.Contains(null));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void InstanceDataCollectionCollection_CopyTo()
{
InstanceDataCollectionCollection idcc = GetInstanceDataCollectionCollection();
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterCategoryTests.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterCategoryTests.cs
index 5c2ea1ee89703..1760032fa2535 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterCategoryTests.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterCategoryTests.cs
@@ -10,14 +10,14 @@ namespace System.Diagnostics.Tests
{
public static class PerformanceCounterCategoryTests
{
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_CreatePerformanceCounterCategory_DefaultConstructor()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
Assert.Equal(".", pcc.MachineName);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_CreatePerformanceCounterCategory_NullTests()
{
Assert.Throws(() => new PerformanceCounterCategory(null, "."));
@@ -25,7 +25,7 @@ public static void PerformanceCounterCategory_CreatePerformanceCounterCategory_N
Assert.Throws(() => new PerformanceCounterCategory("category", string.Empty));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_SetCategoryName_Valid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -33,7 +33,7 @@ public static void PerformanceCounterCategory_SetCategoryName_Valid()
Assert.Equal("Processor", pcc.CategoryName);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_SetCategoryName_Invalid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -42,7 +42,7 @@ public static void PerformanceCounterCategory_SetCategoryName_Invalid()
Assert.Throws(() => pcc.CategoryName = string.Empty);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_SetMachineName_Invalid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -50,7 +50,7 @@ public static void PerformanceCounterCategory_SetMachineName_Invalid()
Assert.Throws(() => pcc.MachineName = string.Empty);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_SetMachineName_ValidCategoryNameNull()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -59,7 +59,7 @@ public static void PerformanceCounterCategory_SetMachineName_ValidCategoryNameNu
Assert.Equal("machineName", pcc.MachineName);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_SetMachineName_ValidCategoryNameNotNull()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -69,7 +69,7 @@ public static void PerformanceCounterCategory_SetMachineName_ValidCategoryNameNo
Assert.Equal("machineName", pcc.MachineName);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_GetCounterHelp_Invalid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -77,7 +77,7 @@ public static void PerformanceCounterCategory_GetCounterHelp_Invalid()
Assert.Throws(() => pcc.CategoryHelp);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounterCategory_CategoryType_MultiInstance()
{
var name = nameof(PerformanceCounterCategory_CategoryType_MultiInstance) + "_Counter";
@@ -90,7 +90,7 @@ public static void PerformanceCounterCategory_CategoryType_MultiInstance()
PerformanceCounterCategory.Delete(category);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounterCategory_CategoryType_SingleInstance()
{
var name = nameof(PerformanceCounterCategory_CategoryType_SingleInstance) + "_Counter";
@@ -152,7 +152,7 @@ public static void PerformanceCounterCategory_Create_Invalid()
Assert.Throws(() => PerformanceCounterCategory.Create("Category name", maxCounter, PerformanceCounterCategoryType.SingleInstance, "Counter name", "counter help"));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_GetCategories()
{
PerformanceCounterCategory[] categories = PerformanceCounterCategory.GetCategories();
@@ -160,13 +160,13 @@ public static void PerformanceCounterCategory_GetCategories()
Assert.True(categories.Length > 0);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_GetCategories_StaticInvalid()
{
Assert.Throws(() => PerformanceCounterCategory.GetCategories(string.Empty));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_CounterExists_InterruptsPerSec()
{
PerformanceCounterCategory pcc = Helpers.RetryOnAllPlatforms(() => new PerformanceCounterCategory("Processor"));
@@ -174,7 +174,7 @@ public static void PerformanceCounterCategory_CounterExists_InterruptsPerSec()
Assert.True(pcc.CounterExists("Interrupts/sec"));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_CounterExists_Invalid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -183,13 +183,13 @@ public static void PerformanceCounterCategory_CounterExists_Invalid()
Assert.Throws(() => pcc.CounterExists("Interrupts/sec"));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_CounterExists_StaticInterruptsPerSec()
{
Assert.True(PerformanceCounterCategory.CounterExists("Interrupts/sec", "Processor"));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_CounterExists_StaticInvalid()
{
Assert.Throws(() => PerformanceCounterCategory.CounterExists(null, "Processor"));
@@ -198,7 +198,7 @@ public static void PerformanceCounterCategory_CounterExists_StaticInvalid()
Assert.Throws(() => PerformanceCounterCategory.CounterExists("Interrupts/sec", "Processor", string.Empty));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_DeleteCategory_Invalid()
{
Assert.Throws(() => PerformanceCounterCategory.Delete("Processor"));
@@ -215,7 +215,7 @@ public static void PerformanceCounterCategory_DeleteCategory()
Assert.False(PerformanceCounterCategory.Exists(category));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_Exists_Invalid()
{
Assert.Throws(() => PerformanceCounterCategory.Exists(null, "."));
@@ -223,7 +223,7 @@ public static void PerformanceCounterCategory_Exists_Invalid()
Assert.Throws(() => PerformanceCounterCategory.Exists("Processor", string.Empty));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounterCategory_GetCounters()
{
var name = nameof(PerformanceCounterCategory_GetCounters) + "_Counter";
@@ -236,7 +236,7 @@ public static void PerformanceCounterCategory_GetCounters()
PerformanceCounterCategory.Delete(category);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_GetCounters_Invalid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -249,7 +249,7 @@ public static void PerformanceCounterCategory_GetCounters_Invalid()
Assert.Throws(() => pcc.GetCounters("Not An Instance"));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_GetInstanceNames_Invalid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -257,7 +257,7 @@ public static void PerformanceCounterCategory_GetInstanceNames_Invalid()
Assert.Throws(() => pcc.GetInstanceNames());
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_InstanceExists_Invalid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
@@ -266,7 +266,7 @@ public static void PerformanceCounterCategory_InstanceExists_Invalid()
Assert.Throws(() => pcc.InstanceExists(""));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_InstanceExists_Static()
{
PerformanceCounterCategory pcc = Helpers.RetryOnAllPlatforms(() => new PerformanceCounterCategory("Processor"));
@@ -280,7 +280,7 @@ public static void PerformanceCounterCategory_InstanceExists_Static()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_InstanceExists_StaticInvalid()
{
Assert.Throws(() => PerformanceCounterCategory.InstanceExists(null, "Processor", "."));
@@ -289,7 +289,7 @@ public static void PerformanceCounterCategory_InstanceExists_StaticInvalid()
Assert.Throws(() => PerformanceCounterCategory.InstanceExists("", "Processor", string.Empty));
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_ReadCategory()
{
PerformanceCounterCategory pcc = Helpers.RetryOnAllPlatforms(() => new PerformanceCounterCategory("Processor"));
@@ -299,7 +299,7 @@ public static void PerformanceCounterCategory_ReadCategory()
Assert.NotNull(idColCol);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounterCategory_ReadCategory_Invalid()
{
PerformanceCounterCategory pcc = new PerformanceCounterCategory();
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterTests.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterTests.cs
index 4e3382956106d..bfaf5fba64b3d 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterTests.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterTests.cs
@@ -10,7 +10,7 @@ namespace System.Diagnostics.Tests
{
public static class PerformanceCounterTests
{
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_CreateCounter_EmptyCounter()
{
using (PerformanceCounter counterSample = new PerformanceCounter())
@@ -36,7 +36,7 @@ public static void PerformanceCounter_CreateCounter_Count0()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_CreateCounter_ProcessorCounter()
{
using (PerformanceCounter counterSample = new PerformanceCounter("Processor", "Interrupts/sec", "0", "."))
@@ -47,7 +47,7 @@ public static void PerformanceCounter_CreateCounter_ProcessorCounter()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_CreateCounter_MultiInstanceReadOnly()
{
var name = nameof(PerformanceCounter_CreateCounter_MultiInstanceReadOnly) + "_Counter";
@@ -66,7 +66,7 @@ public static void PerformanceCounter_CreateCounter_MultiInstanceReadOnly()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_CreateCounter_SetReadOnly()
{
var name = nameof(PerformanceCounter_CreateCounter_SetReadOnly) + "_Counter";
@@ -83,7 +83,7 @@ public static void PerformanceCounter_CreateCounter_SetReadOnly()
Helpers.DeleteCategory(name);
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_SetProperties_Null()
{
using (PerformanceCounter counterSample = new PerformanceCounter())
@@ -94,7 +94,7 @@ public static void PerformanceCounter_SetProperties_Null()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_SetRawValue_ReadOnly()
{
using (PerformanceCounter counterSample = new PerformanceCounter())
@@ -103,7 +103,7 @@ public static void PerformanceCounter_SetRawValue_ReadOnly()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_GetRawValue_EmptyCategoryName()
{
var name = nameof(PerformanceCounter_GetRawValue_EmptyCategoryName) + "_Counter";
@@ -116,7 +116,7 @@ public static void PerformanceCounter_GetRawValue_EmptyCategoryName()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_GetRawValue_EmptyCounterName()
{
var name = nameof(PerformanceCounter_GetRawValue_EmptyCounterName) + "_Counter";
@@ -129,7 +129,7 @@ public static void PerformanceCounter_GetRawValue_EmptyCounterName()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_GetRawValue_CounterDoesNotExist()
{
var name = nameof(PerformanceCounter_GetRawValue_CounterDoesNotExist) + "_Counter";
@@ -144,7 +144,7 @@ public static void PerformanceCounter_GetRawValue_CounterDoesNotExist()
}
[ActiveIssue("https://github.com/dotnet/runtime/issues/29753")]
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_NextValue_ProcessorCounter()
{
using (PerformanceCounter counterSample = new PerformanceCounter("Processor", "Interrupts/sec", "0", "."))
@@ -156,7 +156,7 @@ public static void PerformanceCounter_NextValue_ProcessorCounter()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_BeginInit_ProcessorCounter()
{
using (PerformanceCounter counterSample = new PerformanceCounter("Processor", "Interrupts/sec", "0", "."))
@@ -167,7 +167,7 @@ public static void PerformanceCounter_BeginInit_ProcessorCounter()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [Fact]
public static void PerformanceCounter_BeginInitEndInit_ProcessorCounter()
{
using (PerformanceCounter counterSample = new PerformanceCounter("Processor", "Interrupts/sec", "0", "."))
@@ -179,7 +179,7 @@ public static void PerformanceCounter_BeginInitEndInit_ProcessorCounter()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_Decrement()
{
var name = nameof(PerformanceCounter_Decrement) + "_Counter";
@@ -193,7 +193,7 @@ public static void PerformanceCounter_Decrement()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_Increment()
{
var name = nameof(PerformanceCounter_Increment) + "_Counter";
@@ -207,7 +207,7 @@ public static void PerformanceCounter_Increment()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_IncrementBy_IncrementBy2()
{
var name = nameof(PerformanceCounter_IncrementBy_IncrementBy2) + "_Counter";
@@ -221,8 +221,7 @@ public static void PerformanceCounter_IncrementBy_IncrementBy2()
}
}
- [ActiveIssue("https://github.com/dotnet/runtime/issues/24176")]
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_IncrementBy_IncrementByReadOnly()
{
var name = nameof(PerformanceCounter_IncrementBy_IncrementByReadOnly) + "_Counter";
@@ -233,7 +232,7 @@ public static void PerformanceCounter_IncrementBy_IncrementByReadOnly()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_Increment_IncrementReadOnly()
{
var name = nameof(PerformanceCounter_Increment_IncrementReadOnly) + "_Counter";
@@ -244,7 +243,7 @@ public static void PerformanceCounter_Increment_IncrementReadOnly()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_Decrement_DecrementReadOnly()
{
var name = nameof(PerformanceCounter_Decrement_DecrementReadOnly) + "_Counter";
@@ -270,7 +269,7 @@ public static void PerformanceCounter_RemoveInstance()
}
}
- [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
+ [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters))]
public static void PerformanceCounter_NextSample_MultiInstance()
{
var name = nameof(PerformanceCounter_NextSample_MultiInstance) + "_Counter";
diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceDataTests.cs b/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceDataTests.cs
index eeef6af01f315..d2864ae7bd3e3 100644
--- a/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceDataTests.cs
+++ b/src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceDataTests.cs
@@ -18,7 +18,7 @@ public PerformanceDataTests(PerformanceDataTestsFixture fixture)
}
// We run the test only if the stress mode is enabled and the process is elvated.
- private static bool IsRunnableEnvironnement => Helpers.IsElevatedAndCanWriteToPerfCounters && TestEnvironment.IsStressModeEnabled && RemoteExecutor.IsSupported;
+ private static bool IsRunnableEnvironnement => Helpers.IsElevatedAndCanWriteAndReadNetPerfCounters && TestEnvironment.IsStressModeEnabled && RemoteExecutor.IsSupported;
///
/// This test was taken from System.Diagnostics.PerformanceData documentation https://msdn.microsoft.com/en-us/library/system.diagnostics.performancedata(v=vs.110).aspx