private void CreateCounterSetInstance()
        {
            _CounterSet =
                new CounterSet(
                    base._counterSetRegistrarBase.ProviderId,
                    base._counterSetRegistrarBase.CounterSetId,
                    base._counterSetRegistrarBase.CounterSetInstType);

            // Add the counters to the counter set definition.
            foreach (CounterInfo counterInfo in base._counterSetRegistrarBase.CounterInfoArray)
            {
                if (counterInfo.Name == null)
                {
                    _CounterSet.AddCounter(counterInfo.Id, counterInfo.Type);
                }
                else
                {
                    _CounterSet.AddCounter(counterInfo.Id, counterInfo.Type, counterInfo.Name);
                }
            }

            string instanceName = PSPerfCountersMgr.Instance.GetCounterSetInstanceName();

            // Create an instance of the counter set (contains the counter data).
            _CounterSetInstance = _CounterSet.CreateCounterSetInstance(instanceName);
        }
 public void PerformanceCounter_PerformanceData_Counter_AlreadyAdded()
 {
     using (CounterSet typingCounterSet = new CounterSet(_fixture._providerId, _fixture._typingCounterSetId, CounterSetInstanceType.Single))
     {
         typingCounterSet.AddCounter(6, CounterType.SampleBase, "Percent Base");
         Assert.Throws <ArgumentException>(() => typingCounterSet.AddCounter(6, CounterType.SampleBase, "Percent Base"));
     }
 }
Пример #3
0
        public void SetValue_IllegalValue2()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(4));
            counterSet.AddCounter(new Counter(4));
            counterSet.SetValue(3, 5);
        }
Пример #4
0
        public void Inc_11initialized()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(2));
            counterSet.AddCounter(new Counter(2));

            Assert.AreEqual("1:1", counterSet.ToString());
        }
Пример #5
0
        public void Inc_22nitialized()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(2, 3));
            counterSet.AddCounter(new Counter(3, 7));

            Assert.AreEqual("2:3", counterSet.ToString());
        }
Пример #6
0
        public void Inc_11atMin_InvalidOp()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(2));
            counterSet.AddCounter(new Counter(2));

            counterSet.SetValue(1, 1);
            counterSet.Dec();
        }
Пример #7
0
        public void Inc_22atMax_InvalidOp()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(2));
            counterSet.AddCounter(new Counter(2));

            counterSet.SetValue(2, 2);
            counterSet.Inc();
        }
Пример #8
0
        public void Inc_22atMin_InvalidOp()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(2, 4));
            counterSet.AddCounter(new Counter(2, 4));

            counterSet.SetValue(2, 2);

            counterSet.Dec();
        }
Пример #9
0
        public void Inc_11to12()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(2));
            counterSet.AddCounter(new Counter(2));

            counterSet.Inc();

            Assert.AreEqual("1:2", counterSet.ToString());
        }
Пример #10
0
        public void SetValue()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(4));
            counterSet.AddCounter(new Counter(4));

            counterSet.SetValue(2, 3);

            Assert.AreEqual("2:3", counterSet.ToString());
        }
Пример #11
0
        public void Inc_12to21()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(2));
            counterSet.AddCounter(new Counter(2));

            counterSet.SetValue(1, 2);
            counterSet.Inc();

            Assert.AreEqual("2:1", counterSet.ToString());
        }
Пример #12
0
        public void SetValue_IndexError()
        {
            var counterSet = new CounterSet();

            counterSet.AddCounter(new Counter(4));
            counterSet.SetValue(3, 3);
        }
 public void PerformanceCounter_PerformanceData_CounterSet_InvalidInstanceName(string instanceName, Type exceptionType)
 {
     using (CounterSet typingCounterSet = new CounterSet(_fixture._providerId, _fixture._typingCounterSetId, CounterSetInstanceType.Single))
     {
         typingCounterSet.AddCounter(6, CounterType.SampleBase, "Percent Base");
         ArgumentException argumentException = (ArgumentException)Assert.Throws(exceptionType, () => typingCounterSet.CreateCounterSetInstance(instanceName));
         Assert.Equal("instanceName", argumentException.ParamName);
     }
 }
Пример #14
0
        public void CounterSet_Functionbased()
        {
            var counterSet = new CounterSet();
            var counter1   = new Counter(2);
            var counter2   = new Counter(() => { return(OneHigherThanValue(counter1)); });

            counterSet.AddCounter(counter1);
            counterSet.AddCounter(counter2);

            int           i     = 0;
            List <String> perms = GetAllPermutations(counterSet);

            Assert.AreEqual("1:1", perms[0]);
            Assert.AreEqual("1:2", perms[1]);
            Assert.AreEqual("2:1", perms[2]);
            Assert.AreEqual("2:2", perms[3]);
            Assert.AreEqual("2:3", perms[4]);
            Assert.AreEqual(5, perms.Count);
        }
 public void PerformanceCounter_PerformanceData_CreateCounterSetInstance_AlreadyExists()
 {
     using (CounterSet typingCounterSet = new CounterSet(_fixture._providerId, _fixture._typingCounterSetId, CounterSetInstanceType.Single))
     {
         typingCounterSet.AddCounter(6, CounterType.SampleBase, "Percent Base");
         using (CounterSetInstance typingCsInstance = typingCounterSet.CreateCounterSetInstance("Typing Instance"))
         {
             AssertExtensions.Throws <ArgumentException>("instanceName", "InstanceName", () => typingCounterSet.CreateCounterSetInstance("Typing Instance"));
         }
     }
 }
 public void PerformanceCounter_PerformanceData_InvalidCounterName_Indexer(string counterName)
 {
     using (CounterSet typingCounterSet = new CounterSet(_fixture._providerId, _fixture._typingCounterSetId, CounterSetInstanceType.Single))
     {
         typingCounterSet.AddCounter(6, CounterType.SampleBase, "Percent Base");
         using (CounterSetInstance typingCsInstance = typingCounterSet.CreateCounterSetInstance("Typing Instance"))
         {
             AssertExtensions.Throws <ArgumentNullException>("counterName", "CounterName", () => typingCsInstance.Counters[counterName]);
         }
     }
 }
 public void PerformanceCounter_PerformanceData_Counter_NotFound()
 {
     using (CounterSet typingCounterSet = new CounterSet(_fixture._providerId, _fixture._typingCounterSetId, CounterSetInstanceType.Single))
     {
         typingCounterSet.AddCounter(6, CounterType.SampleBase, "Percent Base");
         using (CounterSetInstance typingCsInstance = typingCounterSet.CreateCounterSetInstance("Typing Instance"))
         {
             Assert.Null(typingCsInstance.Counters["NotFound"]);
             Assert.Null(typingCsInstance.Counters[1]);
         }
     }
 }
Пример #18
0
 protected override void OnInitialize()
 {
     lock (MessagingPerformanceCounters.staticSyncRoot)
     {
         if (MessagingPerformanceCounters.counterSet == null)
         {
             CounterSet counterSet = MessagingPerformanceCounters.CreateCounterSet();
             foreach (KeyValuePair <MessagingPerformanceCounters.MessagingPerfCounterKeys, MessagingPerformanceCounters.CounterMetadata> perfCounterDictionary in MessagingPerformanceCounters.PerfCounterDictionary)
             {
                 counterSet.AddCounter(perfCounterDictionary.Value.Id, perfCounterDictionary.Value.Type, perfCounterDictionary.Value.Name);
             }
             MessagingPerformanceCounters.counterSet = counterSet;
         }
     }
     this.counterSetInstance = MessagingPerformanceCounters.CreateCounterSetInstance(this.InstanceName);
     this.counters           = new CounterData[43];
     for (int i = 0; i < (int)this.counters.Length; i++)
     {
         this.counters[i]       = this.counterSetInstance.Counters[i];
         this.counters[i].Value = (long)0;
     }
 }
Пример #19
0
        static void Main(string[] args)
        {
            var schemaPath = RegisterCounters();
            PerformanceCounter pc = new PerformanceCounter("Typing", "Words Typed In Interval");
            typingCounterSet = new CounterSet(providerId, typingCounterSetId, CounterSetInstanceType.Single);
            try
            {
                typingCounterSet.AddCounter(1, CounterType.Delta32, "Words Typed In Interval");
                typingCsInstance = typingCounterSet.CreateCounterSetInstance("Typing Instance");
                typingCsInstance.Counters[1].Value = 0;

                System.Diagnostics.Debug.Assert(pc.RawValue == 0);
                typingCsInstance.Counters["Words Typed In Interval"].Increment();
                System.Diagnostics.Debug.Assert(pc.RawValue == 1);
            }
            finally
            {
                typingCounterSet.Dispose();
                UnregisterCounters(schemaPath);
                Directory.Delete(Path.GetDirectoryName(schemaPath), true);
            }
        }
 internal ServicePerformanceCountersV2(ServiceHostBase serviceHost) : base(serviceHost)
 {
     if (serviceCounterSet == null)
     {
         lock (syncRoot)
         {
             if (serviceCounterSet == null)
             {
                 CounterSet set = CreateCounterSet();
                 set.AddCounter(0, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0]);
                 set.AddCounter(1, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[1]);
                 set.AddCounter(2, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[2]);
                 set.AddCounter(3, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[3]);
                 set.AddCounter(4, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[4]);
                 set.AddCounter(5, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[5]);
                 set.AddCounter(6, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[6]);
                 set.AddCounter(8, CounterType.AverageBase, ServicePerformanceCountersBase.perfCounterNames[8]);
                 set.AddCounter(7, CounterType.AverageTimer32, ServicePerformanceCountersBase.perfCounterNames[7]);
                 set.AddCounter(9, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[9]);
                 set.AddCounter(10, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[10]);
                 set.AddCounter(11, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[11]);
                 set.AddCounter(12, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[12]);
                 set.AddCounter(13, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[13]);
                 set.AddCounter(14, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[14]);
                 set.AddCounter(15, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[15]);
                 set.AddCounter(0x10, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[0x10]);
                 set.AddCounter(0x11, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0x11]);
                 set.AddCounter(0x12, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[0x12]);
                 set.AddCounter(0x13, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0x13]);
                 set.AddCounter(20, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[20]);
                 set.AddCounter(0x15, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0x15]);
                 set.AddCounter(0x16, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[0x16]);
                 set.AddCounter(0x17, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0x17]);
                 set.AddCounter(0x18, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[0x18]);
                 set.AddCounter(0x19, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0x19]);
                 set.AddCounter(0x1a, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[0x1a]);
                 set.AddCounter(0x1b, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0x1b]);
                 set.AddCounter(0x1c, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[0x1c]);
                 set.AddCounter(0x1d, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0x1d]);
                 set.AddCounter(30, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[30]);
                 set.AddCounter(0x1f, CounterType.RawData32, ServicePerformanceCountersBase.perfCounterNames[0x1f]);
                 set.AddCounter(0x20, CounterType.RateOfCountPerSecond32, ServicePerformanceCountersBase.perfCounterNames[0x20]);
                 set.AddCounter(0x21, CounterType.RawFraction32, ServicePerformanceCountersBase.perfCounterNames[0x21]);
                 set.AddCounter(0x22, CounterType.RawBase32, ServicePerformanceCountersBase.perfCounterNames[0x22]);
                 set.AddCounter(0x23, CounterType.RawFraction32, ServicePerformanceCountersBase.perfCounterNames[0x23]);
                 set.AddCounter(0x24, CounterType.RawBase32, ServicePerformanceCountersBase.perfCounterNames[0x24]);
                 set.AddCounter(0x25, CounterType.RawFraction32, ServicePerformanceCountersBase.perfCounterNames[0x25]);
                 set.AddCounter(0x26, CounterType.RawBase32, ServicePerformanceCountersBase.perfCounterNames[0x26]);
                 serviceCounterSet = set;
             }
         }
     }
     this.serviceCounterSetInstance = CreateCounterSetInstance(this.InstanceName);
     this.counters = new CounterData[0x27];
     for (int i = 0; i < 0x27; i++)
     {
         this.counters[i]       = this.serviceCounterSetInstance.Counters[i];
         this.counters[i].Value = 0L;
     }
 }
