beam icon indicating copy to clipboard operation
beam copied to clipboard

Stop using KV as the Key for Histogram Metrics

Open JayajP opened this issue 1 year ago • 2 comments

Currenlty, PerWorkerHistograms are in a Map that's keyed by KV<MetricName, BucketType>. After this change the map they're stored in will be Keyed by MetricName.

Computing a hash/equality for the KV object is non-trivial and has a fair amount of overhead src. Since we need to do a map lookup for the histogram metric every time we record a value, we can remove a lot of the overhead by simply using a map that's only Keyed by MetricName.

The first time a Histogram is requested for a <Metric Name, Bucket Type> we will use the BucketType to create the histogram object. Future requests for a Histogram for that Metric Name will return the original histogram object, regardless of what the future Bucket Type is. Since Bucket Types are statically defined, this change does not affect BigQuery Per Worker Metrics.


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.

See the Contributor Guide for more tips on how to make review process smoother.

To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md

GitHub Actions Tests Status (on master branch)

Build python source distribution and wheels Python tests Java tests Go tests

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

JayajP avatar May 03 '24 05:05 JayajP

R: @m-trieu

JayajP avatar May 03 '24 05:05 JayajP

Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control

github-actions[bot] avatar May 03 '24 05:05 github-actions[bot]