Ejemplo n.º 1
0
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            var categoryName = "NCache Server";

#if !NETCORE
            this.pcInstaller = new System.Diagnostics.PerformanceCounterInstaller();
            //
            // pcInstaller
            //
            this.pcInstaller.CategoryName = categoryName;
            System.Diagnostics.CounterCreationData[] counterCreationData = new System.Diagnostics.CounterCreationData[]
#elif NETCORE
            var counterCreationData = new System.Diagnostics.CounterCreationDataCollection()
#endif
            {
                new System.Diagnostics.CounterCreationData("Requests/sec", "Number of requests (meaning cache commands like add, get, insert, remove etc.) being processed from all clients by this cache server.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64),
                new System.Diagnostics.CounterCreationData("Bytes sent/sec", "Bytes being sent from cache server to all its clients.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64),
                new System.Diagnostics.CounterCreationData("Bytes received/sec", "Bytes being received by cache server from all its clients.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64)
            };

#if !NETCORE
            this.pcInstaller.Counters.AddRange(counterCreationData);
            //
            // PerfInstaller
            //
            this.Installers.AddRange(new System.Configuration.Install.Installer[] { this.pcInstaller });
#elif NETCORE
            if (!System.Diagnostics.PerformanceCounterCategory.Exists(categoryName))
            {
                System.Diagnostics.PerformanceCounterCategory.Create(categoryName, "Visit Documentation", counterCreationData);
            }
#endif
        }
Ejemplo n.º 2
0
 public void AddRange(System.Diagnostics.CounterCreationDataCollection value)
 {
 }
Ejemplo n.º 3
0
 public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, System.Diagnostics.PerformanceCounterCategoryType categoryType, System.Diagnostics.CounterCreationDataCollection counterData)
 {
     throw null;
 }
Ejemplo n.º 4
0
 public CounterCreationDataCollection(System.Diagnostics.CounterCreationDataCollection value)
 {
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            var categoryName = "NCache Client";

#if !NETCORE
            this.pcClientInstaller = new System.Diagnostics.PerformanceCounterInstaller();
            this.pcClientInstaller.CategoryName = categoryName;
            System.Diagnostics.CounterCreationData[] counterCreationData = new System.Diagnostics.CounterCreationData[]
#elif NETCORE
                                                     System.Diagnostics.CounterCreationDataCollection counterCreationData = new System.Diagnostics.CounterCreationDataCollection()
#endif
            {
                new System.Diagnostics.CounterCreationData("Fetches/sec", "Number of Get operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Additions/sec", "Number of Add operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Updates/sec", "Number of Insert operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Deletes/sec", "Number of Remove operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Read Operations/sec", "Number of Read operations per second", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Write Operations/sec", "Number of Write operations per second", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Average us/fetch", "Average time in microseconds (us), taken to complete one fetch operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/fetch base", "Base counter for average microseconds (us)/fetch", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/add", "Average time in microseconds (us), taken to complete one add operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/add base", "Base counter for average microseconds (us)/add", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/insert", "Average time in microseconds, taken to complete one insert operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/insert base", "Base counter for average microseconds (us) F/insert", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/remove", "Average time in microseconds (us), taken to complete one remove operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/remove base", "Base counter for average microseconds (us)/remove", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Request queue size", "Total number of requests from all clients on a single machine waiting for response from cache server", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Average Item Size", "Average size of the item added to/fetched from the cache by the client. Average size is calculated before compression/after decompression is applied.", System.Diagnostics.PerformanceCounterType.AverageCount64),
                new System.Diagnostics.CounterCreationData("Average Item Size base", "Base counter for average size of the item added to the cache by the client. Average size is calculated before compression is applied.", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/event", "Average time in microseconds (us), taken in single event processing on the client.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/event base", " Average time in microseconds (us), taken in single event proccesing on the clients.", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Events Proccesed/sec", "Number of events processed per sec on client.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Events Triggered/sec", "Number of events triggered and received by client per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Average us/serialization", "Average time in microseconds (us), taken to serialize one object.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/serialization base", "Base counter for Average microseconds (us)/serialization.", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/deserialization", "Average time in microseconds (us), taken to deserialize one object.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/deserialization base", "Base counter for Average microseconds (us)/deserialization.", System.Diagnostics.PerformanceCounterType.AverageBase),

                //Bulk Counters

                new System.Diagnostics.CounterCreationData("Average us/addbulk", "Average time in microseconds (us), taken to complete bulk add operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/addbulk base", "Base counter for Average microseconds (us)/addbulk", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/fetchbulk", "Average time in microseconds (us), taken to complete bulk get operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/fetchbulk base", "Base counter for Average microseconds (us)/fetchbulk", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/insertbulk", "Average time in microseconds (us), taken to complete bulk insert operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/insertbulk base", "Base counter for Average microseconds (us)/insertbulk", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/removebulk", "Average time in microseconds (us), taken to complete bulk remove operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/removebulk base", "Base counter for Average microseconds (us)/removebulk", System.Diagnostics.PerformanceCounterType.AverageBase),

                new System.Diagnostics.CounterCreationData(CounterNames.AvgPublishMessage, "Average time in microseconds, taken to complete publish messages operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData(CounterNames.AvgPublishMessageBase, "Base counter for Average us/publish messages", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData(CounterNames.MessagePublishPerSec, "Number of messages published per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData(CounterNames.MessageDeliveryPerSec, "Number of messages delivered to subsribers per second.", System.Diagnostics.PerformanceCounterType.SampleCounter)
            };
#if !NETCORE
            this.pcClientInstaller.Counters.AddRange(counterCreationData);
            //
            // PerfInstaller
            //
            this.Installers.AddRange(new System.Configuration.Install.Installer[] { this.pcClientInstaller });
#elif NETCORE
            if (!System.Diagnostics.PerformanceCounterCategory.Exists(categoryName))
            {
                System.Diagnostics.PerformanceCounterCategory.Create(categoryName, "Visit Documentation", System.Diagnostics.PerformanceCounterCategoryType.MultiInstance, counterCreationData);
            }
#endif
        }
Ejemplo n.º 6
0
 //------------------------------------------------------------------------------
 //
 // Method: CounterCreationDataFactory (constructor)
 //
 //------------------------------------------------------------------------------
 /// <summary>
 /// Initialises a new instance of the OperatingSystemAbstraction.CounterCreationDataCollection class.
 /// </summary>
 public CounterCreationDataCollection()
 {
     counterCreationDataCollection = new System.Diagnostics.CounterCreationDataCollection();
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            var categoryNameNCache = "NCache";

#if !NETCORE
            this.pcInstaller = new System.Diagnostics.PerformanceCounterInstaller();


            this.pcInstaller.CategoryName = categoryNameNCache;


            System.Diagnostics.CounterCreationData [] counterCreationData = new System.Diagnostics.CounterCreationData[]
#elif NETCORE
                                                      System.Diagnostics.CounterCreationDataCollection counterCreationData = new System.Diagnostics.CounterCreationDataCollection()
#endif
            {
                new System.Diagnostics.CounterCreationData("# Clients", "Number of connected clients to an instance of cache.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Count", "Number of items in the cache.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("CacheLastAccessCount", "Number of items which are older then the access interval specified in the service config file.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Fetches/sec", "Number of Get operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Additions/sec", "Number of Add operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Updates/sec", "Number of Insert operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Deletes/sec", "Number of Remove operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Average us/fetch", "Average time in microseconds (us), taken to complete one fetch operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/fetch base", "Base counter for average microseconds(us)/fetch", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/add", "Average time in microseconds (us), taken to complete one add operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/add base", "Base counter for average microseconds (us)sec/add", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/insert", "Average time in microseconds (us), taken to complete one insert operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/insert base", "Base counter for average microseconds (us)/insert", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/remove", "Average time in microseconds (us), taken to complete one remove operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/remove base", "Base counter for average microseconds (us)/remove", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/cache operation", "Average time in microseconds (us), taken to complete one cache-operation.", System.Diagnostics.PerformanceCounterType.AverageCount64),
                new System.Diagnostics.CounterCreationData("Average us/cache operation base", "Base counter for average microseconds (us) /cache-operation", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Expirations/sec", "Number of items being expired currently per second", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Evictions/sec", "Number of items evicted per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
#if !(DEVELOPMENT || CLIENT)
                new System.Diagnostics.CounterCreationData("State Transfer/sec", "Number of items this node is either reading from other nodes or sending to other nodes during a state transfer mode.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Mirror queue size", "Number of items in the Mirror queue.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Sliding Index queue size", "Number of items in the Sliding-Index queue.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
#endif
                new System.Diagnostics.CounterCreationData("Hits/sec", "Number of successful Get operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Misses/sec", "Number of failed Get operations per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Hits ratio/sec (%)", "Ratio of number of successful Get operations per second and total number of Get operations per second ", System.Diagnostics.PerformanceCounterType.SampleFraction),
                new System.Diagnostics.CounterCreationData("Hits ratio/sec base", "Base counter for Hits ratio/sec", System.Diagnostics.PerformanceCounterType.SampleBase),
#if !(DEVELOPMENT || CLIENT)
                //Moiz: perfmon description task 29-10-13
                //previous description (till 4.1 sp3) for DispatchEnter,TcpDown,Clustered opsent,clusters oprecv, reponse sent (Number of clustered operations sent to other nodes in cluster per second.)
                new System.Diagnostics.CounterCreationData("Data balance/sec", "Number of items this node is either reading from other nodes or sending to other nodes during a Data Load Balancing mode.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Cluster ops/sec", "Number of clustered operations performed per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("TcpdownEnter/sec", "", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Clustered opssent/sec", "Number of clustered operations sent to other nodes in cluster per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Clustered opsrecv/sec", "Number of clustered operations received from other nodes in cluster per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Response sent/sec", "Number of responses sent to other nodes in cluster per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
#endif
                new System.Diagnostics.CounterCreationData("Bytes sent/sec", "Number of bytes sent per second to other nodes of the cluster.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Bytes received/sec", "Number of bytes received per second from other nodes of the cluster.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Requests/sec", "Number of requests received (meaning cache commands like add, get, insert, remove etc.) from all clients to this cache server.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64),
                new System.Diagnostics.CounterCreationData("Responses/sec", "Number of responses sent (meaning cache response for commands like add, get, insert, remove etc.) to all clients by this cache server.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64),
                new System.Diagnostics.CounterCreationData("Client Requests/sec", "Number of requests sent by all clients to the cache server.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64),
                new System.Diagnostics.CounterCreationData("Client Responses/sec", "Number of responses received by all clients from the cache server.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64),
                new System.Diagnostics.CounterCreationData("Client bytes sent/sec", "Bytes being sent from cache server to all its clients.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64),
                new System.Diagnostics.CounterCreationData("Client bytes received/sec", "Bytes being received by cache server from all its clients.", System.Diagnostics.PerformanceCounterType.RateOfCountsPerSecond64),
                new System.Diagnostics.CounterCreationData("TcpUpQueueCount", "Number of items in TCP up-queue.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("TcpDownQueueCount", "Number of items in TCP down-queue.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
#if !(DEVELOPMENT || CLIENT)
                new System.Diagnostics.CounterCreationData("BcastQueueCount", "Number of items in BCast queue waiting to be processed on sequence.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("McastQueueCount", "Number of items in MCast queue waiting to be processed on sequence.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
#endif
                new System.Diagnostics.CounterCreationData("Socket send time (msec)", "Time in milli seconds it took for the last message to be sent over the socket.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Socket send size (bytes)", "How much data was sent in the last message.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Socket recv time (msec)", "Time in milli seconds it took to receive the last message.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Socket recv size (bytes)", "How much data was received in the last message.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),

                new System.Diagnostics.CounterCreationData("Response Queue Count", "Number of items in response queue.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Event Queue Count", "Number of items in event queue.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Response Queue Size", "Size of response queue specified in bytes.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),

                new System.Diagnostics.CounterCreationData("Cache Size", "Size of the cache in bytes, including cache store meta info and all other indices.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Expiration Index Size", "Size of expiration in bytes, indices defined on the cache.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData("Eviction Index Size", "Size of eviction indices in bytes, define on the cache.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                //request logging counters
                new System.Diagnostics.CounterCreationData("Requests Logged/sec", "Average number of requests logged in a second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData("Request Log Ledger Size", "Total in-memory size of the log ledger, which stores logged requests.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),

                //Bulk Counters
                new System.Diagnostics.CounterCreationData("Average us/addbulk", "Average time in microseconds (us), taken to complete bulk add operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/addbulk base", "Base counter for Average microseconds (us)/addbulk", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/fetchbulk", "Average time in microseconds (us), taken to complete bulk add operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/fetchbulk base", "Base counter for Average microseconds (us)/fetchbulk", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/insertbulk", "Average time in microseconds (us), taken to complete bulk add operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/insertbulk base", "Base counter for Average microseconds (us)/insertbulk", System.Diagnostics.PerformanceCounterType.AverageBase),
                new System.Diagnostics.CounterCreationData("Average us/removebulk", "Average time in microseconds (us), taken to complete bulk add operation.", System.Diagnostics.PerformanceCounterType.AverageTimer32),
                new System.Diagnostics.CounterCreationData("Average us/removebulk base", "Base counter for Average microseconds (us)/removebulk", System.Diagnostics.PerformanceCounterType.AverageBase),

                #region Pub_Sub
                new System.Diagnostics.CounterCreationData(CounterNames.MessageCount, "Number of messages in the cache.", System.Diagnostics.PerformanceCounterType.NumberOfItems32),
                new System.Diagnostics.CounterCreationData(CounterNames.TopicCount, "Number of Topics in the cache.", System.Diagnostics.PerformanceCounterType.NumberOfItems32),
                new System.Diagnostics.CounterCreationData(CounterNames.MessageStoreSize, "Size of message store in bytes, including message store meta info.", System.Diagnostics.PerformanceCounterType.NumberOfItems64),
                new System.Diagnostics.CounterCreationData(CounterNames.MessagePublishPerSec, "Number of messages published per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData(CounterNames.MessageDeliveryPerSec, "Number of messages delivered to subsribers per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),
                new System.Diagnostics.CounterCreationData(CounterNames.MessageExpiredPerSec, "Number of messages expired per second.", System.Diagnostics.PerformanceCounterType.SampleCounter),

                #endregion
            };

#if !NETCORE
            this.pcInstaller.Counters.AddRange(counterCreationData);
            this.Installers.AddRange(new System.Configuration.Install.Installer[] {
                this.pcInstaller
            });
#elif NETCORE
            if (!System.Diagnostics.PerformanceCounterCategory.Exists(categoryNameNCache))
            {
                System.Diagnostics.PerformanceCounterCategory.Create(categoryNameNCache, "Visit Documentation", System.Diagnostics.PerformanceCounterCategoryType.MultiInstance, counterCreationData);
            }
#endif
        }
 //------------------------------------------------------------------------------
 //
 // Method: CounterCreationDataFactory (constructor)
 //
 //------------------------------------------------------------------------------
 /// <summary>
 /// Initialises a new instance of the FrameworkAbstraction.CounterCreationDataCollection class.
 /// </summary>
 public CounterCreationDataCollection()
 {
     counterCreationDataCollection = new System.Diagnostics.CounterCreationDataCollection();
 }