-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Update throttling counters to use generic throttling-msecs metric and dedicated namespace #19632
Comments
There are some throttling counters that don't follow that convention, eg the BQ streaming inserts throttling counter: https://github.com/apache/beam/blob/d91ea8e44918a7ef10ac8b33001cddab61bcedc5/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java#LL561C1-L562C71 How do you envision the end state to look? If there is a single metric for the throttling counter, should all IO's update only that counter? |
@ihji filed this one originally, I don't have a ton of context. @johnjcasey may have thoughts |
I don't have context on this. This looks like something that requires a bit of a doc to find the vision |
Dataflow side just discussed this a bit, so forwarding some key points: Beam Metrics over the FnAPI are always qualified by Transform, Namespace, Name, and additionally by Bundle. That last one is ephemeral, and used to get precise counters WRT bundle retries. So in that respect, a runner can already always "know" which transform a counter comes from, and then act accordingly. But for the most part, there's no reason to distinguish between transforms that are throttling. The key part then is deciding officially on a common "beam" namespace (I'd suggest So the hard part of this (aside from a dev list community discussion of the proposal) would be clearly documenting that the It's entirely possible that the community decision could be the name "throttling-msecs" is special by itself, and runners should pay attention to any and all of them for throttling decisions. But TBH I think that's only useful if a single DoFn has multiple RPC services to wait on. |
Update throttling counters to use generic throttling-msecs metric and dedicated namespace. Currently, throttle time metric is saved in a user counter that a namespace is a class name and a counter name is "cumulativeThrottlingSeconds".
Imported from Jira BEAM-7863. Original Jira may contain additional context.
Reported by: heejong.
The text was updated successfully, but these errors were encountered: