- 
                Notifications
    
You must be signed in to change notification settings  - Fork 21
 
AB testing for ads services #94
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
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.
Looks great! Tested successfully with the test steps. Note that I do not have enough Java knowledge to give good feedback on the updates in java/adsjava, but everything worked as expected.
No blocking feedback - only thought is, it would be useful if somewhere there is documentation specifically about how to turn on A/B testing that covers the steps across the various files. It's well covered under Nginx/Service Proxy Configuration VariablesinREADME, but if I was thinking trying to turn on A/B testing and going to scan the READMEI'm not sure it would be obvious to me where to find the info.  TheFeature flags section is a good example of what I would be looking for I think. This is minor though - the comments and updates to the README are probably sufficient for most.
Co-authored-by: Tara Schofield <taradschofield@gmail.com>
Description
This branch adds the ability to enable AB testing on ads services. You can run two ads services and define what percent of the traffic you want to route to
ADS_B.The default behavior does not require these
ADS_*variables to be set. Nginx will default toads:3030.When the
ADS_B_PERCENTis greater than0, you will need to defineADS_B_UPSTREAMand uncomment theads-pythonservice section ofdocker-compose.yml. You can also setADS_A_UPSTREAMto a different value if needed.Also updated nginx and postgres default
DD_VERSIONvalues to be the actual versions used.Important
The branch is based on the
ads-java-postgresbranch and should be merged after that branch.How to test
Clone the repo
Checkout this branch
Uncomment the
ads-pythonservice section ofdocker-compose.dev.ymlSet the
ADS_B_PERCENTvalue as a local env, in the.envfile, or directly indocker-compose.dev.ymlto a value greater than zero.run
docker compose -f docker-compose.dev.yml up -dView trace data to see both
store-adsandstore-ads-pythonpresent