private void SetGlobalContext(int uiCultureLCID, int cultureLCID, string?serializedSession) { // set global telemetry session var session = GetTelemetrySession(serializedSession); if (session == null) { return; } EnsureCulture(uiCultureLCID, cultureLCID); // set roslyn loggers RoslynServices.SetTelemetrySession(session); RoslynLogger.SetLogger(AggregateLogger.Create(new VSTelemetryLogger(session), RoslynLogger.GetLogger())); // set both handler as NFW FatalError.Handler = ex => WatsonReporter.Report(ex, WatsonSeverity.Critical); FatalError.NonFatalHandler = ex => WatsonReporter.Report(ex); // start performance reporter var diagnosticAnalyzerPerformanceTracker = SolutionService.PrimaryWorkspace.Services.GetService <IPerformanceTrackerService>(); if (diagnosticAnalyzerPerformanceTracker != null) { var globalOperationNotificationService = SolutionService.PrimaryWorkspace.Services.GetService <IGlobalOperationNotificationService>(); _performanceReporter = new PerformanceReporter(Logger, diagnosticAnalyzerPerformanceTracker, globalOperationNotificationService, s_reportInterval, _shutdownCancellationSource.Token); } }
private void SetGlobalContext(int uiCultureLCID, int cultureLCID, string serializedSession) { var session = new TelemetrySession(serializedSession); session.Start(); EnsureCulture(uiCultureLCID, cultureLCID); WatsonReporter.InitializeFatalErrorHandlers(session); WatsonReporter.InitializeLogger(Logger); // set roslyn loggers RoslynServices.SetTelemetrySession(session); RoslynLogger.SetLogger(AggregateLogger.Create(new VSTelemetryLogger(session), RoslynLogger.GetLogger())); // start performance reporter var diagnosticAnalyzerPerformanceTracker = SolutionService.PrimaryWorkspace.Services.GetService <IPerformanceTrackerService>(); if (diagnosticAnalyzerPerformanceTracker != null) { var globalOperationNotificationService = SolutionService.PrimaryWorkspace.Services.GetService <IGlobalOperationNotificationService>(); _performanceReporter = new PerformanceReporter(Logger, diagnosticAnalyzerPerformanceTracker, globalOperationNotificationService, s_reportInterval, _shutdownCancellationSource.Token); } }
static RemoteHostService() { // this is the very first service which will be called from client (VS) // we set up logger here RoslynLogger.SetLogger(new EtwLogger(s_logChecker)); SetNativeDllSearchDirectories(); }
static RemoteHostService() { // this is the very first service which will be called from client (VS) // we set up logger here RoslynLogger.SetLogger(new EtwLogger(GetLoggingChecker())); // Set this process's priority BelowNormal. // this should let us to freely try to use all resources possible without worrying about affecting // host's work such as responsiveness or build. Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.BelowNormal; }
private static void SetRoslynLogger <T>(List <string> loggerTypes, Func <T> creator) where T : ILogger { if (loggerTypes.Contains(typeof(T).Name)) { RoslynLogger.SetLogger(AggregateLogger.AddOrReplace(creator(), RoslynLogger.GetLogger(), l => l is T)); } else { RoslynLogger.SetLogger(AggregateLogger.Remove(RoslynLogger.GetLogger(), l => l is T)); } }
#pragma warning restore static RemoteHostService() { // this is the very first service which will be called from client (VS) // we set up logger here RoslynLogger.SetLogger(new EtwLogger(s_logChecker)); #if DEBUG // Make sure debug assertions in ServiceHub result in exceptions instead of the assertion UI Trace.Listeners.Clear(); Trace.Listeners.Add(new ThrowingTraceListener()); #endif SetNativeDllSearchDirectories(); }
private static void SetGlobalContext(string serializedSession) { // set global telemetry session var session = GetTelemetrySession(serializedSession); if (session == null) { return; } // set roslyn loggers WatsonReporter.SetTelemetrySession(session); RoslynLogger.SetLogger(AggregateLogger.Create(new VSTelemetryLogger(session), RoslynLogger.GetLogger())); // set both handler as NFW FatalError.Handler = WatsonReporter.Report; FatalError.NonFatalHandler = WatsonReporter.Report; }
#pragma warning restore #endif static RemoteHostService() { if (GCSettings.IsServerGC) { // Server GC runs processor-affinitized threads with high priority. To avoid interfering with other // applications while still allowing efficient out-of-process execution, slightly reduce the process // priority when using server GC. Process.GetCurrentProcess().TrySetPriorityClass(ProcessPriorityClass.BelowNormal); } // this is the very first service which will be called from client (VS) // we set up logger here RoslynLogger.SetLogger(new EtwLogger(s_logChecker)); #if DEBUG // Make sure debug assertions in ServiceHub result in exceptions instead of the assertion UI Trace.Listeners.Clear(); Trace.Listeners.Add(new ThrowingTraceListener()); #endif SetNativeDllSearchDirectories(); }
static RemoteHostService() { // this is the very first service which will be called from client (VS) // we set up logger here RoslynLogger.SetLogger(new EtwLogger(GetLoggingChecker())); }