private static void ReportServiceStarted( OperationContext context, IDistributedCacheServiceHost host) { LifetimeTracker.ServiceStarted(context); host.OnStartedService(); }
private static async Task ReportServiceStartedAsync( OperationContext context, StartupShutdownSlimBase server, IDistributedCacheServiceHost host) { LifetimeTracker.ServiceStarted(context); host.OnStartedService(); if (host is IDistributedCacheServiceHostInternal hostInternal && server is IServicesProvider sp && sp.TryGetService <ICacheServerServices>(out var services)) { await hostInternal.OnStartedServiceAsync(context, services); } }
public void NormalStartup() { var logger = TestGlobal.Logger; var context = new Context(logger); using var testDirectory = new DisposableDirectory(_fileSystem); LifetimeTracker.ServiceStarting(context, serviceRunningLogInterval: TimeSpan.FromMinutes(10), testDirectory.Path); LifetimeTracker.ServiceStarted(context); GetFullOutput().Should().NotContain(FullyInitializedMessage); LifetimeTracker.ServiceReadyToProcessRequests(context); var output = GetFullOutput(); output.Should().Contain(FullyInitializedMessage); output.Should().Contain(UnavailableOfflineTime); }
private static async Task ReportServiceStartedAsync( OperationContext context, StartupShutdownSlimBase server, IDistributedCacheServiceHost host, DistributedContentSettings distributedContentSettings) { LifetimeTracker.ServiceStarted(context); host.OnStartedService(); if ( // Don't need to call the following callback for out-of-proc cache distributedContentSettings.OutOfProcCacheSettings is null && host is IDistributedCacheServiceHostInternal hostInternal && server is IServicesProvider sp && sp.TryGetService <ICacheServerServices>(out var services)) { await hostInternal.OnStartedServiceAsync(context, services); } }
public void TraceWithMultipleStartupAndShutdown() { var memoryClock = new MemoryClock(); var logger = TestGlobal.Logger; var context = new Context(logger); var process1StartupTime = memoryClock.UtcNow; memoryClock.AddSeconds(10); using var testDirectory = new DisposableDirectory(_fileSystem); LifetimeTracker.ServiceStarting(context, serviceRunningLogInterval: TimeSpan.FromMinutes(10), testDirectory.Path, memoryClock, process1StartupTime); memoryClock.AddSeconds(10); LifetimeTracker.ServiceStarted(context, memoryClock); memoryClock.AddSeconds(10); LifetimeTracker.ServiceReadyToProcessRequests(context); // Offline time should be unavailable. GetFullOutput().Should().Contain(UnavailableOfflineTime); LifetimeTracker.ServiceStopped(context, BoolResult.Success); // Now we're running the same stuff the second time, like after the process restart. memoryClock.AddSeconds(300); var process2StartupTime = memoryClock.UtcNow; memoryClock.AddSeconds(10); LifetimeTracker.ServiceStarting(context, serviceRunningLogInterval: TimeSpan.FromMinutes(10), testDirectory.Path, memoryClock, process2StartupTime); GetFullOutput().Should().Contain("LastHeartBeatTime"); memoryClock.AddSeconds(10); LifetimeTracker.ServiceStarted(context, memoryClock); memoryClock.AddSeconds(10); LifetimeTracker.ServiceReadyToProcessRequests(context); GetFullOutput().Should().Contain("OfflineTime=[00:05:50"); }