def test_export_exemplar(self): metric = _create_metric( metric_descriptor.MetricDescriptorType.CUMULATIVE_DISTRIBUTION, points=[ point.Point(value=_create_distribution_value( bounds=[1], buckets=[ value.Bucket(count=1, exemplar=value.Exemplar( value=2.5, timestamp=TEST_TIME_STR, attachments={'key1': 'value1'})), value.Bucket(count=0), ]), timestamp=datetime.now()) ]) handler = mock.Mock(spec=ocagent.ExportRpcHandler) ocagent.StatsExporter(handler).export_metrics([metric]) self.assertEqual( handler.send.call_args[0][0].metrics[0].timeseries[0].points[0]. distribution_value.buckets[0].exemplar, metrics_pb2.DistributionValue.Exemplar( value=2.5, timestamp=timestamp_pb2.Timestamp(seconds=1545699723, nanos=4000), attachments={'key1': 'value1'}))
def test_export_double_point_value(self): view = view_module.View('', '', [FRONTEND_KEY], VIDEO_SIZE_MEASURE, aggregation_module.SumAggregation()) v_data = view_data_module.ViewData(view=view, start_time=TEST_TIME_STR, end_time=TEST_TIME_STR) v_data.record(context=tag_map_module.TagMap(), value=2.5, timestamp=None) view_data = [v_data] view_data = [metric_utils.view_data_to_metric(view_data[0], TEST_TIME)] handler = mock.Mock(spec=ocagent.ExportRpcHandler) ocagent.StatsExporter(handler).export_metrics(view_data) self.assertEqual( handler.send.call_args[0] [0].metrics[0].timeseries[0].points[0].double_value, 2.5)
def test_export_view_data(self): v_data = view_data_module.ViewData(view=VIDEO_SIZE_VIEW, start_time=TEST_TIME_STR, end_time=TEST_TIME_STR) v_data.record(context=tag_map_module.TagMap(), value=2, timestamp=None) view_data = [v_data] view_data = [metric_utils.view_data_to_metric(view_data[0], TEST_TIME)] handler = mock.Mock(spec=ocagent.ExportRpcHandler) ocagent.StatsExporter(handler).export_metrics(view_data) self.assertEqual( handler.send.call_args[0][0].metrics[0].metric_descriptor, metrics_pb2.MetricDescriptor( name=VIDEO_SIZE_VIEW_NAME, description='processed video size over time', unit='By', type=metrics_pb2.MetricDescriptor.CUMULATIVE_DISTRIBUTION, label_keys=[metrics_pb2.LabelKey(key=FRONTEND_KEY)])) self.assertEqual( handler.send.call_args[0][0].metrics[0].timeseries[0], metrics_pb2.TimeSeries( start_timestamp=timestamp_pb2.Timestamp(seconds=1545699723, nanos=4000), label_values=[metrics_pb2.LabelValue(has_value=False)], points=[ metrics_pb2.Point( timestamp=timestamp_pb2.Timestamp(seconds=1545699723, nanos=4000), distribution_value=metrics_pb2.DistributionValue( sum=2, count=1, bucket_options=metrics_pb2.DistributionValue. BucketOptions( explicit=metrics_pb2.DistributionValue. BucketOptions.Explicit( bounds=[16.0 * MiB, 256.0 * MiB])), buckets=[ metrics_pb2.DistributionValue.Bucket(count=1), metrics_pb2.DistributionValue.Bucket(), metrics_pb2.DistributionValue.Bucket(), ])) ]))