@@ -63,6 +63,7 @@ public class OperatorStats
63
63
private final Duration getOutputCpu ;
64
64
private final DataSize outputDataSize ;
65
65
private final long outputPositions ;
66
+ private final long updatedPositions ;
66
67
67
68
private final long dynamicFilterSplitsProcessed ;
68
69
private final Metrics metrics ;
@@ -118,6 +119,7 @@ public OperatorStats(
118
119
@ JsonProperty ("getOutputCpu" ) Duration getOutputCpu ,
119
120
@ JsonProperty ("outputDataSize" ) DataSize outputDataSize ,
120
121
@ JsonProperty ("outputPositions" ) long outputPositions ,
122
+ @ JsonProperty ("updatedPositions" ) long updatedPositions ,
121
123
122
124
@ JsonProperty ("dynamicFilterSplitsProcessed" ) long dynamicFilterSplitsProcessed ,
123
125
@ JsonProperty ("metrics" ) Metrics metrics ,
@@ -175,6 +177,8 @@ public OperatorStats(
175
177
this .outputDataSize = requireNonNull (outputDataSize , "outputDataSize is null" );
176
178
checkArgument (outputPositions >= 0 , "outputPositions is negative" );
177
179
this .outputPositions = outputPositions ;
180
+ checkArgument (updatedPositions >= 0 , "updatedPositions is negative" );
181
+ this .updatedPositions = updatedPositions ;
178
182
179
183
this .dynamicFilterSplitsProcessed = dynamicFilterSplitsProcessed ;
180
184
this .metrics = requireNonNull (metrics , "metrics is null" );
@@ -341,6 +345,12 @@ public long getOutputPositions()
341
345
return outputPositions ;
342
346
}
343
347
348
+ @ JsonProperty
349
+ public long getUpdatedPositions ()
350
+ {
351
+ return updatedPositions ;
352
+ }
353
+
344
354
@ JsonProperty
345
355
public long getDynamicFilterSplitsProcessed ()
346
356
{
@@ -486,6 +496,7 @@ private OperatorStats add(Iterable<OperatorStats> operators, Optional<Metrics> p
486
496
long getOutputCpu = this .getOutputCpu .roundTo (NANOSECONDS );
487
497
long outputDataSize = this .outputDataSize .toBytes ();
488
498
long outputPositions = this .outputPositions ;
499
+ long updatedPositions = this .updatedPositions ;
489
500
490
501
long dynamicFilterSplitsProcessed = this .dynamicFilterSplitsProcessed ;
491
502
Metrics .Accumulator metricsAccumulator = Metrics .accumulator ().add (this .getMetrics ());
@@ -536,6 +547,7 @@ private OperatorStats add(Iterable<OperatorStats> operators, Optional<Metrics> p
536
547
getOutputCpu += operator .getGetOutputCpu ().roundTo (NANOSECONDS );
537
548
outputDataSize += operator .getOutputDataSize ().toBytes ();
538
549
outputPositions += operator .getOutputPositions ();
550
+ updatedPositions += operator .getUpdatedPositions ();
539
551
540
552
dynamicFilterSplitsProcessed += operator .getDynamicFilterSplitsProcessed ();
541
553
metricsAccumulator .add (operator .getMetrics ());
@@ -597,6 +609,7 @@ private OperatorStats add(Iterable<OperatorStats> operators, Optional<Metrics> p
597
609
new Duration (getOutputCpu , NANOSECONDS ).convertToMostSuccinctTimeUnit (),
598
610
DataSize .ofBytes (outputDataSize ),
599
611
outputPositions ,
612
+ updatedPositions ,
600
613
601
614
dynamicFilterSplitsProcessed ,
602
615
metricsAccumulator .get (),
@@ -669,6 +682,7 @@ public OperatorStats pruneDigests()
669
682
getOutputCpu ,
670
683
outputDataSize ,
671
684
outputPositions ,
685
+ updatedPositions ,
672
686
dynamicFilterSplitsProcessed ,
673
687
pruneMetrics (metrics ),
674
688
pruneMetrics (connectorMetrics ),
@@ -718,6 +732,7 @@ public OperatorStats summarize()
718
732
getOutputCpu ,
719
733
outputDataSize ,
720
734
outputPositions ,
735
+ updatedPositions ,
721
736
dynamicFilterSplitsProcessed ,
722
737
metrics ,
723
738
connectorMetrics ,
@@ -763,6 +778,7 @@ public OperatorStats withPipelineMetrics(Metrics pipelineMetrics)
763
778
getOutputCpu ,
764
779
outputDataSize ,
765
780
outputPositions ,
781
+ updatedPositions ,
766
782
dynamicFilterSplitsProcessed ,
767
783
metrics ,
768
784
connectorMetrics ,
0 commit comments