-
Notifications
You must be signed in to change notification settings - Fork 715
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
Separate "debug" behavior from "billable" behavior #745
Comments
This is done for PBS-Java. @hhhjort - let me know when PBS-Go is ready. Then we can update the PBJS PBSbidadapter to send |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
If the publisher does not turn the flag off then this can skew timing analytics, trigger unusual pattern alerts and increase server egress costs. Maybe there should be a way to rate-limit such requests or control them server-side. |
That's a good point @laurb9 , but if the debug or test flag is rate-limited, how will you tell which requests really need it? i.e. if we added a "sample" flag to say "only actually debug on 10% of debug requests", then testers who really want the debug would have to hit it 10 times to get one. While I agree that leaving debugging on for all site traffic for any length of time is a bad idea, I lean towards thinking this is a documentation and operational problem, not something to configure. |
I agree with @bretg on not building this in to PBS. Rate limiting is also hard to get right. Most (all?) hosts have multiple servers and would need infrastructure to coordinate between servers on rate limiting stats. PBC has a naive approach built in, but it uses a lot of memory and is isolated to each machine, so it's not even very effective. @laurb9 How would you feel if we add metrics to track per-account the number of requests received that requested debug information as either the test or debug flags? That'll at least give the host companies operational information to potentially act on. |
@SyntaxNode that should be fine, it could help correlate with observed increased latency. We don't have a lot of account metrics. I think if and when #1426 makes it in and we have account configurations, I should be able to turn it off at account level if necessary. It is not a priority by any means, I only want to point out that possibility exists for accidental abuse in an environment where otherwise corrective action relies on third party so could be slow. |
I'm closing this issue since the functionality is available in both PBS-Go and PBS-Java. @laurb9 I created a new issue to for debug metrics. If there's any other feature request suggestions you'd like to share, please open them as new issues. |
Motivation
One of our consultants surfaced the following publisher workflow. According to him, it's quite common.
debug
mode to verify it.debug
mode enabled.debug
info & analytics data to make sure that prod is working.4? Maybe remove debug mode once everything's working.
To be clear, publishers should do (4). Debug info makes the PBS Response huge, which will have a major impact on site performance.
But during that transition period, it's still reasonable to want debug info and billable impressions.
Enter: our current predicament. In Prebid Server today,
test
is synonymous withdebug
. And the OpenRTB spec definesbidrequest.test
to be:It looks like I made a bad choice, here. Our current API doesn't support Publishers during this transition period, when they want debug info and billable impressions.
Feature Request
Add support for a boolean
request.ext.prebid.debug
flag. If present, we should send all the same debug info that we do today whenrequest.test == 1
.For backwards compatibility, we will still need to send debug info when
request.test
is1
as well.After completion
When this ticket closes, we'll need to open two new issues:
To Prebid.js, change the
prebidServerBidAdapter
so that it sendsrequest.ext.prebid.debug
rather thanrequest.test
when in debug mode.To Prebid Server: In the future, stop responding with debug info when
"test": 1
. Once thedebug
flag exists, this behavior will be confusing.The text was updated successfully, but these errors were encountered: