コード例 #1
0
        /// <summary>
        /// Start System Usage Monitor with Diagnostic and Telemetry Recorder if Telemetry is enabled
        /// Otherwise Start System Usage Monitor with only Diagnostic Recorder
        /// </summary>
        private DiagnosticsHandlerHelper()
        {
            DiagnosticsHandlerHelper.isDiagnosticsMonitoringEnabled = false;

            // If the CPU monitor fails for some reason don't block the application
            try
            {
                DiagnosticsHandlerHelper.isTelemetryMonitoringEnabled = ClientTelemetryOptions.IsClientTelemetryEnabled();

                List <SystemUsageRecorder> recorders = new List <SystemUsageRecorder>()
                {
                    this.diagnosticSystemUsageRecorder,
                };

                if (DiagnosticsHandlerHelper.isTelemetryMonitoringEnabled)
                {
                    recorders.Add(this.telemetrySystemUsageRecorder);
                }

                this.systemUsageMonitor = SystemUsageMonitor.CreateAndStart(recorders);

                DiagnosticsHandlerHelper.isDiagnosticsMonitoringEnabled = true;
            }
            catch (Exception ex)
            {
                DefaultTrace.TraceError(ex.Message);

                DiagnosticsHandlerHelper.isDiagnosticsMonitoringEnabled = false;
                DiagnosticsHandlerHelper.isTelemetryMonitoringEnabled   = false;
            }
        }
コード例 #2
0
        private static void ResetSystemUsageMonitor(bool isTelemetryEnabled)
        {
            ClientTelemetryTests.systemUsageMonitor?.Stop();

            FieldInfo diagnosticsHandlerHelperInstance = typeof(DiagnosticsHandlerHelper)
                                                         .GetField("isTelemetryMonitoringEnabled", BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic);

            diagnosticsHandlerHelperInstance.SetValue(null, isTelemetryEnabled);

            List <SystemUsageRecorder> recorders = new List <SystemUsageRecorder>()
            {
                (SystemUsageRecorder)typeof(DiagnosticsHandlerHelper)
                .GetField("diagnosticSystemUsageRecorder",
                          BindingFlags.Instance | BindingFlags.NonPublic)
                .GetValue(DiagnosticsHandlerHelper.Instance)
            };

            if (isTelemetryEnabled)
            {
                recorders.Add(
                    (SystemUsageRecorder)typeof(DiagnosticsHandlerHelper)
                    .GetField("telemetrySystemUsageRecorder",
                              BindingFlags.Instance | BindingFlags.NonPublic)
                    .GetValue(DiagnosticsHandlerHelper.Instance));
            }

            ClientTelemetryTests.systemUsageMonitor = SystemUsageMonitor.CreateAndStart(recorders);
        }
コード例 #3
0
 public void SetUp()
 {
     mockSystemUsageCollector = new Mock <ISystemUsageCollector>();
     mockSystemUsageBucket    = new Mock <ISystemUsageBucket>();
     scheduler = new TestScheduler();
     instance  = CreateInstance();
 }
コード例 #4
0
        public static void ClassInitialize(TestContext context)
        {
            Environment.SetEnvironmentVariable(ClientTelemetryOptions.EnvPropsClientTelemetryEnabled, "true");
            Environment.SetEnvironmentVariable(ClientTelemetryOptions.EnvPropsClientTelemetrySchedulingInSeconds, "1");
            Environment.SetEnvironmentVariable(ClientTelemetryOptions.EnvPropsClientTelemetryEndpoint, telemetryEndpointUrl);

            SystemUsageMonitor oldSystemUsageMonitor = (SystemUsageMonitor)typeof(DiagnosticsHandlerHelper)
                                                       .GetField("systemUsageMonitor", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(DiagnosticsHandlerHelper.Instance);

            oldSystemUsageMonitor.Stop();

            ClientTelemetryTests.ResetSystemUsageMonitor(true);
        }
コード例 #5
0
        private DiagnosticsHandlerHelper()
        {
            this.isMonitoringEnabled = false;

            // If the CPU monitor fails for some reason don't block the application
            try
            {
                SystemUsageMonitor systemUsageMonitor = SystemUsageMonitor.CreateAndStart(
                    new List <SystemUsageRecorder>
                {
                    this.diagnosticSystemUsageRecorder,
                    this.telemetrySystemUsageRecorder,
                });

                this.isMonitoringEnabled = true;
            }
            catch (Exception ex)
            {
                DefaultTrace.TraceError(ex.Message);
                this.isMonitoringEnabled = false;
            }
        }