docker pull otel/opentelemetry-collector:0.90.0
docker run -p 127.0.0.1:4317:4317 -p 127.0.0.1:55679:55679 otel/opentelemetry-collector:0.90.0
Note the 4317 endpoint exposed.
Expected behavior
Spans arrive in the collector
Metrics arrive in the collector
Actual behavior
The metrics appear to arrive successfully, but the spans fail with an openssl error.
Span exporter
I observe this error in the Demo App console logs:
E1130 15:37:07.081350000 6174420992 ssl_transport_security.cc:1511] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
WARNING:opentelemetry.exporter.otlp.proto.grpc.exporter:Transient error StatusCode.UNAVAILABLE encountered while exporting traces to 127.0.0.1:4317, retrying in 1s.
Metric exporter
While it doesn't include the description, units, or the other metadata included in the metric definition, the latency histogram does appear in the console logs for the Collector. This indicates the OTLP protocol successfully exports metrics from the Demo App to the Collector. For example, here is a snippet of the Collector console logs:
Metric #9
Descriptor:
-> Name: otelcol_processor_batch_batch_send_size
-> Description: Number of units in the batch
-> Unit:
-> DataType: Histogram
-> AggregationTemporality: Cumulative
HistogramDataPoints #0
Data point attributes:
-> processor: Str(batch)
-> service_instance_id: Str(2d791575-cdb2-48b1-8916-8b01696690d0)
-> service_name: Str(otelcol)
-> service_version: Str(0.90.0)
StartTimestamp: 2023-11-30 20:21:51.783 +0000 UTC
Timestamp: 2023-11-30 20:48:31.787 +0000 UTC
Count: 161
Sum: 2571.000000
ExplicitBounds #0: 10.000000
ExplicitBounds #1: 25.000000
ExplicitBounds #2: 50.000000
...
Buckets #0, Count: 0
Buckets #1, Count: 161
...
Additional context
Something extra to note is that, though the metrics arrive, they appear to indicate that the requests are all taking between 25 and 50 ms each. However, I log the request time independently and note that the request times for this Demo App are all 240 ms +/- 15 ms.
Summary
The
OTLPMetricExporter
reaches the Collector but theOTLPSpanExporter
fails with this error (formatted for readability):Unfortunately, the error is opaque and does not include remediation instructions.
Environment
Python 3.11.6 on macOS Sonoma 14.1.1
Steps to reproduce
Run a demo app exporting metrics and traces to a collector.
Instrumentation setup
Instrumentation definition
Make a Flask app
Run the app
In one terminal:
Send requests
In another terminal:
Run the collector
In a third terminal, from the docs:
Note the
4317
endpoint exposed.Expected behavior
Actual behavior
The metrics appear to arrive successfully, but the spans fail with an openssl error.
Span exporter
I observe this error in the Demo App console logs:
Metric exporter
While it doesn't include the description, units, or the other metadata included in the metric definition, the latency histogram does appear in the console logs for the Collector. This indicates the OTLP protocol successfully exports metrics from the Demo App to the Collector. For example, here is a snippet of the Collector console logs:
Additional context
Something extra to note is that, though the metrics arrive, they appear to indicate that the requests are all taking between 25 and 50 ms each. However, I log the request time independently and note that the request times for this Demo App are all 240 ms +/- 15 ms.