Пример #21
0
 internal static void EnsureCounterSet()
 {
     if (endpointCounterSet == null)
     {
         lock (syncRoot)
         {
             if (endpointCounterSet == null)
             {
                 CounterSet localCounterSet = CreateCounterSet();
                 // Add the counters to the counter set definition.
                 localCounterSet.AddCounter((int)PerfCounters.Calls, CounterType.RawData32, perfCounterNames[(int)PerfCounters.Calls]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.CallsPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsOutstanding, CounterType.RawData32, perfCounterNames[(int)PerfCounters.CallsOutstanding]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsFailed, CounterType.RawData32, perfCounterNames[(int)PerfCounters.CallsFailed]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsFailedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.CallsFailedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsFaulted, CounterType.RawData32, perfCounterNames[(int)PerfCounters.CallsFaulted]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsFaultedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.CallsFaultedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallDurationBase, CounterType.AverageBase, perfCounterNames[(int)PerfCounters.CallDurationBase]);
                 localCounterSet.AddCounter((int)PerfCounters.CallDuration, CounterType.AverageTimer32, perfCounterNames[(int)PerfCounters.CallDuration]);
                 localCounterSet.AddCounter((int)PerfCounters.SecurityValidationAuthenticationFailures, CounterType.RawData32, perfCounterNames[(int)PerfCounters.SecurityValidationAuthenticationFailures]);
                 localCounterSet.AddCounter((int)PerfCounters.SecurityValidationAuthenticationFailuresPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.SecurityValidationAuthenticationFailuresPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsNotAuthorized, CounterType.RawData32, perfCounterNames[(int)PerfCounters.CallsNotAuthorized]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsNotAuthorizedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.CallsNotAuthorizedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.RMSessionsFaulted, CounterType.RawData32, perfCounterNames[(int)PerfCounters.RMSessionsFaulted]);
                 localCounterSet.AddCounter((int)PerfCounters.RMSessionsFaultedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.RMSessionsFaultedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.RMMessagesDropped, CounterType.RawData32, perfCounterNames[(int)PerfCounters.RMMessagesDropped]);
                 localCounterSet.AddCounter((int)PerfCounters.RMMessagesDroppedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.RMMessagesDroppedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.TxFlowed, CounterType.RawData32, perfCounterNames[(int)PerfCounters.TxFlowed]);
                 localCounterSet.AddCounter((int)PerfCounters.TxFlowedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.TxFlowedPerSecond]);
                 endpointCounterSet = localCounterSet;
             }
         }
     }
 }
        public void PerformanceCounter_PerformanceData()
        {
            // We run test in isolated process to avoid interferences on internal performance counter shared state with other tests.
            // These interferences could lead to fail also after retries
            RemoteExecutor.Invoke((string providerId, string typingCounterSetId) =>
            {
                // Create the 'Typing' counter set.
                using (CounterSet typingCounterSet = new CounterSet(Guid.Parse(providerId), Guid.Parse(typingCounterSetId), CounterSetInstanceType.Single))
                {
                    // Add the counters to the counter set definition.
                    typingCounterSet.AddCounter(1, CounterType.RawData32, "Total Words Typed");
                    typingCounterSet.AddCounter(2, CounterType.Delta32, "Words Typed In Interval");
                    typingCounterSet.AddCounter(3, CounterType.RawData32, "Letter A Pressed");
                    typingCounterSet.AddCounter(4, CounterType.RawData32, "Words Containing A");
                    typingCounterSet.AddCounter(5, CounterType.SampleFraction, "Percent of Words Containing A");
                    typingCounterSet.AddCounter(6, CounterType.SampleBase, "Percent Base");
                    typingCounterSet.AddCounter(7, CounterType.SampleBase);

                    // Create an instance of the counter set (contains the counter data).
                    using (CounterSetInstance typingCsInstance = typingCounterSet.CreateCounterSetInstance("Typing Instance"))
                    {
                        typingCsInstance.Counters[1].Value = 0;
                        typingCsInstance.Counters[2].Value = 0;
                        typingCsInstance.Counters[3].Value = 0;
                        typingCsInstance.Counters[4].Value = 0;
                        typingCsInstance.Counters[5].Value = 0;
                        typingCsInstance.Counters[6].Value = 0;

                        // Instance counters readers
                        using (PerformanceCounter totalWordsTyped = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter("Typing", "Total Words Typed")),
                               wordsTypedInInterval = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter("Typing", "Words Typed In Interval")),
                               aKeyPressed = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter("Typing", "Letter A Pressed")),
                               wordsContainingA = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter("Typing", "Words Containing A")),
                               percentofWordsContaingA = Helpers.RetryOnAllPlatforms(() => new PerformanceCounter("Typing", "Percent of Words Containing A")))
                        {
                            typingCsInstance.Counters[1].Increment();
                            Assert.Equal(1, typingCsInstance.Counters[1].Value);
                            Assert.Equal(1, typingCsInstance.Counters[1].RawValue);
                            Assert.Equal(1, typingCsInstance.Counters["Total Words Typed"].RawValue);
                            Assert.Equal(1, totalWordsTyped.RawValue);


                            typingCsInstance.Counters[1].Increment();
                            Assert.Equal(2, typingCsInstance.Counters[1].Value);
                            Assert.Equal(2, typingCsInstance.Counters[1].RawValue);
                            Assert.Equal(2, typingCsInstance.Counters["Total Words Typed"].RawValue);
                            Assert.Equal(2, totalWordsTyped.RawValue);

                            typingCsInstance.Counters[2].IncrementBy(3);
                            Assert.Equal(3, typingCsInstance.Counters[2].Value);
                            Assert.Equal(3, typingCsInstance.Counters[2].RawValue);
                            Assert.Equal(3, typingCsInstance.Counters["Words Typed In Interval"].RawValue);
                            Assert.Equal(3, wordsTypedInInterval.RawValue);

                            typingCsInstance.Counters[3].RawValue = 4;
                            Assert.Equal(4, typingCsInstance.Counters[3].Value);
                            Assert.Equal(4, typingCsInstance.Counters[3].RawValue);
                            Assert.Equal(4, typingCsInstance.Counters["Letter A Pressed"].RawValue);
                            Assert.Equal(4, aKeyPressed.RawValue);

                            typingCsInstance.Counters[4].Value = 5;
                            Assert.Equal(5, typingCsInstance.Counters[4].Value);
                            Assert.Equal(5, typingCsInstance.Counters[4].RawValue);
                            Assert.Equal(5, typingCsInstance.Counters["Words Containing A"].RawValue);
                            Assert.Equal(5, wordsContainingA.RawValue);

                            typingCsInstance.Counters[4].Decrement();
                            Assert.Equal(4, typingCsInstance.Counters[4].Value);
                            Assert.Equal(4, typingCsInstance.Counters[4].RawValue);
                            Assert.Equal(4, typingCsInstance.Counters["Words Containing A"].RawValue);
                            Assert.Equal(4, wordsContainingA.RawValue);
                        }
                    }
                }
            }, _fixture._providerId.ToString(), _fixture._typingCounterSetId.ToString()).Dispose();
        }
