コード例 #1
0
    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")
コード例 #2
0
    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")
コード例 #3
0
 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",
     )
コード例 #4
0
    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")