Add snowplow custom emitter
What does this MR do and why?
Add a custom async emitter to debug #562794
Code changes summary:
- Creating a new custom emitter feature flag configuration that's disabled by default
- Modifying the tracking system to use a custom asynchronous emitter when the flag is enabled. This emitter uses Gitlab's sidekiq for processing background jobs instead of snowplow's default system that spins up thread. This is done so we can be able to monitor the background processes.
References
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
- Enable
snowplow_job_emitterby running:Feature.enable(:snowplow_job_emitter) - Trigger an event via the rails console or the UI,
- Start the snowplow-micro and ensure that events are getting triggered.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Nwanna Isong