raulcd commented on code in PR #49383:
URL: https://github.com/apache/arrow/pull/49383#discussion_r2852697131
##########
cpp/src/arrow/flight/server_tracing_middleware.cc:
##########
@@ -136,7 +136,7 @@ class TracingServerMiddlewareFactory : public
ServerMiddlewareFactory {
options.kind = otel::trace::SpanKind::kServer;
options.parent = otel::trace::GetSpan(new_otel_context)->GetContext();
- auto tracer =
otel::trace::Provider::GetTracerProvider()->GetTracer("arrow");
+ auto tracer = arrow::internal::tracing::GetTracer();
Review Comment:
yeah, that was my feeling too, either not being initialized or something to
do with `libarrow.so` and libarrow_flight.so` both linking opentelementry
statically and getting their own copy of the static opentelemetry provider
that's why I thought `CMAKE_INTERPROCEDUREAL_OPTIMIZATION` might be related
(but proved it wasn't).
The Arrow util one should cross the shared object boundary and use the
already initialized one (or initialize it) which I think is correct.
I just wanted to validate the change looks ok to you or whether do you think
it would be better to keep investigating and try to configure when calling
`MakeTracingServerMiddlewareFactory` instead of using the one initialized via
`libarrow.so`?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]