public static void Main()
    {
        try
        {
            // <Snippet1>
            // <Snippet2>
            string myCategoryName;
            int    numberOfCounters;
            Console.Write("Enter the category Name :");
            myCategoryName = Console.ReadLine();
            // Check if the category already exists or not.
            if (!PerformanceCounterCategory.Exists(myCategoryName))
            {
                Console.Write("Enter the number of counters : ");
                numberOfCounters = int.Parse(Console.ReadLine());
                CounterCreationData[] myCounterCreationData =
                    new CounterCreationData[numberOfCounters];
                for (int i = 0; i < numberOfCounters; i++)
                {
                    Console.Write("Enter the counter name for {0} counter : ", i);
                    myCounterCreationData[i]             = new CounterCreationData();
                    myCounterCreationData[i].CounterName = Console.ReadLine();
                }
                CounterCreationDataCollection myCounterCollection =
                    new CounterCreationDataCollection();
                // Add the 'CounterCreationData[]' to 'CounterCollection'.
                myCounterCollection.AddRange(myCounterCreationData);

                PerformanceCounterCategory.Create(myCategoryName,
                                                  "Sample Category",
                                                  PerformanceCounterCategoryType.SingleInstance, myCounterCollection);

                if (myCounterCreationData.Length > 0)
                {
                    if (myCounterCollection.Contains(myCounterCreationData[0]))
                    {
                        myCounterCollection.Remove(myCounterCreationData[0]);
                        Console.WriteLine("'{0}' counter is removed from the " +
                                          "CounterCreationDataCollection", myCounterCreationData[0].CounterName);
                    }
                }
                else
                {
                    Console.WriteLine("The counters does not exist");
                }
            }
            else
            {
                Console.WriteLine("The category already exists");
            }
            // </Snippet2>
            // </Snippet1>
        }
        catch (Exception e)
        {
            Console.WriteLine("Exception: {0}.", e.Message);
            return;
        }
    }
Example #2
0
        public static void CounterCreationDataCollection_Remove()
        {
            CounterCreationData[]         ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
            CounterCreationDataCollection ccdc = new CounterCreationDataCollection(ccds);

            ccdc.Remove(ccds[0]);
            Assert.False(ccdc.Contains(ccds[0]));
        }
Example #3
0
        public static void CounterCreationDataCollection_CreateCounterCreationDataCollection_Array()
        {
            CounterCreationData[]         ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
            CounterCreationDataCollection ccdc = new CounterCreationDataCollection(ccds);

            Assert.Equal(2, ccdc.Count);
            Assert.True(ccdc.Contains(ccds[0]));
            Assert.Equal(0, ccdc.IndexOf(ccds[0]));
        }
Example #4
0
        /// <summary>
        /// add a counter to the installer, this counter can then be installed by calling the RefreshCatagoryWithCounters method
        /// </summary>
        public void AddCounter(string counterName, string counterHelp, PerformanceCounterType counterType)
        {
            var counter = _counterCreator.GetCounter(counterName, counterHelp, counterType);

            if (!_counters.Contains(counter))
            {
                _counters.Add(counter);
            }
        }
Example #5
0
        public static void CounterCreationDataCollection_Insert()
        {
            CounterCreationData[]         ccds = { new CounterCreationData("Simple1", "Simple Help", PerformanceCounterType.RawBase), new CounterCreationData("Simple2", "Simple Help", PerformanceCounterType.RawBase) };
            CounterCreationDataCollection ccdc = new CounterCreationDataCollection(ccds);

            CounterCreationData ccd = new CounterCreationData("Simple3", "Simple Help", PerformanceCounterType.RawBase);

            ccdc.Insert(1, ccd);

            Assert.True(ccdc.Contains(ccd));
            Assert.Equal(1, ccdc.IndexOf(ccd));
        }