lidavidm commented on code in PR #12702:
URL: https://github.com/apache/arrow/pull/12702#discussion_r854489734


##########
cpp/src/arrow/util/tracing_internal.h:
##########
@@ -114,23 +117,38 @@ class SpanImpl {
 opentelemetry::trace::StartSpanOptions SpanOptionsWithParent(
     const util::tracing::Span& parent_span);
 
-#define START_SPAN(target_span, ...)                                           
     \
-  auto opentelemetry_scope##__LINE__ =                                         
     \
-      ::arrow::internal::tracing::GetTracer()->WithActiveSpan(                 
     \
-          target_span                                                          
     \
-              .Set(::arrow::util::tracing::Span::Impl{                         
     \
-                  
::arrow::internal::tracing::GetTracer()->StartSpan(__VA_ARGS__)}) \
-              .span)
+#define FIRST_ARG(first, ...) first
+
+#define START_COMPUTE_SPAN(target_span, ...) \
+  START_SPAN(target_span, __VA_ARGS__);      \
+  START_SPAN(target_span, FIRST_ARG(__VA_ARGS__), {GET_MEMORY_POOL_INFO});
+
+#define START_COMPUTE_SPAN_WITH_PARENT(target_span, parent_span, ...)      \
+  START_SPAN_WITH_PARENT(target_span, parent_span, __VA_ARGS__);           \
+  START_SPAN_WITH_PARENT(target_span, parent_span, FIRST_ARG(__VA_ARGS__), \
+                         {GET_MEMORY_POOL_INFO});
+
+#define START_SPAN(target_span, ...)                                           
       \
+  {                                                                            
       \
+    auto opentelemetry_scope##__LINE__ =                                       
       \
+        ::arrow::internal::tracing::GetTracer()->WithActiveSpan(               
       \
+            target_span                                                        
       \
+                .Set(::arrow::util::tracing::Span::Impl{                       
       \
+                    
::arrow::internal::tracing::GetTracer()->StartSpan(__VA_ARGS__)}) \
+                .span);                                                        
       \
+  }

Review Comment:
   The scope is an RAII guard, you wouldn't generally actually use it. But 
effectively it makes no sense to put a scope inside a C++ block by itself.



-- 
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