예제 #1
0
        public static PerformanceCounter CreateCounterWithCategory(string name, bool readOnly, PerformanceCounterCategoryType categoryType)
        {
            var category = Helpers.CreateCategory(name, categoryType);

            PerformanceCounter counterSample = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter(category, name, readOnly));

            return(counterSample);
        }
예제 #2
0
        public static void PerformanceCounterCategory_DeleteCategory()
        {
            var name     = nameof(PerformanceCounterCategory_DeleteCategory) + "_Counter";
            var category = Helpers.CreateCategory(name, PerformanceCounterCategoryType.SingleInstance);

            PerformanceCounterCategory.Delete(category);

            Assert.False(PerformanceCounterCategory.Exists(category));
        }
예제 #3
0
        public static PerformanceCounter CreateCounterWithCategory(string categoryName, bool readOnly, PerformanceCounterCategoryType categoryType)
        {
            Helpers.CreateCategory(categoryName, categoryType);

            string counterName = categoryName.Replace("_Category", "_Counter");

            PerformanceCounter counterSample = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter(categoryName, counterName, readOnly));

            return(counterSample);
        }
예제 #4
0
        public static void PerformanceCounterCategory_DeleteCategory()
        {
            string categoryName = nameof(PerformanceCounterCategory_DeleteCategory) + "_Category";

            Helpers.CreateCategory(categoryName, PerformanceCounterCategoryType.SingleInstance);

            PerformanceCounterCategory.Delete(categoryName);

            Assert.False(PerformanceCounterCategory.Exists(categoryName));
        }
예제 #5
0
        public static void PerformanceCounterCategory_CategoryType_SingleInstance()
        {
            var name = nameof(PerformanceCounterCategory_CategoryType_SingleInstance) + "_Counter";

            var category = Helpers.CreateCategory(name, PerformanceCounterCategoryType.SingleInstance);

            PerformanceCounterCategory pcc = Helpers.RetryOnAllPlatforms(() => new PerformanceCounterCategory(category));

            Assert.Equal(PerformanceCounterCategoryType.SingleInstance, Helpers.RetryOnAllPlatforms(() => pcc.CategoryType));
            PerformanceCounterCategory.Delete(category);
        }
예제 #6
0
        public static void PerformanceCounterCategory_CategoryType_MultiInstance()
        {
            string categoryName = nameof(PerformanceCounterCategory_CategoryType_MultiInstance) + "_Category";

            Helpers.CreateCategory(categoryName, PerformanceCounterCategoryType.MultiInstance);

            PerformanceCounterCategory pcc = Helpers.RetryOnAllPlatforms(() => new PerformanceCounterCategory(categoryName));

            Assert.Equal(PerformanceCounterCategoryType.MultiInstance, Helpers.RetryOnAllPlatforms(() => pcc.CategoryType));
            PerformanceCounterCategory.Delete(categoryName);
        }
        public static void PerformanceCounterCategory_CategoryType_SingleInstance()
        {
            string categoryName = nameof(PerformanceCounterCategory_CategoryType_SingleInstance) + "_Category";

            Helpers.CreateCategory(categoryName, PerformanceCounterCategoryType.SingleInstance);

            PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);

            Assert.Equal(PerformanceCounterCategoryType.SingleInstance, Helpers.RetryOnAllPlatformsWithClosingResources(() => pcc.CategoryType));
            PerformanceCounterCategory.Delete(categoryName);
        }
예제 #8
0
        public static void PerformanceCounterCategory_GetCounters()
        {
            var name     = nameof(PerformanceCounterCategory_GetCounters) + "_Counter";
            var category = Helpers.CreateCategory(name, PerformanceCounterCategoryType.SingleInstance);

            PerformanceCounterCategory pcc = Helpers.RetryOnAllPlatforms(() => new PerformanceCounterCategory(category));

            PerformanceCounter[] counters = pcc.GetCounters();

            Assert.True(counters.Length > 0);
            PerformanceCounterCategory.Delete(category);
        }
        public static void PerformanceCounterCategory_GetCounters()
        {
            string categoryName = nameof(PerformanceCounterCategory_GetCounters) + "_Category";

            Helpers.CreateCategory(categoryName, PerformanceCounterCategoryType.SingleInstance);

            PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);

            PerformanceCounter[] counters = pcc.GetCounters();

            Assert.True(counters.Length > 0);
            PerformanceCounterCategory.Delete(categoryName);
        }
