-
Notifications
You must be signed in to change notification settings - Fork 435
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
[Gluten-986]Align and enrich Scan operator metrics #987
Conversation
Thanks for opening a pull request! Could you open an issue for this pull request on Github Issues? https://github.com/oap-project/gluten/issues Then could you also rename commit message and pull request title in the following format?
See also: |
@rui-mo Thanks your reply. |
@Yohahaha just moted the PR, we use totaltime_xxx to breakdown the operator elapsed time as below. The PR changed all to "cpu time". Can you revert them? "wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_window"), |
"count" -> SQLMetrics.createMetric(sparkContext, "cpu wall time count"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_filter"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), | ||
"cpuNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "cpu time"), |
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.
totaltime_filter
"count" -> SQLMetrics.createMetric(sparkContext, "cpu wall time count"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_project"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), | ||
"cpuNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "cpu time"), |
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.
totaltime_project
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_batchscan"), | ||
"scanTime" -> SQLMetrics.createTimingMetric(sparkContext, "total scan time"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), | ||
"cpuNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "cpu time"), |
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.
totaltime_batchscan
"count" -> SQLMetrics.createMetric(sparkContext, "cpu wall time count"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_expand"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), | ||
"cpuNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "cpu time"), |
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.
totaltime_expand
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_filescan"), | ||
"scanTime" -> SQLMetrics.createTimingMetric(sparkContext, "total scan time"), | ||
"scanTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, "scan time"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), |
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.
here
"count" -> SQLMetrics.createMetric(sparkContext, "cpu wall time count"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_input"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), | ||
"cpuNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "cpu time"), |
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.
totaltime_input
"count" -> SQLMetrics.createMetric(sparkContext, "cpu wall time count"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_limit"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), | ||
"cpuNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "cpu time"), |
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.
here
"count" -> SQLMetrics.createMetric(sparkContext, "cpu wall time count"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_sort"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), | ||
"cpuNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "cpu time"), |
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.
here
"count" -> SQLMetrics.createMetric(sparkContext, "cpu wall time count"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "totaltime_window"), | ||
"wallNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "wall time"), | ||
"cpuNanos" -> SQLMetrics.createNanoTimingMetric(sparkContext, "cpu time"), |
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.
Here
@FelixYBW Sorry for the inconvenience, and I will open a PR to change them back. |
@FelixYBW Revert |
No, let's submit another PR just rename the totaltime related. Other modification are OK
|
The metrics just needs to starts with "totaltime" we can use totaltime to xxx or totaltime of xxx |
The tool is upstreamed to Gazelle already, you can find it here: https://github.com/oap-project/gazelle_plugin/tree/main/tools But Gluten needs some modification, will do later. |
@FelixYBW Is any one will submit a pr to do these rename work? I haven't seen the relevant pr, and I could do it. |
What changes were proposed in this pull request?
Velox has supports to count scan IO time in this pr facebookincubator/velox#4026.
Gluten's Scan operator lack of
scanTime
metric, this pr will fix this problem.Use cpu nanos instead of cpu count.
How was this patch tested?