MCPcopy Create free account
hub / github.com/bytedance/bolt / verifyTaskSpilledRuntimeStats

Function verifyTaskSpilledRuntimeStats

bolt/exec/tests/HashJoinTest.cpp:117–156  ·  view source on GitHub ↗

Returns aggregated spilled runtime stats by build and probe operators from 'task'.

Source from the content-addressed store, hash-verified

115// Returns aggregated spilled runtime stats by build and probe operators from
116// 'task'.
117void verifyTaskSpilledRuntimeStats(const exec::Task& task, bool expectedSpill) {
118 auto stats = task.taskStats();
119 for (auto& pipeline : stats.pipelineStats) {
120 for (auto op : pipeline.operatorStats) {
121 if ((op.operatorType == "HashBuild") ||
122 (op.operatorType == "HashProbe")) {
123 if (!expectedSpill) {
124 ASSERT_EQ(op.runtimeStats["spillRuns"].count, 0);
125 ASSERT_EQ(op.runtimeStats["spillFillTime"].count, 0);
126 ASSERT_EQ(op.runtimeStats["spillSortTime"].count, 0);
127 ASSERT_EQ(op.runtimeStats["spillSerializationTime"].count, 0);
128 ASSERT_EQ(op.runtimeStats["spillFlushTime"].count, 0);
129 ASSERT_EQ(op.runtimeStats[Operator::kSpillWrites].count, 0);
130 ASSERT_EQ(op.runtimeStats["spillWriteTime"].count, 0);
131 } else {
132 if (op.operatorType == "HashBuild") {
133 ASSERT_GT(op.runtimeStats["spillRuns"].count, 0);
134 ASSERT_GT(op.runtimeStats["spillFillTime"].sum, 0);
135 } else {
136 ASSERT_EQ(op.runtimeStats["spillRuns"].count, 0);
137 ASSERT_EQ(op.runtimeStats["spillFillTime"].sum, 0);
138 }
139 ASSERT_EQ(op.runtimeStats["spillSortTime"].sum, 0);
140 ASSERT_GT(op.runtimeStats["spillSerializationTime"].sum, 0);
141 ASSERT_GE(op.runtimeStats["spillFlushTime"].sum, 0);
142 // NOTE: spill flush might take less than one microsecond.
143 ASSERT_GE(
144 op.runtimeStats["spillSerializationTime"].count,
145 op.runtimeStats["spillFlushTime"].count);
146 ASSERT_GT(op.runtimeStats[Operator::kSpillWrites].sum, 0);
147 ASSERT_GE(op.runtimeStats["spillWriteTime"].sum, 0);
148 // NOTE: spill flush might take less than one microsecond.
149 ASSERT_GE(
150 op.runtimeStats[Operator::kSpillWrites].count,
151 op.runtimeStats["spillWriteTime"].count);
152 }
153 }
154 }
155 }
156}
157
158static uint64_t getOutputPositions(
159 const std::shared_ptr<Task>& task,

Callers 4

runTestMethod · 0.85
TEST_PFunction · 0.85
TEST_FFunction · 0.85
DEBUG_ONLY_TEST_FFunction · 0.85

Calls 1

taskStatsMethod · 0.80

Tested by

no test coverage detected