Пример #23
0
        static void Main(string[] args)
        {
            // Initialize the provider and counters

            Guid providerId = new Guid("{5AE84FD4-BF72-49c4-936E-A7473237C338}");

            Guid       geometricWavesCounterSetId = new Guid("{F7DC6E2D-9A3F-4239-AC8D-28DCE96CCA98}");
            CounterSet geometricWavesCounterSet   = new CounterSet(providerId, geometricWavesCounterSetId, CounterSetInstanceType.MultipleAggregate);

            geometricWavesCounterSet.AddCounter(1, CounterType.RawData32); //"Triangle Wave"
            geometricWavesCounterSet.AddCounter(2, CounterType.RawData32); //"Square Wave"
            CounterSetInstance geomCsInstance1 = geometricWavesCounterSet.CreateCounterSetInstance("Instance_1");
            CounterSetInstance geomCsInstance2 = geometricWavesCounterSet.CreateCounterSetInstance("Instance_2");
            CounterSetInstance geomCsInstance3 = geometricWavesCounterSet.CreateCounterSetInstance("Instance_3");

            Guid       trigWavesCounterSetId = new Guid("{F89A016D-A5D1-4ce2-8489-D5612FDD2C6F}");
            CounterSet trigWavesCounterSet   = new CounterSet(providerId, trigWavesCounterSetId, CounterSetInstanceType.Single);

            trigWavesCounterSet.AddCounter(1, CounterType.RawData32);     //"Sine Wave"
            trigWavesCounterSet.AddCounter(2, CounterType.RawData32);     //"Cosine Wave"
            trigWavesCounterSet.AddCounter(3, CounterType.RawData32);     //"Constant Value"
            trigWavesCounterSet.AddCounter(4, CounterType.RawBase32);     //"Constant Number"
            trigWavesCounterSet.AddCounter(5, CounterType.RawFraction32); //"Raw Fraction"
            CounterSetInstance trigCsInstance = trigWavesCounterSet.CreateCounterSetInstance("_Default");

            // Initialize variables used in counter calculations.
            UInt32 Degree         = 0;
            UInt32 Base           = BASE;
            UInt32 NaturalNumbers = 1;
            double Angle          = 0;
            UInt32 Sine           = 0;
            UInt32 Cosine         = 0;

            // Set the constant counter value.
            trigCsInstance.Counters[4].Value = BASE;

            Console.WriteLine("\tPress any key to quit");
            while (!Console.KeyAvailable)
            {
                // Increment the Degree value to between 0 - 360.
                Degree = (Degree + 10) % 360;

                // Increment the Natural Number counter. Set it to 1 if we reach 100.
                NaturalNumbers = ++NaturalNumbers % 100;

                Angle  = (((double)Degree) * M_PI) / (180.00);
                Sine   = Base + (UInt32)(AMPLITUDE * Math.Sin(Angle));
                Cosine = Base + (UInt32)(AMPLITUDE * Math.Cos(Angle));

                // Set raw counter data for SingleInstanceCounterSet.
                UpdataGeometricWave(geomCsInstance1, 30, Degree);
                UpdataGeometricWave(geomCsInstance2, 50, Degree);
                UpdataGeometricWave(geomCsInstance3, 80, Degree);

                //Update TrigonometricWave counters
                trigCsInstance.Counters[1].Value = Sine;
                trigCsInstance.Counters[2].Value = Cosine;
                trigCsInstance.Counters[3].Value = Base;
                trigCsInstance.Counters[5].Value = NaturalNumbers;

                //Sleep for 1 second before iterating once again to change the counter values.
                Thread.Sleep(TIME_INTERVAL);
            }
        }
 public void PerformanceCounter_PerformanceData_AddCounter_InvalidCounterName(string counterName, string netCoreParameterName, string netfxParameterName, Type exceptionType)
 {
     using (CounterSet typingCounterSet = new CounterSet(_fixture._providerId, _fixture._typingCounterSetId, CounterSetInstanceType.Single))
     {
         ArgumentException argumentException = (ArgumentException)Assert.Throws(exceptionType, () => typingCounterSet.AddCounter(8, CounterType.SampleBase, counterName));
         Assert.Equal(PlatformDetection.IsNetFramework ? netfxParameterName : netCoreParameterName, argumentException.ParamName);
     }
 }
