def test_track_process_cpu_exception(self, logger_mock): with mock.patch( "azure_monitor.sdk.auto_collection.performance_metrics.psutil" ) as psutil_mock: performance_metrics_collector = PerformanceMetrics( meter=self._meter, labels=self._test_labels) psutil_mock.cpu_count.return_value = None obs = Observer( callback=performance_metrics_collector._track_process_cpu, name="\\Process(??APP_WIN32_PROC??)\\% Processor Time", description="Process CPU usage as a percentage", unit="percentage", value_type=float, meter=self._meter, ) performance_metrics_collector._track_process_cpu(obs) self.assertEqual(logger_mock.exception.called, True)
def test_track_process_cpu(self, psutil_mock): with mock.patch( "azure_monitor.sdk.auto_collection.performance_metrics.PROCESS" ) as process_mock: performance_metrics_collector = PerformanceMetrics( meter=self._meter, labels=self._test_labels) process_mock.cpu_percent.return_value = 44.4 psutil_mock.cpu_count.return_value = 2 obs = Observer( callback=performance_metrics_collector._track_process_cpu, name="\\Process(??APP_WIN32_PROC??)\\% Processor Time", description="Process CPU usage as a percentage", unit="percentage", value_type=float, meter=self._meter, ) performance_metrics_collector._track_process_cpu(obs) self.assertEqual( obs.aggregators[tuple(self._test_labels.items())].current, 22.2)