예제 #10
0
        public static void PerformanceCounter_CreateCounter_SetReadOnly()
        {
            var name = nameof(PerformanceCounter_CreateCounter_SetReadOnly) + "_Counter";

            var category = Helpers.CreateCategory(name, PerformanceCounterCategoryType.SingleInstance);

            using (PerformanceCounter counterSample = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter(category, name)))
            {
                counterSample.ReadOnly = false;

                Assert.False(counterSample.ReadOnly);
            }

            Helpers.DeleteCategory(name);
        }
예제 #11
0
        public static void PerformanceCounter_NextSample_MultiInstance()
        {
            var name     = nameof(PerformanceCounter_NextSample_MultiInstance) + "_Counter";
            var instance = name + "_Instance";

            var category = Helpers.CreateCategory(name, PerformanceCounterCategoryType.MultiInstance);

            using (PerformanceCounter counterSample = new PerformanceCounter(category, name, instance, false))
            {
                counterSample.RawValue = 10;
                Helpers.RetryOnAllPlatforms(() => counterSample.Decrement());

                Assert.Equal(9, counterSample.RawValue);
                Helpers.DeleteCategory(name);
            }
        }
예제 #12
0
        public static void PerformanceCounter_CreateCounter_SetReadOnly()
        {
            string categoryName = nameof(PerformanceCounter_CreateCounter_SetReadOnly) + "_Category";
            string counterName  = nameof(PerformanceCounter_CreateCounter_SetReadOnly) + "_Counter";

            Helpers.CreateCategory(categoryName, PerformanceCounterCategoryType.SingleInstance);

            using (PerformanceCounter counterSample = Helpers.RetryOnAllPlatformsWithClosingResources(() => new PerformanceCounter(categoryName, counterName)))
            {
                counterSample.ReadOnly = false;

                Assert.False(counterSample.ReadOnly);
            }

            Helpers.DeleteCategory(categoryName);
        }
예제 #13
0
        public static void PerformanceCounter_CreateCounter_MultiInstanceReadOnly()
        {
            var name     = nameof(PerformanceCounter_CreateCounter_MultiInstanceReadOnly) + "_Counter";
            var instance = name + "_Instance";

            var category = Helpers.CreateCategory(name, PerformanceCounterCategoryType.MultiInstance);

            using (PerformanceCounter counterSample = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter(category, name, instance)))
            {
                Assert.Equal(name, counterSample.CounterName);
                Assert.Equal(category, counterSample.CategoryName);
                Assert.Equal(instance, counterSample.InstanceName);
                Assert.Equal("counter description", Helpers.RetryOnAllPlatforms(() => counterSample.CounterHelp));
                Assert.True(counterSample.ReadOnly);
                Helpers.DeleteCategory(name);
            }
        }
예제 #14
0
        public static void PerformanceCounter_NextSample_MultiInstance()
        {
            string categoryName = nameof(PerformanceCounter_NextSample_MultiInstance) + "_Category";
            string counterName  = nameof(PerformanceCounter_NextSample_MultiInstance) + "_Counter";
            string instanceName = nameof(PerformanceCounter_NextSample_MultiInstance) + "_Instance";

            Helpers.CreateCategory(categoryName, PerformanceCounterCategoryType.MultiInstance);

            using (PerformanceCounter counterSample = new PerformanceCounter(categoryName, counterName, instanceName, readOnly: false))
            {
                counterSample.RawValue = 10;
                Helpers.RetryOnAllPlatforms(() => counterSample.Decrement());

                Assert.Equal(9, counterSample.RawValue);
            }

            Helpers.DeleteCategory(categoryName);
        }
예제 #15
0
        public static void PerformanceCounter_CreateCounter_MultiInstanceReadOnly()
        {
            string categoryName = nameof(PerformanceCounter_CreateCounter_MultiInstanceReadOnly) + "_Category";
            string counterName  = nameof(PerformanceCounter_CreateCounter_MultiInstanceReadOnly) + "_Counter";
            string instanceName = nameof(PerformanceCounter_CreateCounter_MultiInstanceReadOnly) + "_Instance";

            Helpers.CreateCategory(categoryName, counterName, PerformanceCounterCategoryType.MultiInstance);

            using (PerformanceCounter counterSample = Helpers.RetryOnAllPlatformsWithClosingResources(() => new PerformanceCounter(categoryName, counterName, instanceName)))
            {
                Assert.Equal(counterName, counterSample.CounterName);
                Assert.Equal(categoryName, counterSample.CategoryName);
                Assert.Equal(instanceName, counterSample.InstanceName);
                Assert.Equal("counter description", Helpers.RetryOnAllPlatformsWithClosingResources(() => counterSample.CounterHelp));
                Assert.True(counterSample.ReadOnly);
            }

            Helpers.DeleteCategory(categoryName);
        }