Exemplo n.º 1
0
        public VostokHealthCheckService(
            [NotNull] IOptions <HealthCheckServiceOptions> options,
            [NotNull] IServiceProvider serviceProvider,
            [NotNull] IHealthTracker vostokTracker,
            [NotNull] Type defaultServiceType,
            [NotNull] List <IDisposable> disposables)
        {
            this.defaultServiceType = defaultServiceType ?? throw new ArgumentNullException(nameof(defaultServiceType));
            this.serviceProvider    = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));
            this.vostokTracker      = vostokTracker ?? throw new ArgumentNullException(nameof(vostokTracker));
            this.disposables        = disposables ?? throw new ArgumentNullException(nameof(disposables));
            this.options            = (options ?? throw new ArgumentNullException(nameof(options))).Value;

            RegisterMicrosoftChecksInVostokTracker();
        }
Exemplo n.º 2
0
        private HealthCheckServiceOptions CreateOptions()
        {
            var result = new HealthCheckServiceOptions();

            foreach (var microsoftRegistration in options.Registrations)
            {
                result.Registrations.Add(microsoftRegistration);
            }

            foreach (var(name, check) in vostokTracker)
            {
                if (check.IsAdapter())
                {
                    continue;
                }

                var registration = new HealthCheckRegistration(name, check.ToMicrosoftCheck(), null, new[] { "vostok" });

                result.Registrations.Add(registration);
            }

            return(result);
        }
Exemplo n.º 3
0
 private HealthCheckService CreateService(HealthCheckServiceOptions optionsToUse)
 => (HealthCheckService)ActivatorUtilities.CreateInstance(serviceProvider, defaultServiceType, Options.Create(optionsToUse));