@@ -66,6 +66,19 @@ public class GenericPlanNode {
6666 // plans[0..n].totalTimeActual)
6767 private Double totalTimeActual ;
6868
69+ // Telemetry counters captured while iterating this node during executed/timed explanations.
70+ private Long hasNextCallCountActual ;
71+ private Long hasNextTrueCountActual ;
72+ private Long hasNextTimeNanosActual ;
73+ private Long nextCallCountActual ;
74+ private Long nextTimeNanosActual ;
75+ private Long joinRightIteratorsCreatedActual ;
76+ private Long joinLeftBindingsConsumedActual ;
77+ private Long joinRightBindingsConsumedActual ;
78+ private Long sourceRowsScannedActual ;
79+ private Long sourceRowsMatchedActual ;
80+ private Long sourceRowsFilteredActual ;
81+
6982 // true if this node introduces a new scope
7083 private Boolean newScope ;
7184
@@ -176,6 +189,116 @@ public void setTotalTimeActual(Double totalTimeActual) {
176189 }
177190 }
178191
192+ public Long getHasNextCallCountActual () {
193+ return hasNextCallCountActual ;
194+ }
195+
196+ public void setHasNextCallCountActual (Long hasNextCallCountActual ) {
197+ if (hasNextCallCountActual != null && hasNextCallCountActual >= 0 ) {
198+ this .hasNextCallCountActual = hasNextCallCountActual ;
199+ }
200+ }
201+
202+ public Long getHasNextTrueCountActual () {
203+ return hasNextTrueCountActual ;
204+ }
205+
206+ public void setHasNextTrueCountActual (Long hasNextTrueCountActual ) {
207+ if (hasNextTrueCountActual != null && hasNextTrueCountActual >= 0 ) {
208+ this .hasNextTrueCountActual = hasNextTrueCountActual ;
209+ }
210+ }
211+
212+ public Long getHasNextTimeNanosActual () {
213+ return hasNextTimeNanosActual ;
214+ }
215+
216+ public void setHasNextTimeNanosActual (Long hasNextTimeNanosActual ) {
217+ if (hasNextTimeNanosActual != null && hasNextTimeNanosActual >= 0 ) {
218+ this .hasNextTimeNanosActual = hasNextTimeNanosActual ;
219+ }
220+ }
221+
222+ public Long getNextCallCountActual () {
223+ return nextCallCountActual ;
224+ }
225+
226+ public void setNextCallCountActual (Long nextCallCountActual ) {
227+ if (nextCallCountActual != null && nextCallCountActual >= 0 ) {
228+ this .nextCallCountActual = nextCallCountActual ;
229+ }
230+ }
231+
232+ public Long getNextTimeNanosActual () {
233+ return nextTimeNanosActual ;
234+ }
235+
236+ public void setNextTimeNanosActual (Long nextTimeNanosActual ) {
237+ if (nextTimeNanosActual != null && nextTimeNanosActual >= 0 ) {
238+ this .nextTimeNanosActual = nextTimeNanosActual ;
239+ }
240+ }
241+
242+ public Long getJoinRightIteratorsCreatedActual () {
243+ return joinRightIteratorsCreatedActual ;
244+ }
245+
246+ public void setJoinRightIteratorsCreatedActual (Long joinRightIteratorsCreatedActual ) {
247+ if (joinRightIteratorsCreatedActual != null && joinRightIteratorsCreatedActual >= 0 ) {
248+ this .joinRightIteratorsCreatedActual = joinRightIteratorsCreatedActual ;
249+ }
250+ }
251+
252+ public Long getJoinLeftBindingsConsumedActual () {
253+ return joinLeftBindingsConsumedActual ;
254+ }
255+
256+ public void setJoinLeftBindingsConsumedActual (Long joinLeftBindingsConsumedActual ) {
257+ if (joinLeftBindingsConsumedActual != null && joinLeftBindingsConsumedActual >= 0 ) {
258+ this .joinLeftBindingsConsumedActual = joinLeftBindingsConsumedActual ;
259+ }
260+ }
261+
262+ public Long getJoinRightBindingsConsumedActual () {
263+ return joinRightBindingsConsumedActual ;
264+ }
265+
266+ public void setJoinRightBindingsConsumedActual (Long joinRightBindingsConsumedActual ) {
267+ if (joinRightBindingsConsumedActual != null && joinRightBindingsConsumedActual >= 0 ) {
268+ this .joinRightBindingsConsumedActual = joinRightBindingsConsumedActual ;
269+ }
270+ }
271+
272+ public Long getSourceRowsScannedActual () {
273+ return sourceRowsScannedActual ;
274+ }
275+
276+ public void setSourceRowsScannedActual (Long sourceRowsScannedActual ) {
277+ if (sourceRowsScannedActual != null && sourceRowsScannedActual >= 0 ) {
278+ this .sourceRowsScannedActual = sourceRowsScannedActual ;
279+ }
280+ }
281+
282+ public Long getSourceRowsMatchedActual () {
283+ return sourceRowsMatchedActual ;
284+ }
285+
286+ public void setSourceRowsMatchedActual (Long sourceRowsMatchedActual ) {
287+ if (sourceRowsMatchedActual != null && sourceRowsMatchedActual >= 0 ) {
288+ this .sourceRowsMatchedActual = sourceRowsMatchedActual ;
289+ }
290+ }
291+
292+ public Long getSourceRowsFilteredActual () {
293+ return sourceRowsFilteredActual ;
294+ }
295+
296+ public void setSourceRowsFilteredActual (Long sourceRowsFilteredActual ) {
297+ if (sourceRowsFilteredActual != null && sourceRowsFilteredActual >= 0 ) {
298+ this .sourceRowsFilteredActual = sourceRowsFilteredActual ;
299+ }
300+ }
301+
179302 public void setTimedOut (Boolean timedOut ) {
180303 this .timedOut = timedOut ;
181304 }
0 commit comments