Пример #1
0
 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);
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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");
        }