Repository navigation
docs: add NestedLoopJoinExec metrics to user-guide metrics page - #26246
nikolas-sapa wants to merge 1 commit into
Conversation
Part of apache#16602, closing apache#19045. Document the operator-level metrics NestedLoopJoinExec exposes in docs/source/user-guide/metrics.md, following the FilterExec (apache#19043) and HashJoinExec patterns: - the shared BuildProbeJoinMetrics (build_time, build_input_batches, build_input_rows, build_mem_used, join_time, input_batches, input_rows) and the join-level Summary selectivity metric (output_rows / (left_rows * right_rows)) - the spill metrics (spill_count, spilled_bytes, spilled_rows) surfaced during memory-limited execution Descriptions cross-checked against the source: BuildProbeJoinMetrics doc comments in datafusion/physical-plan/src/joins/utils.rs, NestedLoopJoinMetrics in joins/nested_loop_join.rs, SpillMetrics in datafusion-physical-expr-common, and MetricValue::name() for the spill_count field name.
|
Verified every documented metric against Build-probe metrics —
Spill metrics — Claims checked as well as names:
Formatting: both new tables are prettier-aligned (uniform line widths of 105 and 140 chars) and match the surrounding |
|
Thanks for the contribution! I am closing this under DataFusion's AI Dump policy. This has the hallmarks of AI code that was not reviewed by the author: a docs change followed by an unprompted self-comment citing exact source line numbers for each metric, from an author whose previous PR was closed under this policy. If you would like to continue, please open a focused PR in your own words that you have reviewed and understand, and we are happy to help with review. |
Which issue does this PR close?
NestedLoopJoinExecin the metrics user-guide #19045.Rationale for this change
#16602 asks for a documentation page covering the runtime metrics each operator
exposes.
FilterExec(#19043) andHashJoinExecare already documented;NestedLoopJoinExecwas left as an unchecked item on that list. Without thepage entry, the meaning of the build-probe and spill metrics a nested-loop join
reports in
EXPLAIN ANALYZEcan only be found by reading the operator source.What changes are included in this PR?
Adds a
NestedLoopJoinExecsection todocs/source/user-guide/metrics.md, inthe same shape as the existing
FilterExecandHashJoinExecsections:build_time,build_input_batches,build_input_rows,build_mem_used,join_time,input_batches,input_rows) and the join-levelselectivitymetric(output_rows / (left_rows * right_rows))
spill_count,spilled_bytes,spilled_rows) that theoperator surfaces during memory-limited execution, with a short explanation
of when that mode kicks in
selectivityis aSummary-level metric while the otheroperator-level metrics are
DevmetricsEvery description was cross-checked against the source rather than written from
imagination: the
BuildProbeJoinMetricsdoc comments indatafusion/physical-plan/src/joins/utils.rs,NestedLoopJoinMetricsinjoins/nested_loop_join.rs(including whereselectivity.add_total/add_partare updated),SpillMetricsindatafusion-physical-expr-common,and
MetricValue::name()for thespill_countfield name.Are these changes tested?
Documentation only, no code changes — no new tests needed. Formatting was
verified with
./ci/scripts/doc_prettier_check.sh(clean).Are there any user-facing changes?
User-facing documentation only: the metrics user-guide page now documents
NestedLoopJoinExecmetrics. No API or behavior changes.AI assistance disclosure
This PR was prepared with the assistance of an AI coding agent. Per the
AI policy:
I have personally read the entire diff above, verified every metric name and
description against the operator source listed in "What changes are included",
and I understand the selection (build-probe metrics shared via
BuildProbeJoinMetrics, the Summary-levelselectivityratio recorded inNestedLoopJoinMetrics, andSpillMetricsduring memory-limited execution)end-to-end. I am happy to respond to review comments myself and to adjust any
wording the reviewers prefer.