This is an automated email from the ASF dual-hosted git repository.
jackylee-ch pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git
The following commit(s) were added to refs/heads/main by this push:
new ff571bf1a0 [GLUTEN-13341][VL] Remove the unused veloxToArrow metric
(#13344)
ff571bf1a0 is described below
commit ff571bf1a075dec8357c0ced6922fe3b8a2a8726
Author: YangJie <[email protected]>
AuthorDate: Wed Oct 21 03:09:58 2026 -0400
[GLUTEN-13341][VL] Remove the unused veloxToArrow metric (#13344)
---
.../src/main/java/org/apache/gluten/metrics/Metrics.java | 13 +------------
.../org/apache/gluten/metrics/JoinMetricsUpdater.scala | 3 ---
.../main/scala/org/apache/gluten/metrics/MetricsUtil.scala | 7 ++-----
.../src/main/java/org/apache/gluten/metrics/Metrics.java | 12 +-----------
.../org/apache/gluten/metrics/JoinMetricsUpdater.scala | 3 ---
.../main/scala/org/apache/gluten/metrics/MetricsUtil.scala | 7 ++-----
cpp/bolt/compute/BoltRuntime.h | 4 ++--
cpp/bolt/compute/WholeStageResultIterator.h | 5 +----
cpp/bolt/memory/BoltColumnarBatch.cc | 2 --
cpp/bolt/tests/RuntimeTest.cc | 2 +-
cpp/core/compute/ResultIterator.cc | 2 +-
cpp/core/compute/ResultIterator.h | 9 ---------
cpp/core/compute/Runtime.h | 2 +-
cpp/core/jni/JniWrapper.cc | 14 +++-----------
cpp/core/memory/ColumnarBatch.cc | 7 +------
cpp/core/memory/ColumnarBatch.h | 3 ---
cpp/core/utils/Metrics.h | 1 -
cpp/velox/compute/VeloxRuntime.h | 4 ++--
cpp/velox/compute/WholeStageResultIterator.h | 5 +----
cpp/velox/memory/VeloxColumnarBatch.cc | 2 --
cpp/velox/tests/RuntimeTest.cc | 2 +-
21 files changed, 20 insertions(+), 89 deletions(-)
diff --git a/backends-bolt/src/main/java/org/apache/gluten/metrics/Metrics.java
b/backends-bolt/src/main/java/org/apache/gluten/metrics/Metrics.java
index a0c55c5895..65e61249ff 100644
--- a/backends-bolt/src/main/java/org/apache/gluten/metrics/Metrics.java
+++ b/backends-bolt/src/main/java/org/apache/gluten/metrics/Metrics.java
@@ -20,23 +20,12 @@ public class Metrics implements IMetrics {
public final String metricsJson;
public final int numMetrics;
- public SingleMetric singleMetric = new SingleMetric();
-
public String taskStats;
/** Create an instance for native metrics. */
- public Metrics(String metricsJson, int numMetrics, long veloxToArrow, String
taskStats) {
+ public Metrics(String metricsJson, int numMetrics, String taskStats) {
this.metricsJson = metricsJson;
this.numMetrics = numMetrics;
- this.singleMetric.veloxToArrow = veloxToArrow;
this.taskStats = taskStats;
}
-
- public SingleMetric getSingleMetrics() {
- return singleMetric;
- }
-
- public static class SingleMetric {
- public long veloxToArrow;
- }
}
diff --git
a/backends-bolt/src/main/scala/org/apache/gluten/metrics/JoinMetricsUpdater.scala
b/backends-bolt/src/main/scala/org/apache/gluten/metrics/JoinMetricsUpdater.scala
index c146082410..d4dcd02ea4 100644
---
a/backends-bolt/src/main/scala/org/apache/gluten/metrics/JoinMetricsUpdater.scala
+++
b/backends-bolt/src/main/scala/org/apache/gluten/metrics/JoinMetricsUpdater.scala
@@ -16,7 +16,6 @@
*/
package org.apache.gluten.metrics
-import org.apache.gluten.metrics.Metrics.SingleMetric
import org.apache.gluten.substrait.JoinParams
import org.apache.spark.sql.execution.metric.SQLMetric
@@ -30,7 +29,6 @@ import scala.collection.JavaConverters._
trait JoinMetricsUpdater extends MetricsUpdater {
def updateJoinMetrics(
joinMetrics: java.util.ArrayList[OperatorMetrics],
- singleMetrics: SingleMetric,
joinParams: JoinParams): Unit
}
@@ -44,7 +42,6 @@ abstract class JoinMetricsUpdaterBase(val metrics:
Map[String, SQLMetric])
final override def updateJoinMetrics(
joinMetrics: util.ArrayList[OperatorMetrics],
- singleMetrics: SingleMetric,
joinParams: JoinParams): Unit = {
if (joinParams.postProjectionNeeded) {
val postProjectMetrics = joinMetrics.remove(0)
diff --git
a/backends-bolt/src/main/scala/org/apache/gluten/metrics/MetricsUtil.scala
b/backends-bolt/src/main/scala/org/apache/gluten/metrics/MetricsUtil.scala
index 936047c315..8d76a2bea4 100644
--- a/backends-bolt/src/main/scala/org/apache/gluten/metrics/MetricsUtil.scala
+++ b/backends-bolt/src/main/scala/org/apache/gluten/metrics/MetricsUtil.scala
@@ -355,7 +355,6 @@ object MetricsUtil extends Logging {
mutNode: MetricsUpdaterTree,
relMap: JMap[JLong, JList[JLong]],
operatorIdx: JLong,
- metrics: Metrics,
nativeMetrics: JArrayList[OperatorMetrics],
metricsIdx: Int,
joinParamsMap: JMap[JLong, JoinParams],
@@ -380,7 +379,7 @@ object MetricsUtil extends Logging {
p.postProjectionNeeded = false
p
}
- smj.updateJoinMetrics(operatorMetrics, metrics.getSingleMetrics,
joinParams)
+ smj.updateJoinMetrics(operatorMetrics, joinParams)
case ju: JoinMetricsUpdaterBase =>
// JoinRel and CrossRel output two suites of metrics respectively for
build and probe.
// Therefore, fetch one more suite of metrics here.
@@ -391,7 +390,7 @@ object MetricsUtil extends Logging {
p.postProjectionNeeded = false
p
}
- ju.updateJoinMetrics(operatorMetrics, metrics.getSingleMetrics,
joinParams)
+ ju.updateJoinMetrics(operatorMetrics, joinParams)
case u: UnionMetricsUpdater =>
// Union outputs two suites of metrics respectively.
// Therefore, fetch one more suite of metrics here.
@@ -431,7 +430,6 @@ object MetricsUtil extends Logging {
child,
relMap,
newOperatorIdx,
- metrics,
nativeMetrics,
newMetricsIdx,
joinParamsMap,
@@ -480,7 +478,6 @@ object MetricsUtil extends Logging {
mutNode,
relMap,
operatorIdx,
- metrics,
nativeMetrics,
numNativeMetrics - 1,
joinParamsMap,
diff --git
a/backends-velox/src/main/java/org/apache/gluten/metrics/Metrics.java
b/backends-velox/src/main/java/org/apache/gluten/metrics/Metrics.java
index ce5bec16a7..65e61249ff 100644
--- a/backends-velox/src/main/java/org/apache/gluten/metrics/Metrics.java
+++ b/backends-velox/src/main/java/org/apache/gluten/metrics/Metrics.java
@@ -19,23 +19,13 @@ package org.apache.gluten.metrics;
public class Metrics implements IMetrics {
public final String metricsJson;
public final int numMetrics;
- public final SingleMetric singleMetric = new SingleMetric();
public String taskStats;
/** Create an instance for native metrics. */
- public Metrics(String metricsJson, int numMetrics, long veloxToArrow, String
taskStats) {
+ public Metrics(String metricsJson, int numMetrics, String taskStats) {
this.metricsJson = metricsJson;
this.numMetrics = numMetrics;
- this.singleMetric.veloxToArrow = veloxToArrow;
this.taskStats = taskStats;
}
-
- public SingleMetric getSingleMetrics() {
- return singleMetric;
- }
-
- public static class SingleMetric {
- public long veloxToArrow;
- }
}
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/metrics/JoinMetricsUpdater.scala
b/backends-velox/src/main/scala/org/apache/gluten/metrics/JoinMetricsUpdater.scala
index 69885270fc..bffdbcce2e 100644
---
a/backends-velox/src/main/scala/org/apache/gluten/metrics/JoinMetricsUpdater.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/metrics/JoinMetricsUpdater.scala
@@ -16,7 +16,6 @@
*/
package org.apache.gluten.metrics
-import org.apache.gluten.metrics.Metrics.SingleMetric
import org.apache.gluten.substrait.JoinParams
import org.apache.spark.sql.execution.metric.SQLMetric
@@ -30,7 +29,6 @@ import scala.collection.JavaConverters._
trait JoinMetricsUpdater extends MetricsUpdater {
def updateJoinMetrics(
joinMetrics: java.util.ArrayList[OperatorMetrics],
- singleMetrics: SingleMetric,
joinParams: JoinParams): Unit
}
@@ -44,7 +42,6 @@ abstract class JoinMetricsUpdaterBase(val metrics:
Map[String, SQLMetric])
final override def updateJoinMetrics(
joinMetrics: util.ArrayList[OperatorMetrics],
- singleMetrics: SingleMetric,
joinParams: JoinParams): Unit = {
if (joinParams.postProjectionNeeded) {
val postProjectMetrics = joinMetrics.remove(0)
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/metrics/MetricsUtil.scala
b/backends-velox/src/main/scala/org/apache/gluten/metrics/MetricsUtil.scala
index 321b0e328a..689f7e7219 100644
--- a/backends-velox/src/main/scala/org/apache/gluten/metrics/MetricsUtil.scala
+++ b/backends-velox/src/main/scala/org/apache/gluten/metrics/MetricsUtil.scala
@@ -373,7 +373,6 @@ object MetricsUtil extends Logging {
relMap: JMap[JLong, JList[JLong]],
operatorIdx: JLong,
nativeMetrics: JList[OperatorMetrics],
- singleMetrics: Metrics.SingleMetric,
metricsIdx: Int,
joinParamsMap: JMap[JLong, JoinParams],
aggParamsMap: JMap[JLong, AggregationParams]): (JLong, Int) = {
@@ -397,7 +396,7 @@ object MetricsUtil extends Logging {
p.postProjectionNeeded = false
p
}
- smj.updateJoinMetrics(operatorMetrics, singleMetrics, joinParams)
+ smj.updateJoinMetrics(operatorMetrics, joinParams)
case ju: JoinMetricsUpdaterBase =>
// JoinRel and NestedLoopJoinRel output two suites of metrics
respectively for build and
// probe.
@@ -409,7 +408,7 @@ object MetricsUtil extends Logging {
p.postProjectionNeeded = false
p
}
- ju.updateJoinMetrics(operatorMetrics, singleMetrics, joinParams)
+ ju.updateJoinMetrics(operatorMetrics, joinParams)
case u: UnionMetricsUpdater =>
// Union outputs two suites of metrics respectively.
// Therefore, fetch one more suite of metrics here.
@@ -450,7 +449,6 @@ object MetricsUtil extends Logging {
relMap,
newOperatorIdx,
nativeMetrics,
- singleMetrics,
newMetricsIdx,
joinParamsMap,
aggParamsMap)
@@ -499,7 +497,6 @@ object MetricsUtil extends Logging {
relMap,
operatorIdx,
nativeMetrics,
- metrics.getSingleMetrics,
numNativeMetrics - 1,
joinParamsMap,
aggParamsMap)
diff --git a/cpp/bolt/compute/BoltRuntime.h b/cpp/bolt/compute/BoltRuntime.h
index 8276ccce34..21ee5815dd 100644
--- a/cpp/bolt/compute/BoltRuntime.h
+++ b/cpp/bolt/compute/BoltRuntime.h
@@ -89,9 +89,9 @@ class BoltRuntime final : public Runtime {
const std::unordered_map<std::string, std::string>& sparkConfs);
#endif
- Metrics* getMetrics(ColumnarBatchIterator* rawIter, int64_t exportNanos)
override {
+ Metrics* getMetrics(ColumnarBatchIterator* rawIter) override {
auto iter = static_cast<WholeStageResultIterator*>(rawIter);
- return iter->getMetrics(exportNanos);
+ return iter->getMetrics();
}
std::unique_ptr<ColumnarBatchSerializer>
createColumnarBatchSerializer(struct ArrowSchema* cSchema) override;
diff --git a/cpp/bolt/compute/WholeStageResultIterator.h
b/cpp/bolt/compute/WholeStageResultIterator.h
index 1d60d6de1b..1f29f9a31c 100644
--- a/cpp/bolt/compute/WholeStageResultIterator.h
+++ b/cpp/bolt/compute/WholeStageResultIterator.h
@@ -74,11 +74,8 @@ class WholeStageResultIterator : public
SplitAwareColumnarBatchIterator {
int64_t spillFixedSize(int64_t size) override;
- Metrics* getMetrics(int64_t exportNanos) {
+ Metrics* getMetrics() {
collectMetrics();
- if (metrics_) {
- metrics_->veloxToArrow = exportNanos;
- }
return metrics_.get();
}
diff --git a/cpp/bolt/memory/BoltColumnarBatch.cc
b/cpp/bolt/memory/BoltColumnarBatch.cc
index fa5df6abb0..ff22aa30d0 100644
--- a/cpp/bolt/memory/BoltColumnarBatch.cc
+++ b/cpp/bolt/memory/BoltColumnarBatch.cc
@@ -20,7 +20,6 @@
#include "bolt/vector/FlatVector.h"
#include "compute/BoltRuntime.h"
#include "utils/BoltArrowUtils.h"
-#include "utils/Timer.h"
namespace gluten {
@@ -49,7 +48,6 @@ void BoltColumnarBatch::ensureFlattened() {
if (flattened_) {
return;
}
- ScopedTimer timer(&exportNanos_);
for (auto& child : rowVector_->children()) {
bytedance::bolt::BaseVector::flattenVector(child);
if (child->isLazy()) {
diff --git a/cpp/bolt/tests/RuntimeTest.cc b/cpp/bolt/tests/RuntimeTest.cc
index a8f900a8ef..781c47cd0d 100644
--- a/cpp/bolt/tests/RuntimeTest.cc
+++ b/cpp/bolt/tests/RuntimeTest.cc
@@ -105,7 +105,7 @@ class DummyRuntime final : public Runtime {
const std::shared_ptr<ShuffleWriterOptions>&) override {
throw GlutenException("Not yet implemented");
}
- Metrics* getMetrics(ColumnarBatchIterator* rawIter, int64_t exportNanos)
override {
+ Metrics* getMetrics(ColumnarBatchIterator* rawIter) override {
static Metrics m(1, "");
return &m;
}
diff --git a/cpp/core/compute/ResultIterator.cc
b/cpp/core/compute/ResultIterator.cc
index 8ba215bd27..415ba5bef9 100644
--- a/cpp/core/compute/ResultIterator.cc
+++ b/cpp/core/compute/ResultIterator.cc
@@ -22,7 +22,7 @@ namespace gluten {
Metrics* ResultIterator::getMetrics() {
if (runtime_) {
- return runtime_->getMetrics(getInputIter(), exportNanos_);
+ return runtime_->getMetrics(getInputIter());
}
return nullptr;
}
diff --git a/cpp/core/compute/ResultIterator.h
b/cpp/core/compute/ResultIterator.h
index f6d98b9ffa..f4f1a28a70 100644
--- a/cpp/core/compute/ResultIterator.h
+++ b/cpp/core/compute/ResultIterator.h
@@ -59,14 +59,6 @@ class ResultIterator {
Metrics* getMetrics();
- void setExportNanos(int64_t exportNanos) {
- exportNanos_ = exportNanos;
- }
-
- int64_t getExportNanos() const {
- return exportNanos_;
- }
-
int64_t spillFixedSize(int64_t size) {
return iter_->spillFixedSize(size);
}
@@ -87,7 +79,6 @@ class ResultIterator {
std::unique_ptr<ColumnarBatchIterator> iter_;
std::shared_ptr<ColumnarBatch> next_;
Runtime* runtime_;
- int64_t exportNanos_;
};
} // namespace gluten
diff --git a/cpp/core/compute/Runtime.h b/cpp/core/compute/Runtime.h
index d29c8faea2..74737d812e 100644
--- a/cpp/core/compute/Runtime.h
+++ b/cpp/core/compute/Runtime.h
@@ -156,7 +156,7 @@ class Runtime : public
std::enable_shared_from_this<Runtime> {
throw GlutenException("Not implemented");
}
- virtual Metrics* getMetrics(ColumnarBatchIterator* rawIter, int64_t
exportNanos) {
+ virtual Metrics* getMetrics(ColumnarBatchIterator* rawIter) {
throw GlutenException("Not implemented");
}
diff --git a/cpp/core/jni/JniWrapper.cc b/cpp/core/jni/JniWrapper.cc
index 91b35c822e..a426a6c1e2 100644
--- a/cpp/core/jni/JniWrapper.cc
+++ b/cpp/core/jni/JniWrapper.cc
@@ -186,7 +186,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
metricsBuilderClass = createGlobalClassReferenceOrError(env,
"Lorg/apache/gluten/metrics/Metrics;");
metricsBuilderConstructor =
- getMethodIdOrError(env, metricsBuilderClass, "<init>",
"(Ljava/lang/String;IJLjava/lang/String;)V");
+ getMethodIdOrError(env, metricsBuilderClass, "<init>",
"(Ljava/lang/String;ILjava/lang/String;)V");
nativeColumnarToRowInfoClass =
createGlobalClassReferenceOrError(env,
"Lorg/apache/gluten/vectorized/NativeColumnarToRowInfo;");
@@ -475,10 +475,7 @@ JNIEXPORT jlong JNICALL
Java_org_apache_gluten_vectorized_ColumnarBatchOutIterat
}
std::shared_ptr<ColumnarBatch> batch = iter->next();
- auto batchHandle = ctx->saveObject(batch);
-
- iter->setExportNanos(batch->getExportNanos());
- return batchHandle;
+ return ctx->saveObject(batch);
JNI_METHOD_END(kInvalidObjectHandle)
}
@@ -497,12 +494,7 @@ JNIEXPORT jobject JNICALL
Java_org_apache_gluten_metrics_IteratorMetricsJniWrapp
jstring metricsJson = env->NewStringUTF(metrics ? metrics->json.c_str() :
"");
jstring taskStats = metrics && metrics->stats.has_value() ?
env->NewStringUTF(metrics->stats->c_str()) : nullptr;
return env->NewObject(
- metricsBuilderClass,
- metricsBuilderConstructor,
- metricsJson,
- static_cast<jint>(numMetrics),
- metrics ? metrics->veloxToArrow : -1,
- taskStats);
+ metricsBuilderClass, metricsBuilderConstructor, metricsJson,
static_cast<jint>(numMetrics), taskStats);
JNI_METHOD_END(nullptr)
}
diff --git a/cpp/core/memory/ColumnarBatch.cc b/cpp/core/memory/ColumnarBatch.cc
index d9881596d5..fcd1e15c15 100644
--- a/cpp/core/memory/ColumnarBatch.cc
+++ b/cpp/core/memory/ColumnarBatch.cc
@@ -26,8 +26,7 @@
#include <arrow/type.h>
namespace gluten {
-ColumnarBatch::ColumnarBatch(int32_t numColumns, int32_t numRows)
- : numColumns_(numColumns), numRows_(numRows), exportNanos_(0) {}
+ColumnarBatch::ColumnarBatch(int32_t numColumns, int32_t numRows) :
numColumns_(numColumns), numRows_(numRows) {}
int32_t ColumnarBatch::numColumns() const {
return numColumns_;
@@ -37,10 +36,6 @@ int32_t ColumnarBatch::numRows() const {
return numRows_;
}
-int64_t ColumnarBatch::getExportNanos() const {
- return exportNanos_;
-}
-
std::vector<char> ColumnarBatch::toUnsafeRow(int32_t rowId) const {
throw gluten::GlutenException("Not implemented toUnsafeRow for
ColumnarBatch");
}
diff --git a/cpp/core/memory/ColumnarBatch.h b/cpp/core/memory/ColumnarBatch.h
index 9e9ae06983..cc0931803c 100644
--- a/cpp/core/memory/ColumnarBatch.h
+++ b/cpp/core/memory/ColumnarBatch.h
@@ -47,8 +47,6 @@ class ColumnarBatch {
virtual std::shared_ptr<ArrowSchema> exportArrowSchema() = 0;
- virtual int64_t getExportNanos() const;
-
// Serializes one single row to byte array that can be accessed as
Spark-compatible unsafe row.
virtual std::vector<char> toUnsafeRow(int32_t rowId) const;
@@ -59,7 +57,6 @@ class ColumnarBatch {
int32_t numRows_;
protected:
- int64_t exportNanos_;
// If the batch is immutable batch, the numBytes_ should be a fixed value,
lazy set it.
std::optional<int64_t> numBytes_;
};
diff --git a/cpp/core/utils/Metrics.h b/cpp/core/utils/Metrics.h
index f6e0365f97..c38e8b3c86 100644
--- a/cpp/core/utils/Metrics.h
+++ b/cpp/core/utils/Metrics.h
@@ -25,7 +25,6 @@ namespace gluten {
struct Metrics {
unsigned int numMetrics = 0;
- long veloxToArrow = 0;
// Structured metrics payload produced by the backend and decoded on JVM
side.
std::string json;
diff --git a/cpp/velox/compute/VeloxRuntime.h b/cpp/velox/compute/VeloxRuntime.h
index 5e1001a940..c854fb2461 100644
--- a/cpp/velox/compute/VeloxRuntime.h
+++ b/cpp/velox/compute/VeloxRuntime.h
@@ -89,9 +89,9 @@ class VeloxRuntime final : public Runtime {
const std::shared_ptr<PartitionWriter>& partitionWriter,
const std::shared_ptr<ShuffleWriterOptions>& options) override;
- Metrics* getMetrics(ColumnarBatchIterator* rawIter, int64_t exportNanos)
override {
+ Metrics* getMetrics(ColumnarBatchIterator* rawIter) override {
auto iter = static_cast<WholeStageResultIterator*>(rawIter);
- return iter->getMetrics(exportNanos);
+ return iter->getMetrics();
}
std::shared_ptr<ShuffleReader> createShuffleReader(
diff --git a/cpp/velox/compute/WholeStageResultIterator.h
b/cpp/velox/compute/WholeStageResultIterator.h
index fb2c9229ce..e7febfdadf 100644
--- a/cpp/velox/compute/WholeStageResultIterator.h
+++ b/cpp/velox/compute/WholeStageResultIterator.h
@@ -73,11 +73,8 @@ class WholeStageResultIterator : public
SplitAwareColumnarBatchIterator {
int64_t spillFixedSize(int64_t size) override;
- Metrics* getMetrics(int64_t exportNanos) {
+ Metrics* getMetrics() {
collectMetrics();
- if (metrics_) {
- metrics_->veloxToArrow = exportNanos;
- }
return metrics_.get();
}
diff --git a/cpp/velox/memory/VeloxColumnarBatch.cc
b/cpp/velox/memory/VeloxColumnarBatch.cc
index 038bd9f798..d54221c2b0 100644
--- a/cpp/velox/memory/VeloxColumnarBatch.cc
+++ b/cpp/velox/memory/VeloxColumnarBatch.cc
@@ -16,7 +16,6 @@
*/
#include "VeloxColumnarBatch.h"
#include "compute/VeloxRuntime.h"
-#include "utils/Timer.h"
#include "utils/VeloxArrowUtils.h"
#include "velox/row/UnsafeRowFast.h"
#include "velox/type/Type.h"
@@ -49,7 +48,6 @@ void VeloxColumnarBatch::ensureFlattened() {
if (flattened_) {
return;
}
- ScopedTimer timer(&exportNanos_);
for (auto& child : rowVector_->children()) {
facebook::velox::BaseVector::flattenVector(child);
if (child->isLazy()) {
diff --git a/cpp/velox/tests/RuntimeTest.cc b/cpp/velox/tests/RuntimeTest.cc
index df36ceaed1..d8b39ab474 100644
--- a/cpp/velox/tests/RuntimeTest.cc
+++ b/cpp/velox/tests/RuntimeTest.cc
@@ -102,7 +102,7 @@ class DummyRuntime final : public Runtime {
const std::shared_ptr<ShuffleWriterOptions>&) override {
throw GlutenException("Not yet implemented");
}
- Metrics* getMetrics(ColumnarBatchIterator* rawIter, int64_t exportNanos)
override {
+ Metrics* getMetrics(ColumnarBatchIterator* rawIter) override {
static Metrics m(0,
R"({"orderedNodeIds":[],"omittedNodeIds":[],"loadLazyVectorTime":0,"nodeStats":{}})");
return &m;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]