You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by "AnandInguva (via GitHub)" <gi...@apache.org> on 2023/10/10 19:50:05 UTC
[PR] Add counter for MLTransform and data processing transforms [beam]
AnandInguva opened a new pull request, #28927:
URL: https://github.com/apache/beam/pull/28927
Adds counters to the MLTransform and data processing transforms.
------------------------
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
- [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
- [ ] Update `CHANGES.md` with noteworthy changes.
- [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://github.com/apache/beam/blob/master/CONTRIBUTING.md#make-the-reviewers-job-easier).
To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
GitHub Actions Tests Status (on master branch)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI or the [workflows README](https://github.com/apache/beam/blob/master/.github/workflows/README.md) to see a list of phrases to trigger workflows.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add counter for MLTransform and data processing transforms [beam]
Posted by "AnandInguva (via GitHub)" <gi...@apache.org>.
AnandInguva merged PR #28927:
URL: https://github.com/apache/beam/pull/28927
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add counter for MLTransform and data processing transforms [beam]
Posted by "AnandInguva (via GitHub)" <gi...@apache.org>.
AnandInguva commented on code in PR #28927:
URL: https://github.com/apache/beam/pull/28927#discussion_r1355124218
##########
sdks/python/apache_beam/ml/transforms/base.py:
##########
@@ -230,3 +244,26 @@ def _validate_transform(self, transform):
raise TypeError(
'transform must be a subclass of BaseOperation. '
'Got: %s instead.' % type(transform))
+
+
+class MLTransformMetricsUsage(beam.PTransform):
+ def __init__(self, ml_transform: MLTransform):
+ self._ml_transform = ml_transform
+ self._ml_transform._counter.inc()
+
+ def expand(self, pipeline):
+ def _increment_counters():
+ # increment for MLTransform.
+ self._ml_transform._counter.inc()
+ # increment if data processing transforms are passed.
+ transforms = (
+ self._ml_transform.transforms or
+ self._ml_transform._process_handler.transforms)
+ if transforms:
+ for transform in transforms:
+ transform.get_counter().inc()
+
+ _ = (
+ pipeline
+ | beam.Create([None])
Review Comment:
In this context, we only need to update the metrics once and i find this to be the easy way to do it. This is similar to how TFT does it. I needed the same behavior but in our MLTransform so I replicated it from https://source.corp.google.com/piper///depot/google3/third_party/py/tensorflow_transform/beam/impl.py;l=922?q=tft_mapper_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add counter for MLTransform and data processing transforms [beam]
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #28927:
URL: https://github.com/apache/beam/pull/28927#issuecomment-1756153537
## [Codecov](https://app.codecov.io/gh/apache/beam/pull/28927?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
> Merging [#28927](https://app.codecov.io/gh/apache/beam/pull/28927?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (c064082) into [master](https://app.codecov.io/gh/apache/beam/commit/e130352d7c7eee8503e82c5e921126d12b88a111?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (e130352) will **decrease** coverage by `0.02%`.
> Report is 4 commits behind head on master.
> The diff coverage is `26.31%`.
```diff
@@ Coverage Diff @@
## master #28927 +/- ##
==========================================
- Coverage 72.16% 72.15% -0.02%
==========================================
Files 686 686
Lines 101554 101573 +19
==========================================
+ Hits 73291 73292 +1
- Misses 26684 26702 +18
Partials 1579 1579
```
| [Flag](https://app.codecov.io/gh/apache/beam/pull/28927/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [python](https://app.codecov.io/gh/apache/beam/pull/28927/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `82.59% <26.31%> (-0.03%)` | :arrow_down: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Files](https://app.codecov.io/gh/apache/beam/pull/28927?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [sdks/python/apache\_beam/ml/transforms/base.py](https://app.codecov.io/gh/apache/beam/pull/28927?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c2Rrcy9weXRob24vYXBhY2hlX2JlYW0vbWwvdHJhbnNmb3Jtcy9iYXNlLnB5) | `49.38% <26.31%> (-7.07%)` | :arrow_down: |
... and [4 files with indirect coverage changes](https://app.codecov.io/gh/apache/beam/pull/28927/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add counter for MLTransform and data processing transforms [beam]
Posted by "riteshghorse (via GitHub)" <gi...@apache.org>.
riteshghorse commented on PR #28927:
URL: https://github.com/apache/beam/pull/28927#issuecomment-1757695018
Run Portable_Python PreCommit
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add counter for MLTransform and data processing transforms [beam]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #28927:
URL: https://github.com/apache/beam/pull/28927#issuecomment-1756160650
Assigning reviewers. If you would like to opt out of this review, comment `assign to next reviewer`:
R: @riteshghorse for label python.
Available commands:
- `stop reviewer notifications` - opt out of the automated review tooling
- `remind me after tests pass` - tag the comment author after tests pass
- `waiting on author` - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)
The PR bot will only process comments in the main thread (not review comments).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add counter for MLTransform and data processing transforms [beam]
Posted by "riteshghorse (via GitHub)" <gi...@apache.org>.
riteshghorse commented on code in PR #28927:
URL: https://github.com/apache/beam/pull/28927#discussion_r1355137258
##########
sdks/python/apache_beam/ml/transforms/base.py:
##########
@@ -230,3 +244,26 @@ def _validate_transform(self, transform):
raise TypeError(
'transform must be a subclass of BaseOperation. '
'Got: %s instead.' % type(transform))
+
+
+class MLTransformMetricsUsage(beam.PTransform):
+ def __init__(self, ml_transform: MLTransform):
+ self._ml_transform = ml_transform
+ self._ml_transform._counter.inc()
+
+ def expand(self, pipeline):
+ def _increment_counters():
+ # increment for MLTransform.
+ self._ml_transform._counter.inc()
+ # increment if data processing transforms are passed.
+ transforms = (
+ self._ml_transform.transforms or
+ self._ml_transform._process_handler.transforms)
+ if transforms:
+ for transform in transforms:
+ transform.get_counter().inc()
+
+ _ = (
+ pipeline
+ | beam.Create([None])
Review Comment:
oh got it, thanks for clarification!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add counter for MLTransform and data processing transforms [beam]
Posted by "riteshghorse (via GitHub)" <gi...@apache.org>.
riteshghorse commented on code in PR #28927:
URL: https://github.com/apache/beam/pull/28927#discussion_r1355010783
##########
sdks/python/apache_beam/ml/transforms/base.py:
##########
@@ -230,3 +244,26 @@ def _validate_transform(self, transform):
raise TypeError(
'transform must be a subclass of BaseOperation. '
'Got: %s instead.' % type(transform))
+
+
+class MLTransformMetricsUsage(beam.PTransform):
+ def __init__(self, ml_transform: MLTransform):
+ self._ml_transform = ml_transform
+ self._ml_transform._counter.inc()
+
+ def expand(self, pipeline):
+ def _increment_counters():
+ # increment for MLTransform.
+ self._ml_transform._counter.inc()
+ # increment if data processing transforms are passed.
+ transforms = (
+ self._ml_transform.transforms or
+ self._ml_transform._process_handler.transforms)
+ if transforms:
+ for transform in transforms:
+ transform.get_counter().inc()
+
+ _ = (
+ pipeline
+ | beam.Create([None])
Review Comment:
more of a understanding question - why do we create an empty pcollection here instead of directly appending to pipeline?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add counter for MLTransform and data processing transforms [beam]
Posted by "riteshghorse (via GitHub)" <gi...@apache.org>.
riteshghorse commented on PR #28927:
URL: https://github.com/apache/beam/pull/28927#issuecomment-1757701101
Run Python_PVR_Flink PreCommit
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org