Пример #25
0
        internal static void EnsureCounterSet()
        {
            if (workflowServiceHostCounterSet == null)
            {
                lock (syncRoot)
                {
                    if (workflowServiceHostCounterSet == null)
                    {
                        CounterSet localCounterSet = CreateCounterSet();

                        // Add the counters to the counter set definition.
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsCreated, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsCreatedPerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsExecuting, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsCompleted, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsCompletedPerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsAborted, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsAbortedPerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsInMemory, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsPersisted, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsPersistedPerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsTerminated, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsTerminatedPerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsLoaded, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsLoadedPerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsUnloaded, CounterType.RawData32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsUnloadedPerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsSuspended, CounterType.RawData32, perfCounterNames[(int)PerfCounters.WorkflowsSuspended]);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsSuspendedPerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.WorkflowsIdlePerSecond, CounterType.RateOfCountPerSecond32);
                        localCounterSet.AddCounter((int)PerfCounters.AverageWorkflowLoadTime, CounterType.AverageTimer32);
                        localCounterSet.AddCounter((int)PerfCounters.AverageWorkflowLoadTimeBase, CounterType.AverageBase);
                        localCounterSet.AddCounter((int)PerfCounters.AverageWorkflowPersistTime, CounterType.AverageTimer32);
                        localCounterSet.AddCounter((int)PerfCounters.AverageWorkflowPersistTimeBase, CounterType.AverageBase);

                        workflowServiceHostCounterSet = localCounterSet;
                    }
                }
            }
        }
