예제 #1
0
 public BuildContext(VostokHostingEnvironmentFactorySettings settings)
 {
     this.settings            = settings;
     substitutableLog         = new SubstitutableLog();
     substitutableTracer      = new SubstitutableTracer();
     substitutableDatacenters = new SubstitutableDatacenters();
     Disposables        = new List <object>();
     ExternalComponents = new HashSet <object>(ByReferenceEqualityComparer <object> .Instance);
 }
예제 #2
0
        private VostokHostingEnvironment SetupEnvironment()
        {
            var environmentFactorySettings = new VostokHostingEnvironmentFactorySettings
            {
                ConfigureStaticProviders = settings.ConfigureStaticProviders,
                DiagnosticMetricsEnabled = settings.DiagnosticMetricsEnabled
            };

            return(EnvironmentBuilder.Build(
                       builder =>
            {
                builder.SetupApplicationIdentity(
                    identityBuilder => identityBuilder
                    .SetProject("VostokMultiHost")
                    .SetEnvironment("VostokMultiHost")
                    .SetApplication("VostokMultiHost")
                    .SetInstance("VostokMultiHost"));

                settings.EnvironmentSetup(builder);

                builder.SetupLog(logBuilder => logBuilder.CustomizeLog(toCustomize => toCustomize.ForContext <VostokMultiHost>()));

                builder.DisableServiceBeacon();

                builder.SetupLog(logBuilder => logBuilder.SetupHerculesLog(herculesLogBuilder => herculesLogBuilder.Disable()));

                builder.SetupMetrics(metricsBuilder => metricsBuilder.SetupHerculesMetricEventSender(senderBuilder => senderBuilder.Disable()));

                builder.SetupSystemMetrics(
                    systemMetricsSettings =>
                {
                    systemMetricsSettings.EnableGcEventsLogging = false;
                    systemMetricsSettings.EnableGcEventsMetrics = false;
                    systemMetricsSettings.EnableProcessMetricsLogging = false;
                    systemMetricsSettings.EnableProcessMetricsReporting = false;
                    systemMetricsSettings.EnableHostMetricsLogging = false;
                    systemMetricsSettings.EnableHostMetricsReporting = false;
                });
            },
                       environmentFactorySettings
                       ));
        }