We should minimize the volume of exposure events.
At the very least, exposure events should not be sent more than once per experiment per page view even if there are multiple logExposure() calls on a page. Ideally, however, exposure events would not be sent more than once per experiment per epoch.
Design of memory mechanism
Remembering if exposure was logged on the web
For JS and PHP implementation proposals refer to T414740#11635559
Acceptance criteria
- Experiment#sendExposure() only produces 1 experiment_exposure event per experiment per epoch
- Test Kitchen PHP SDK
- Test Kitchen JS SDK
- Automated tests
- Update documentation (see the note about minimization of volume being a work in progress in https://wikitech.wikimedia.org/wiki/Test_Kitchen/Conduct_an_experiment#Exposure_logging)