public CachedVersionSelectorManager(GrainTypeManager grainTypeManager, VersionSelectorManager versionSelectorManager, CompatibilityDirectorManager compatibilityDirectorManager) { this.grainTypeManager = grainTypeManager; this.VersionSelectorManager = versionSelectorManager; this.CompatibilityDirectorManager = compatibilityDirectorManager; this.getSilosFunc = GetSuitableSilosImpl; this.suitableSilosCache = new CachedReadConcurrentDictionary <Tuple <int, int, ushort>, CachedEntry>(); }
public GrainDirectoryResolver(IServiceProvider serviceProvider, GrainTypeManager grainTypeManager) { this.grainTypeManager = grainTypeManager; // Load all registered directories var services = serviceProvider .GetRequiredService <IKeyedServiceCollection <string, IGrainDirectory> >() .GetServices(serviceProvider); foreach (var svc in services) { this.directoryPerName.Add(svc.Key, svc.GetService(serviceProvider)); } }
public ManagementGrain( IInternalGrainFactory internalGrainFactory, ISiloStatusOracle siloStatusOracle, GrainTypeManager grainTypeManager, IVersionStore versionStore, ILogger <ManagementGrain> logger, MembershipTableManager membershipTableManager) { this.membershipTableManager = membershipTableManager; this.internalGrainFactory = internalGrainFactory; this.siloStatusOracle = siloStatusOracle; this.grainTypeManager = grainTypeManager; this.versionStore = versionStore; this.logger = logger; }
/// <summary> /// Constructors -- Registers Orleans system performance counters, /// plus any grain-specific activation conters that can be detected when this installer is run. /// </summary> public OrleansPerformanceCounterInstaller() { SerializationTestEnvironment.Initialize(); Trace.Listeners.Clear(); var cfg = new NodeConfiguration { TraceFilePattern = null, TraceToConsole = false }; LogManager.Initialize(cfg); consumer = new OrleansPerfCounterTelemetryConsumer(); if (GrainTypeManager.Instance == null) { var loader = new SiloAssemblyLoader(new Dictionary<string, SearchOption>()); var typeManager = new GrainTypeManager(false, loader, new RandomPlacementDefaultStrategy()); GrainTypeManager.Instance.Start(false); } }
public ManagementGrain( IOptions <MultiClusterOptions> multiClusterOptions, IMultiClusterOracle multiClusterOracle, IInternalGrainFactory internalGrainFactory, ISiloStatusOracle siloStatusOracle, MembershipTableFactory membershipTableFactory, GrainTypeManager grainTypeManager, IVersionStore versionStore) { this.multiClusterOptions = multiClusterOptions.Value; this.multiClusterOracle = multiClusterOracle; this.internalGrainFactory = internalGrainFactory; this.siloStatusOracle = siloStatusOracle; this.membershipTableFactory = membershipTableFactory; this.grainTypeManager = grainTypeManager; this.versionStore = versionStore; }
public ManagementGrain( GlobalConfiguration globalConfig, IMultiClusterOracle multiClusterOracle, IInternalGrainFactory internalGrainFactory, ISiloStatusOracle siloStatusOracle, MembershipTableFactory membershipTableFactory, GrainTypeManager grainTypeManager, IVersionStore versionStore) { this.globalConfig = globalConfig; this.multiClusterOracle = multiClusterOracle; this.internalGrainFactory = internalGrainFactory; this.siloStatusOracle = siloStatusOracle; this.membershipTableFactory = membershipTableFactory; this.grainTypeManager = grainTypeManager; this.versionStore = versionStore; }
public RegistrarManager( GrainDirectoryPartition directoryPartition, GlobalSingleInstanceActivationMaintainer gsiActivationMaintainer, GlobalConfiguration globalConfig, Logger logger, IInternalGrainFactory grainFactory, GrainTypeManager grainTypeManager) { this.grainTypeManager = grainTypeManager; this.Register <ClusterLocalRegistration>(new ClusterLocalRegistrar(directoryPartition)); this.Register <GlobalSingleInstanceRegistration>( new GlobalSingleInstanceRegistrar( directoryPartition, logger, gsiActivationMaintainer, globalConfig.GlobalSingleInstanceNumberRetries, grainFactory)); }
/// <summary> /// Constructors -- Registers Orleans system performance counters, /// plus any grain-specific activation conters that can be detected when this installer is run. /// </summary> public OrleansPerformanceCounterInstaller() { SerializationManager.InitializeForTesting(); Trace.Listeners.Clear(); var cfg = new NodeConfiguration { TraceFilePattern = null, TraceToConsole = false }; LogManager.Initialize(cfg); consumer = new OrleansPerfCounterTelemetryConsumer(); if (GrainTypeManager.Instance == null) { var loader = new SiloAssemblyLoader(new Dictionary <string, SearchOption>()); var typeManager = new GrainTypeManager(false, null, loader); // We shouldn't need GrainFactory in this case GrainTypeManager.Instance.Start(false); } }
/// <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; } }
/// <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 (OrleansPerfCounterManager.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 typeManager = new GrainTypeManager(false, null); // We shouldn't need GrainFactory in this case GrainTypeManager.Instance.Start(false); } // Register perf counters OrleansPerfCounterManager.InstallCounters(); if (OrleansPerfCounterManager.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 ReentrantTestSupportGrain(GrainTypeManager grainTypeManager) { this.grainTypeManager = grainTypeManager; }
public RegistrarManager(IServiceProvider serviceProvider, GrainTypeManager grainTypeManager) { this.grainTypeManager = grainTypeManager; this.serviceProvider = serviceProvider; }