[Explicit] // todo: make this meaningful public void Test() { var manager = new MagicHubPerformanceCounterManager(Mock.Of <ITraceManager>()); manager.Initialize("Foo", new CancellationToken()); manager.NumberDispatchedToSignalRTotal.Increment(); }
private static void Install() { Uninstall(); IList <string> counters; PrintInfo("Installing Performance Counters..."); try { var counterCreationData = MagicHubPerformanceCounterManager.GetCounterPropertyInfo() .Select(p => { var attribute = MagicHubPerformanceCounterManager.GetPerformanceCounterAttribute(p); return(new CounterCreationData(attribute.Name, attribute.Description, attribute.CounterType)); }) .ToArray(); var createDataCollection = new CounterCreationDataCollection(counterCreationData); var category = PerformanceCounterCategory.Create(MagicHubPerformanceCounterManager.CategoryName, "MagicHub performance counters", PerformanceCounterCategoryType.MultiInstance, createDataCollection); counters = counterCreationData.Select(c => c.CounterName).ToList(); } catch (UnauthorizedAccessException ex) { // Probably due to not running as admin, let's just stop here PrintWarning(String.Format(CultureInfo.CurrentCulture, ex.Message + "\r\nMake sure you are running this as administrator.")); return; } foreach (var counter in counters) { PrintInfo(" " + counter); } }