def test_constructor(self): mock_meter = mock.Mock() request_metrics_collector = request_metrics.RequestMetrics( meter=mock_meter, labels=self._test_labels, collection_type=AutoCollectionType.PERF_COUNTER, ) self.assertEqual(request_metrics_collector._meter, mock_meter) self.assertEqual(request_metrics_collector._labels, self._test_labels) self.assertEqual(mock_meter.register_observer.call_count, 2) create_metric_calls = mock_meter.register_observer.call_args_list create_metric_calls[0].assert_called_with( callback=request_metrics_collector._track_request_duration, name="\\ApplicationInsights\\Request Duration", description="Incoming Requests Average Execution Time", unit="milliseconds", value_type=float, ) create_metric_calls[1].assert_called_with( callback=request_metrics_collector._track_request_rate, name="\\ApplicationInsights\\Requests/Sec", description="Incoming Requests Rate", unit="rps", value_type=float, )
def test_constructor(self): mock_meter = mock.Mock() request_metrics_collector = request_metrics.RequestMetrics( meter=mock_meter, labels=self._test_labels ) self.assertEqual(request_metrics_collector._meter, mock_meter) self.assertEqual(request_metrics_collector._labels, self._test_labels) self.assertEqual(mock_meter.register_observer.call_count, 2) create_metric_calls = mock_meter.register_observer.call_args_list create_metric_calls[0].assert_called_with( callback=request_metrics_collector._track_request_duration, name="\\ASP.NET Applications(??APP_W3SVC_PROC??)\\Request Execution Time", description="Incoming Requests Average Execution Time", unit="milliseconds", value_type=int, ) create_metric_calls[1].assert_called_with( callback=request_metrics_collector._track_request_rate, name="\\ASP.NET Applications(??APP_W3SVC_PROC??)\\Requests/Sec", description="Incoming Requests Average Execution Rate", unit="rps", value_type=int, )
def test_track_request_rate_time_none(self, time_mock): time_mock.time.return_value = 100 request_metrics_collector = request_metrics.RequestMetrics( meter=self._meter, labels=self._test_labels, ) request_metrics.requests_map["last_time"] = None obs = Observer( callback=request_metrics_collector._track_request_rate, name="\\ASP.NET Applications(??APP_W3SVC_PROC??)\\Requests/Sec", description="Incoming Requests Average Execution Rate", unit="rps", value_type=float, ) request_metrics_collector._track_request_rate(obs) self.assertEqual( obs.aggregators[tuple(self._test_labels.items())].current, 0.0)
def test_track_request_duration_error(self): request_metrics_collector = request_metrics.RequestMetrics( meter=self._meter, labels=self._test_labels, ) request_metrics.requests_map["duration"] = 100 request_metrics.requests_map["count"] = 10 request_metrics.requests_map["last_count"] = 10 obs = Observer( callback=request_metrics_collector._track_request_duration, name= "\\ASP.NET Applications(??APP_W3SVC_PROC??)\\Request Execution Time", description="Incoming Requests Average Execution Time", unit="milliseconds", value_type=float, ) request_metrics_collector._track_request_duration(obs) self.assertEqual( obs.aggregators[tuple(self._test_labels.items())].current, 0.0)
def test_track_request_duration(self): request_metrics_collector = request_metrics.RequestMetrics( meter=self._meter, labels=self._test_labels, span_processor=self._span_processor, collection_type=AutoCollectionType.STANDARD_METRICS, ) self._span_processor.request_duration = 100 self._span_processor.request_count = 10 request_metrics.requests_map["last_count"] = 5 obs = Observer( callback=request_metrics_collector._track_request_duration, name="\\ASP.NET Applications(??APP_W3SVC_PROC??)\\Request Execution Time", description="Incoming Requests Average Execution Time", unit="milliseconds", value_type=int, meter=self._meter, ) request_metrics_collector._track_request_duration(obs) self.assertEqual( obs.aggregators[tuple(self._test_labels.items())].current, 20.0 )
def test_track_request_rate_error(self, time_mock): request_metrics_collector = request_metrics.RequestMetrics( meter=self._meter, labels=self._test_labels, span_processor=self._span_processor, collection_type=AutoCollectionType.STANDARD_METRICS, ) time_mock.time.return_value = 100 request_metrics.requests_map["last_rate"] = 5.0 request_metrics.requests_map["last_time"] = 100 obs = Observer( callback=request_metrics_collector._track_request_rate, name="\\ASP.NET Applications(??APP_W3SVC_PROC??)\\Requests/Sec", description="Incoming Requests Average Execution Rate", unit="rps", value_type=float, meter=self._meter, ) request_metrics_collector._track_request_rate(obs) self.assertEqual( obs.aggregators[tuple(self._test_labels.items())].current, 5.0 )