The new event client features will be folded into the existing EventLogging extension in phases. Hopefully this will streamline code review and make it easier for us to manage the work. Each phase has its own task, since each phase will be its own patch. Things may change. For now, here is an outline of the phases:
[] Phase 1 (Base API)
- Events are sent using HTTP POST to an EventGate instance
- Stream configuration data is loaded by the extension and used to format events
[] Phase 2 (Stream CCing)
- Events for a stream `foo` will be copied to any stream matching `foo.*`, and have the stream logic for `foo.*` applied to it.
[] Phase 3 (Sampling)
- Per-stream uniform sampling rate can be set by a stream configuration field.
[] Phase 4 (Association)
- Pageview identifiers
- Session identifiers
A rough outline in JavaScript code is provided at: https://github.com/linehan/el-epc-patch-phases.