Exemplo n.º 1
0
 def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure):
     exporter = OTLPMetricsExporter()
     # pylint: disable=protected-access
     self.assertEqual(
         exporter._headers, (("key1", "value1"), ("key2", "value2")),
     )
     exporter = OTLPMetricsExporter(
         headers=(("key3", "value3"), ("key4", "value4"))
     )
     # pylint: disable=protected-access
     self.assertEqual(
         exporter._headers, (("key3", "value3"), ("key4", "value4")),
     )
 def setUp(self):  # pylint: disable=arguments-differ
     self.exporter = OTLPMetricsExporter(insecure=True)
     self.resource = SDKResource(OrderedDict([("a", 1), ("b", False)]))
     self.meter = MeterProvider(resource=self.resource,).get_meter(
         "name", "version"
     )
     Configuration._reset()  # pylint: disable=protected-access
    def test_env_variables(self, mock_exporter_mixin):
        OTLPMetricsExporter()

        self.assertTrue(len(mock_exporter_mixin.call_args_list) == 1)
        _, kwargs = mock_exporter_mixin.call_args_list[0]

        self.assertEqual(kwargs["endpoint"], "collector:55680")
        self.assertEqual(kwargs["headers"], "key1:value1;key2:value2")
        self.assertEqual(kwargs["timeout"], 10)
        self.assertIsNotNone(kwargs["credentials"])
        self.assertIsInstance(kwargs["credentials"], ChannelCredentials)
 def setUp(self):
     self.exporter = OTLPMetricsExporter()
     resource = SDKResource(OrderedDict([("a", 1), ("b", False)]))
     self.counter_metric_record = MetricRecord(
         Counter(
             "a",
             "b",
             "c",
             int,
             MeterProvider(resource=resource, ).get_meter(__name__),
             ("d", ),
         ),
         OrderedDict([("e", "f")]),
         SumAggregator(),
         resource,
     )
    def setUp(self):
        self.exporter = OTLPMetricsExporter(insecure=True)
        resource = SDKResource(OrderedDict([("a", 1), ("b", False)]))

        self.counter_metric_record = MetricRecord(
            Counter(
                "c",
                "d",
                "e",
                int,
                MeterProvider(resource=resource, ).get_meter(__name__),
                ("f", ),
            ),
            [("g", "h")],
            SumAggregator(),
            resource,
        )

        Configuration._reset()  # pylint: disable=protected-access
from opentelemetry.sdk.trace.export import BatchExportSpanProcessor

span_exporter = OTLPSpanExporter(
    # optional
    # endpoint:="myCollectorURL:55678",
    # credentials=ChannelCredentials(credentials),
    # metadata=(("metadata", "metadata")),
)
tracer_provider = TracerProvider()
trace.set_tracer_provider(tracer_provider)
span_processor = BatchExportSpanProcessor(span_exporter)
tracer_provider.add_span_processor(span_processor)

metric_exporter = OTLPMetricsExporter(
    # optional
    # endpoint:="myCollectorURL:55678",
    # credentials=ChannelCredentials(credentials),
    # metadata=(("metadata", "metadata")),
)

# Meter is responsible for creating and recording metrics
metrics.set_meter_provider(MeterProvider())
meter = metrics.get_meter(__name__)
# controller collects metrics created from meter and exports it via the
# exporter every interval
controller = PushController(meter, metric_exporter, 5)

# Configure the tracer to use the collector exporter
tracer = trace.get_tracer_provider().get_tracer(__name__)

with tracer.start_as_current_span("foo"):
    print("Hello world!")
 def test_no_credentials_error(
     self, mock_ssl_channel, mock_secure, mock_stub
 ):
     OTLPMetricsExporter(insecure=False)
     self.assertTrue(mock_ssl_channel.called)
# create a CollectorSpanExporter
span_exporter = OTLPSpanExporter(
    # optional:
    # endpoint="myCollectorUrl:55678",
    # service_name="test_service",
    # host_name="machine/container name",
)
tracer_provider = TracerProvider()
trace.set_tracer_provider(tracer_provider)
span_processor = BatchExportSpanProcessor(span_exporter)
tracer_provider.add_span_processor(span_processor)

# create a CollectorMetricsExporter
metric_exporter = OTLPMetricsExporter(
    # optional:
    # endpoint="myCollectorUrl:55678",
    # service_name="test_service",
    # host_name="machine/container name",
)

# Meter is responsible for creating and recording metrics
metrics.set_meter_provider(MeterProvider())
meter = metrics.get_meter(__name__)
# controller collects metrics created from meter and exports it via the
# exporter every interval
controller = PushController(meter, metric_exporter, 5)

# Configure the tracer to use the collector exporter
tracer = trace.get_tracer_provider().get_tracer(__name__)

with tracer.start_as_current_span("foo"):
    print("Hello world!")
Exemplo n.º 9
0
latencyMetricName = "latency"

if "INSTANCE_ID" in os.environ:
    instanceId = os.environ["INSTANCE_ID"]
    if not instanceId.strip() == "":
        latencyMetricName += "_" + instanceId
        apiBytesSentMetricName += "_" + instanceId

apiBytesSentCounter = meter.create_counter(apiBytesSentMetricName,
                                           "API request load sent in bytes",
                                           "one", int)

apiLatencyRecorder = meter.create_valuerecorder(latencyMetricName,
                                                "API latency time", "ms", int)

# Start Metric Pipeline

# Exporter to export metrics to the console
exporter = OTLPMetricsExporter()

# start_pipeline will notify the MeterProvider to begin collecting/exporting
# metrics with the given meter, exporter and interval in seconds
# TODO: Auto-Instrumentation will instantiate the MeterProvider before this
# file has a chance to instantiate it. Once https://github.com/open-telemetry/opentelemetry-python/issues/1444
# is resolved, this try except block can be removed.
try:
    metrics.get_meter_provider().start_pipeline(meter, exporter, 5)
except:
    logger.warning("Metrics Pipeline was not started.")
    pass
Exemplo n.º 10
0
 def test_otlp_headers(self, mock_ssl_channel, mock_secure):
     exporter = OTLPMetricsExporter()
     # pylint: disable=protected-access
     self.assertIsNone(exporter._headers, None)