Пример #26
0
 internal static void EnsureCounterSet()
 {
     if (endpointCounterSet == null)
     {
         lock (syncRoot)
         {
             if (endpointCounterSet == null)
             {
                 CounterSet set = CreateCounterSet();
                 set.AddCounter(0, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[0]);
                 set.AddCounter(1, CounterType.RateOfCountPerSecond32, EndpointPerformanceCountersBase.perfCounterNames[1]);
                 set.AddCounter(2, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[2]);
                 set.AddCounter(3, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[3]);
                 set.AddCounter(4, CounterType.RateOfCountPerSecond32, EndpointPerformanceCountersBase.perfCounterNames[4]);
                 set.AddCounter(5, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[5]);
                 set.AddCounter(6, CounterType.RateOfCountPerSecond32, EndpointPerformanceCountersBase.perfCounterNames[6]);
                 set.AddCounter(8, CounterType.AverageBase, EndpointPerformanceCountersBase.perfCounterNames[8]);
                 set.AddCounter(7, CounterType.AverageTimer32, EndpointPerformanceCountersBase.perfCounterNames[7]);
                 set.AddCounter(9, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[9]);
                 set.AddCounter(10, CounterType.RateOfCountPerSecond32, EndpointPerformanceCountersBase.perfCounterNames[10]);
                 set.AddCounter(11, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[11]);
                 set.AddCounter(12, CounterType.RateOfCountPerSecond32, EndpointPerformanceCountersBase.perfCounterNames[12]);
                 set.AddCounter(13, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[13]);
                 set.AddCounter(14, CounterType.RateOfCountPerSecond32, EndpointPerformanceCountersBase.perfCounterNames[14]);
                 set.AddCounter(15, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[15]);
                 set.AddCounter(0x10, CounterType.RateOfCountPerSecond32, EndpointPerformanceCountersBase.perfCounterNames[0x10]);
                 set.AddCounter(0x11, CounterType.RawData32, EndpointPerformanceCountersBase.perfCounterNames[0x11]);
                 set.AddCounter(0x12, CounterType.RateOfCountPerSecond32, EndpointPerformanceCountersBase.perfCounterNames[0x12]);
                 endpointCounterSet = set;
             }
         }
     }
 }
