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]

Reply via email to