-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
add step to evaluate s2sconfig timeout #3291
Closed
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
In general I'm ok with shaving the timeout, but unclear 75% is the right number for every case. How about
s2sConfig.timeoutBufferPercent
?Shouldn't this be
auctionTimeout * PERCENT <= adapterTimeout
?Consider these scenarios:
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.
agree with Bret's suggestion of
auctionTimeout * PERCENT <= adapterTimeout
, except that we don't need theor equal
part.<
is good enough. Don't need to reset the value if they are equal.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. Jason is out this week so will wait for him to get back and update this.
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.
@bretg
I was thinking we could one day extend the use of the
evaluteTimeout
function to also work with the client-side adapters as well. So instead of setting the coefficient value in thes2sConfig
, what if we created another variable in the generalsetConfig
to house the coefficient (ie similar tobidderTimeout
)? That way it would generally available and consistent throughout the auction.As a follow-up either way - if we were to set the value through a config, should we have a default/backup value setup and if so, what value should it be if not 75%? I set it to 75% as I thought it was a reasonable chunk of the auction's time to allow adapters to respond in most cases.
I see your point about adjusting the if logic, I'll make those changes.
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.
@bretg Any thoughts on the above?
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.
So you propose putting the
adapterTimeoutBufferPercent
config at the top level of setConfig. Honestly I think this could get confused with the similarly namedtimeoutBuffer
(http://prebid.org/dev-docs/publisher-api-reference.html#setConfig-timeoutBuffer), which is a rather different thing.Stepping back, I feel that an option to lower the timeout on the client side to account for network delay works directly against the existing
timeoutBuffer
, which raises the timeout. I think users may be challenged to determine which of these they need and what values to set to them to.My position is that the Prebid.js PMC should establish a timeout rationale:
Here's a cut at a rationale that contains 5 flavors of timeout values:
user-specified timeout
value given to PBJS (bidderTimeout).effective framework timeout
-- PBJS adds 400ms (or timeoutBuffer) to this value and then calls bidsBackHandler when the timer pops.user-specified server adapter timeout
(s2sConfig.timeout) - what we currently tell PBS it's timeout iseffective adapter timeout
(the thing that's new to this PR, perhaps calculated as bidderTimeout * adapterTimeoutBufferPercent) - this is what's sent to adapters so they make an effort to hurry back with their responses.failsafe timeout
- a timer the page puts around PBJS as a whole. http://prebid.org/dev-docs/faq.html#when-starting-out-what-should-my-timeouts-be@mkendall07 to weigh in.