def test_telemetry_processor_apply_not_accepted(self): base = self._base def callback_function(envelope): return envelope.data.base_type == "type2" base.add_telemetry_processor(callback_function) envelope = Envelope(data=Data(base_type="type1")) envelope2 = Envelope(data=Data(base_type="type2")) envelopes = base._apply_telemetry_processors([envelope, envelope2]) self.assertEqual(len(envelopes), 1) self.assertEqual(envelopes[0].data.base_type, "type2")
def test_telemetry_processor_apply(self): base = self._base def callback_function(envelope): envelope.data.base_type += "_world" base.add_telemetry_processor(callback_function) envelope = Envelope(data=Data(base_type="type1")) base._apply_telemetry_processors([envelope]) self.assertEqual(envelope.data.base_type, "type1_world")
def test_live_metric_envelope_documents(self): aggregator = SumAggregator() aggregator.update(123) aggregator.take_checkpoint() record = MetricRecord(self._test_metric, self._test_labels, aggregator) exporter = LiveMetricsExporter( instrumentation_key=self._instrumentation_key, span_processor=self._span_processor, ) request_data = RemoteDependency( name="testName", id="", result_code="testResultCode", duration="testDuration", success=True, properties={}, measurements={}, ) request_data.properties["test_property1"] = "test_property1Value" request_data.properties["test_property2"] = "test_property2Value" request_data.measurements[ "test_measurement1"] = "test_measurement1Value" request_data.measurements[ "test_measurement2"] = "test_measurement2Value" test_envelope = Envelope(data=Data(base_type="RemoteDependencyData", base_data=request_data)) self._span_processor.documents.append(test_envelope) envelope = exporter._metric_to_live_metrics_envelope([record]) self.assertIsInstance(envelope, LiveMetricEnvelope) self.assertEqual(len(envelope.documents), 1) self.assertEqual( envelope.documents[0].quickpulse_type, "DependencyTelemetryDocument", ) self.assertEqual(envelope.documents[0].document_type, "RemoteDependency") self.assertEqual(envelope.documents[0].version, "1.0") self.assertEqual(envelope.documents[0].operation_id, "") self.assertEqual(len(envelope.documents[0].properties), 4) self.assertEqual( envelope.documents[0].properties["test_measurement1"], "test_measurement1Value", ) self.assertEqual( envelope.documents[0].properties["test_measurement2"], "test_measurement2Value", ) self.assertEqual( envelope.documents[0].properties["test_property1"], "test_property1Value", ) self.assertEqual( envelope.documents[0].properties["test_property2"], "test_property2Value", )
def test_telemetry_processor_apply_exception(self): base = self._base def callback_function(envelope): raise ValueError() def callback_function2(envelope): envelope.data.base_type += "_world2" base.add_telemetry_processor(callback_function) base.add_telemetry_processor(callback_function2) envelope = Envelope(data=Data(base_type="type1")) base._apply_telemetry_processors([envelope]) self.assertEqual(envelope.data.base_type, "type1_world2")
def test_telemetry_processor_apply_multiple(self): base = BaseExporter() base._telemetry_processors = [] def callback_function(envelope): envelope.data.base_type += "_world" def callback_function2(envelope): envelope.data.base_type += "_world2" base.add_telemetry_processor(callback_function) base.add_telemetry_processor(callback_function2) envelope = Envelope(data=Data(base_type="type1")) base.apply_telemetry_processors([envelope]) self.assertEqual(envelope.data.base_type, "type1_world_world2")