opentelemetry-php
opentelemetry-php copied to clipboard
OpenTelemetry: [error] Export failure [exception] Unprocessable Entity [previous]
Describe your environment PHP 8.3.12, open-telemetry/api 1.1.0, open-telemetry/context 1.1.0, open-telemetry/exporter-otlp 1.1.0, open-telemetry/sdk 1.1.0, open-telemetry/sem-conv 1.27.1 PHP runs inside a Docker container
Steps to reproduce Launching this project on the following branch : https://gitlab.com/eternaltwin/mush/mush/-/tree/internal/otel
What is the expected behavior? I expect to see OpenTelemetry traces sent through my OLTP endpoint
What is the actual behavior? I see this error:
mush_php | NOTICE: PHP message: OpenTelemetry: [error] Export failure [exception] Unprocessable Entity [previous]
mush_php | #0 /www/vendor/open-telemetry/exporter-otlp/SpanExporter.php(38): OpenTelemetry\SDK\Common\Export\Http\PsrTransport->send('\n\xEA\x03\n?\n\x17\n\fservic...', NULL)
mush_php | #1 /www/vendor/open-telemetry/sdk/Trace/SpanProcessor/SimpleSpanProcessor.php(51): OpenTelemetry\Contrib\Otlp\SpanExporter->export(Array)
mush_php | #2 /www/vendor/open-telemetry/sdk/Trace/SpanProcessor/SimpleSpanProcessor.php(92): OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor->OpenTelemetry\SDK\Trace\SpanProcessor\{closure}()
mush_php | #3 /www/vendor/open-telemetry/sdk/Trace/SpanProcessor/SimpleSpanProcessor.php(51): OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor->flush(Object(Closure), 'export', false, Object(OpenTelemetry\Context\Context))
mush_php | #4 /www/vendor/open-telemetry/sdk/Trace/Span.php(259): OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor->onEnd(Object(OpenTelemetry\SDK\Trace\Span))
mush_php | #5 /www/public/index.php(43): OpenTelemetry\SDK\Trace\Span->end()
mush_php | #6 {main}
Additional context Here is some relevant code :
-
OpenTelemetry.php
: https://gitlab.com/eternaltwin/mush/mush/-/blob/internal/otel/Api/src/OpenTelemetry.php where I setup SpanExporter etc. -
index.php
where I create spans : https://gitlab.com/eternaltwin/mush/mush/-/blob/internal/otel/Api/public/index.php