/// <summary> /// Remove the set of Orleans counters, if they already exist /// </summary> /// <param name="useBruteForce">Use brute force, if necessary</param> /// <remarks>Note: Program needs to be running as Administrator to be able to unregister Windows perf counters.</remarks> private static void UnregisterWindowsPerfCounters(bool useBruteForce) { if (!OrleansPerfCounterTelemetryConsumer.AreWindowsPerfCountersAvailable()) { ConsoleText.WriteStatus("Orleans counters are already unregistered"); return; } // Delete any old perf counters try { perfCounterConsumer.DeleteCounters(); } catch (Exception exc) { ConsoleText.WriteError("Error deleting old Orleans counters - {0}" + exc); if (useBruteForce) { ConsoleText.WriteStatus("Ignoring error deleting Orleans counters due to brute-force mode"); } else { throw; } } }
/// <summary> /// Create the set of Orleans counters, if they do not already exist /// </summary> /// <param name="useBruteForce">Use brute force, if necessary</param> /// <remarks>Note: Program needs to be running as Administrator to be able to register Windows perf counters.</remarks> private static void RegisterWindowsPerfCounters(bool useBruteForce) { try { if (OrleansPerfCounterTelemetryConsumer.AreWindowsPerfCountersAvailable()) { if (!useBruteForce) { ConsoleText.WriteStatus("Orleans counters are already registered -- Use brute-force mode to re-initialize"); return; } // Delete any old perf counters UnregisterWindowsPerfCounters(true); } // Register perf counters perfCounterConsumer.InstallCounters(); if (OrleansPerfCounterTelemetryConsumer.AreWindowsPerfCountersAvailable()) { ConsoleText.WriteStatus("Orleans counters registered successfully"); } else { ConsoleText.WriteError("Orleans counters are NOT registered"); } } catch (Exception exc) { ConsoleText.WriteError("Error registering Orleans counters - {0}" + exc); throw; } }
public CounterControl() { // Check user is Administrator and has granted UAC elevation permission to run this app var userIdent = WindowsIdentity.GetCurrent(); var userPrincipal = new WindowsPrincipal(userIdent); IsRunningAsAdministrator = userPrincipal.IsInRole(WindowsBuiltInRole.Administrator); perfCounterConsumer = new OrleansPerfCounterTelemetryConsumer(); }
public CounterControl() { // Check user is Administrator and has granted UAC elevation permission to run this app var userIdent = WindowsIdentity.GetCurrent(); var userPrincipal = new WindowsPrincipal(userIdent); IsRunningAsAdministrator = userPrincipal.IsInRole(WindowsBuiltInRole.Administrator); var siloAssemblyLoader = new SiloAssemblyLoader(new NodeConfiguration(), null); LogManager.GrainTypes = siloAssemblyLoader.GetGrainClassTypes().Keys.ToList(); perfCounterConsumer = new OrleansPerfCounterTelemetryConsumer(); }
public CounterControl(ILoggerFactory loggerFactory) { // Check user is Administrator and has granted UAC elevation permission to run this app var userIdent = WindowsIdentity.GetCurrent(); var userPrincipal = new WindowsPrincipal(userIdent); IsRunningAsAdministrator = userPrincipal.IsInRole(WindowsBuiltInRole.Administrator); var siloAssemblyLoader = new SiloAssemblyLoader(new NodeConfiguration(), null, new LoggerWrapper <SiloAssemblyLoader>(loggerFactory)); CrashUtils.GrainTypes = siloAssemblyLoader.GetGrainClassTypes().Keys.ToList(); perfCounterConsumer = new OrleansPerfCounterTelemetryConsumer(loggerFactory); this.logger = loggerFactory.CreateLogger <CounterControl>(); }
public CounterControl(ILoggerFactory loggerFactory) { // Check user is Administrator and has granted UAC elevation permission to run this app var userIdent = WindowsIdentity.GetCurrent(); var userPrincipal = new WindowsPrincipal(userIdent); IsRunningAsAdministrator = userPrincipal.IsInRole(WindowsBuiltInRole.Administrator); var parts = new ApplicationPartManager(); parts.ConfigureDefaults() .AddFeatureProvider(new AssemblyAttributeFeatureProvider <GrainClassFeature>()); var grainClassFeature = parts.CreateAndPopulateFeature <GrainClassFeature>(); CrashUtils.GrainTypes = grainClassFeature.Classes.Select(metadata => TypeUtils.GetFullName(metadata.ClassType)).ToList(); perfCounterConsumer = new OrleansPerfCounterTelemetryConsumer(loggerFactory); this.logger = loggerFactory.CreateLogger <CounterControl>(); }
/// <summary> /// Create the set of Orleans counters, if they do not already exist /// </summary> /// <param name="useBruteForce">Use brute force, if necessary</param> /// <remarks>Note: Program needs to be running as Administrator to be able to register Windows perf counters.</remarks> private static void RegisterWindowsPerfCounters(bool useBruteForce) { try { if (OrleansPerfCounterTelemetryConsumer.AreWindowsPerfCountersAvailable()) { if (!useBruteForce) { ConsoleText.WriteStatus("Orleans counters are already registered -- Use brute-force mode to re-initialize"); return; } // Delete any old perf counters UnregisterWindowsPerfCounters(true); } if (GrainTypeManager.Instance == null) { var loader = new SiloAssemblyLoader(new Dictionary <string, SearchOption>()); var typeManager = new GrainTypeManager(false, loader, new RandomPlacementDefaultStrategy()); GrainTypeManager.Instance.Start(false); } // Register perf counters perfCounterConsumer.InstallCounters(); if (OrleansPerfCounterTelemetryConsumer.AreWindowsPerfCountersAvailable()) { ConsoleText.WriteStatus("Orleans counters registered successfully"); } else { ConsoleText.WriteError("Orleans counters are NOT registered"); } } catch (Exception exc) { ConsoleText.WriteError("Error registering Orleans counters - {0}" + exc); throw; } }