Esempio n. 1
0
        public IList <string> InstallCounters()
        {
            // Delete any existing counters
            UninstallCounters();

            var counterCreationData = SignalRPerfCounterManager.GetCounterPropertyInfo()
                                      .Select(p =>
            {
                var attribute = SignalRPerfCounterManager.GetPerformanceCounterAttribute(p);
                return(new CounterCreationData(attribute.Name, attribute.Description, attribute.CounterType));
            })
                                      .ToArray();

            var createDataCollection = new CounterCreationDataCollection(counterCreationData);

            PerformanceCounterCategory.Create(SignalRPerfCounterManager.CategoryName,
                                              "SignalR application performance counters",
                                              PerformanceCounterCategoryType.MultiInstance,
                                              createDataCollection);

            return(counterCreationData.Select(c => c.CounterName).ToList());
        }