Пример #27
0
 internal ServicePerformanceCountersV2(ServiceHostBase serviceHost)
     : base(serviceHost)
 {
     if (serviceCounterSet == null)
     {
         lock (syncRoot)
         {
             if (serviceCounterSet == null)
             {
                 CounterSet localCounterSet = CreateCounterSet();
                 // Add the counters to the counter set definition.
                 localCounterSet.AddCounter((int)PerfCounters.Calls, CounterType.RawData32, perfCounterNames[(int)PerfCounters.Calls]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.CallsPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsOutstanding, CounterType.RawData32, perfCounterNames[(int)PerfCounters.CallsOutstanding]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsFailed, CounterType.RawData32, perfCounterNames[(int)PerfCounters.CallsFailed]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsFailedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.CallsFailedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsFaulted, CounterType.RawData32, perfCounterNames[(int)PerfCounters.CallsFaulted]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsFaultedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.CallsFaultedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallDurationBase, CounterType.AverageBase, perfCounterNames[(int)PerfCounters.CallDurationBase]);
                 localCounterSet.AddCounter((int)PerfCounters.CallDuration, CounterType.AverageTimer32, perfCounterNames[(int)PerfCounters.CallDuration]);
                 localCounterSet.AddCounter((int)PerfCounters.SecurityValidationAuthenticationFailures, CounterType.RawData32, perfCounterNames[(int)PerfCounters.SecurityValidationAuthenticationFailures]);
                 localCounterSet.AddCounter((int)PerfCounters.SecurityValidationAuthenticationFailuresPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.SecurityValidationAuthenticationFailuresPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsNotAuthorized, CounterType.RawData32, perfCounterNames[(int)PerfCounters.CallsNotAuthorized]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsNotAuthorizedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.CallsNotAuthorizedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.Instances, CounterType.RawData32, perfCounterNames[(int)PerfCounters.Instances]);
                 localCounterSet.AddCounter((int)PerfCounters.InstancesRate, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.InstancesRate]);
                 localCounterSet.AddCounter((int)PerfCounters.RMSessionsFaulted, CounterType.RawData32, perfCounterNames[(int)PerfCounters.RMSessionsFaulted]);
                 localCounterSet.AddCounter((int)PerfCounters.RMSessionsFaultedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.RMSessionsFaultedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.RMMessagesDropped, CounterType.RawData32, perfCounterNames[(int)PerfCounters.RMMessagesDropped]);
                 localCounterSet.AddCounter((int)PerfCounters.RMMessagesDroppedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.RMMessagesDroppedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.TxFlowed, CounterType.RawData32, perfCounterNames[(int)PerfCounters.TxFlowed]);
                 localCounterSet.AddCounter((int)PerfCounters.TxFlowedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.TxFlowedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.TxCommitted, CounterType.RawData32, perfCounterNames[(int)PerfCounters.TxCommitted]);
                 localCounterSet.AddCounter((int)PerfCounters.TxCommittedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.TxCommittedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.TxAborted, CounterType.RawData32, perfCounterNames[(int)PerfCounters.TxAborted]);
                 localCounterSet.AddCounter((int)PerfCounters.TxAbortedPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.TxAbortedPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.TxInDoubt, CounterType.RawData32, perfCounterNames[(int)PerfCounters.TxInDoubt]);
                 localCounterSet.AddCounter((int)PerfCounters.TxInDoubtPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.TxInDoubtPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.MsmqPoisonMessages, CounterType.RawData32, perfCounterNames[(int)PerfCounters.MsmqPoisonMessages]);
                 localCounterSet.AddCounter((int)PerfCounters.MsmqPoisonMessagesPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.MsmqPoisonMessagesPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.MsmqRejectedMessages, CounterType.RawData32, perfCounterNames[(int)PerfCounters.MsmqRejectedMessages]);
                 localCounterSet.AddCounter((int)PerfCounters.MsmqRejectedMessagesPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.MsmqRejectedMessagesPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.MsmqDroppedMessages, CounterType.RawData32, perfCounterNames[(int)PerfCounters.MsmqDroppedMessages]);
                 localCounterSet.AddCounter((int)PerfCounters.MsmqDroppedMessagesPerSecond, CounterType.RateOfCountPerSecond32, perfCounterNames[(int)PerfCounters.MsmqDroppedMessagesPerSecond]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsPercentMaxCalls, CounterType.RawFraction32, perfCounterNames[(int)PerfCounters.CallsPercentMaxCalls]);
                 localCounterSet.AddCounter((int)PerfCounters.CallsPercentMaxCallsBase, CounterType.RawBase32, perfCounterNames[(int)PerfCounters.CallsPercentMaxCallsBase]);
                 localCounterSet.AddCounter((int)PerfCounters.InstancesPercentMaxInstances, CounterType.RawFraction32, perfCounterNames[(int)PerfCounters.InstancesPercentMaxInstances]);
                 localCounterSet.AddCounter((int)PerfCounters.InstancesPercentMaxInstancesBase, CounterType.RawBase32, perfCounterNames[(int)PerfCounters.InstancesPercentMaxInstancesBase]);
                 localCounterSet.AddCounter((int)PerfCounters.SessionsPercentMaxSessions, CounterType.RawFraction32, perfCounterNames[(int)PerfCounters.SessionsPercentMaxSessions]);
                 localCounterSet.AddCounter((int)PerfCounters.SessionsPercentMaxSessionsBase, CounterType.RawBase32, perfCounterNames[(int)PerfCounters.SessionsPercentMaxSessionsBase]);
                 serviceCounterSet = localCounterSet;
             }
         }
     }
     // Create an instance of the counter set (contains the counter data).
     this.serviceCounterSetInstance = CreateCounterSetInstance(this.InstanceName);
     this.counters = new CounterData[(int)PerfCounters.TotalCounters]; // Cache to dodge dictionary lookups in ServiceModelInstance
     for (int i = 0; i < (int)PerfCounters.TotalCounters; i++)
     {
         this.counters[i]       = this.serviceCounterSetInstance.Counters[i];
         this.counters[i].Value = 0;
     }
 }