-
Notifications
You must be signed in to change notification settings - Fork 247
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
Explainer for PA per-participant metrics #1272
Conversation
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.
Thanks for the feedback!
@@ -255,6 +256,85 @@ The `reserved.always` event-type is a special value that indicates a report shou | |||
matter whether a bid wins the auction or not. The browser will always trigger reporting for the | |||
`always` contributions. | |||
|
|||
## Per-participant metrics | |||
|
|||
More recent versions of Chrome offer some additional features, focused on measuring resource |
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.
M130 intends to enable Bidding & Auction Services by default. Does the new Per-Participant capabilities for now apply only to "classic" FLEDGE on-device auctions?
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.
Practically, yeah, there is no support for B&A. It would need to be added to the B&A server (when it sends over PrivateAggregation stuff it just sends over the computed bucket and value numbers, no baseValues at this point).
... But I think it won't need any Chrome-side changes.
See WICG/turtledove#1272 for more context. Bug: 361262468 Change-Id: I439706b8147aa8d75140ad07931bb24aea78248f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5782999 Reviewed-by: Caleb Raitto <[email protected]> Commit-Queue: Maks Orlovich <[email protected]> Reviewed-by: Joe Mason <[email protected]> Cr-Commit-Position: refs/heads/main@{#1359340}
In particular: regular-igs-count, percent-regular-ig-count-quota-used, negative-igs-count, percent-negative-ig-count-quota-used, ig-storage-used, percent-ig-storage-quota-used See WICG/turtledove#1272 for more context. Bug: 361262468 Change-Id: I4098696d1d6eca9f573ae500c754fc8c8f13a92b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5789141 Commit-Queue: Maks Orlovich <[email protected]> Reviewed-by: Ken Buchanan <[email protected]> Reviewed-by: Caleb Raitto <[email protected]> Cr-Commit-Position: refs/heads/main@{#1360186}
@morlovich @alexmturner Having more metrics raises the importance of ticket #1084 because currently for timings a large key space must be allocated and overlap of buckets are not handled. |
A lot of these are bounded (...though some by configuration which may be under a different party's control). cumulative-buyer-time is bounded by configured limit plus 1000 (if there is no limit configured, it's 0). Hmm, I guess network times are technically not bounded, and maybe I should add that. The fetch itself does have a 30 second timeout, but there is some sloppiness in measurement. Similarly for script-run-time --- the actual execution has a timeout, but the measured time may be slightly You do also have 128-bits of address space, however, so you can just give 2^64 metrics 2^64 space each. The values are initially measured as floats, and then after application of your scale and offset truncated. |
What is the unit and precision of the percentages (int vs float) ? Technically if values are close, 99.5 and 99.9% can make a difference.
Which network fetch exactly because it looks low to me in general ? Do you have the Chromium source code for that ?
The client should be able to decide on how to bound and bucketize them based on the use case. It should not be hardcoded.
My understanding is that this is not how it works. For timers if I allocate 2^64 I cannot use this for something else. But I let @alexmturner confirm or explain why it would work. |
They starts as a double. Then scale and offset are applied, and the result is converted to an int.
scripts/wasm, trusted signals (might not be the case for them for V2 protocol, not sure).
Well, I mean you make first histogram have bucket offset 0, second have offset 0x100000000 , third 0x200000000, etc. (however one specifies hex for bigints in JS, anyway). |
Co-authored-by: Paul Jensen <[email protected]>
SHA: 6395988 Reason: push, by JensenPaul Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Please note that most of this isn't landed yet (which does mean that feedback is more actionable).