-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Measure isBlocked and isFinished operator calls #10923
Conversation
✅ Deploy Preview for meta-velox canceled.
|
62e0f60
to
8b457e7
Compare
34d307d
to
53f061a
Compare
@Yuhta @xiaoxmeng Can you please review this? Thanks! |
@@ -1184,7 +1184,7 @@ DEBUG_ONLY_TEST_F(TaskTest, liveStats) { | |||
EXPECT_EQ(32 * numBatches, operatorStats.outputBytes); | |||
EXPECT_EQ(3 * numBatches, operatorStats.outputPositions); | |||
EXPECT_EQ(numBatches, operatorStats.outputVectors); | |||
EXPECT_EQ(1, operatorStats.finishTiming.count); | |||
EXPECT_EQ(2, operatorStats.finishTiming.count); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a way to check isBlockedTiming
e.g. in HashProbe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes. I just added it to this test.
for (auto i = 0; i < numBatches; ++i) {
...
EXPECT_EQ(2 * (i + 1), operatorStats.isBlockedTiming.count);
Sorry I didn't add it until now. I was blocked by the build issues for a long time.
9e68cc9
to
1f1285f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@yingsu00 LGTM and can you complete the test? Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@yingsu00 thanks!
@xiaoxmeng has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
velox/exec/tests/TaskTest.cpp
Outdated
@@ -1184,7 +1185,8 @@ DEBUG_ONLY_TEST_F(TaskTest, liveStats) { | |||
EXPECT_EQ(32 * numBatches, operatorStats.outputBytes); | |||
EXPECT_EQ(3 * numBatches, operatorStats.outputPositions); | |||
EXPECT_EQ(numBatches, operatorStats.outputVectors); | |||
EXPECT_EQ(1, operatorStats.finishTiming.count); | |||
EXPECT_EQ(2 * numBatches, operatorStats.isBlockedTiming.count); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like this condition is failing in the tests
7210e9f
to
b8705e6
Compare
For some operators, the isBlocked() function call is non-trivial. This commit adds the isBlockedTiming to OperatorStats and count it in Driver::runInternal(). It also count the isFinished() operator which was previously missed being counted.. Note that this does not include the Presto protocol change, which will be done later.
@xiaoxmeng has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
@xiaoxmeng merged this pull request in f4ca3c6. |
Conbench analyzed the 1 benchmark run on commit There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats.
Summary: In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats. Pull Request resolved: facebookincubator#11361 Reviewed By: gggrace14 Differential Revision: D66692332 Pulled By: xiaoxmeng fbshipit-source-id: b09ac85408f79c1f77b9685977f9dd696296f71a
) Summary: Pull Request resolved: facebookincubator#10923 Reviewed By: kevinwilfong Differential Revision: D63659424 Pulled By: xiaoxmeng fbshipit-source-id: 3f0081fbef6d523f8cd8bee371cf8eab82407b0a
Summary: In previous commit facebookincubator#10923, we added isBlockedTiming to OperatorStats. This commit adds it to PlanNodeStats. Pull Request resolved: facebookincubator#11361 Reviewed By: gggrace14 Differential Revision: D66692332 Pulled By: xiaoxmeng fbshipit-source-id: b09ac85408f79c1f77b9685977f9dd696296f71a
nextOp, | ||
curOperatorId_ + 1, | ||
kOpMethodIsBlocked); | ||
withDeltaCpuWallTimer(op, &OperatorStats::isBlockedTiming, [&]() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be nextOp
here, The time consumed by nextOp->isBlocked()
counted here should be accumulated to nextOp
, not op
.
See #12173
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will see this might take some time
No description provided.