Send a copy of one Snowplow event to Product Analytics collector
As mentioned in this comment:
Solving our internal analytics needs:
- We need a default "shadow project" for GitLab that's unique for the whole instance that's owned and only accessible/visible by the admin.
- This "shadow project" can hold the GitLab instance's own Snowplow events.
- The events kept in this project can be summarized via our scheduled Usage Ping.
- We can run this project in parallel to the Snowflake DW and compare the events collected in each to ensure they reconcile.
One snowplow event should be chosen to be sent to both the existing snowplow collector (goes to Snowflake DW) and the local snowplow collector (goes to Rails DB). This event will be reported via usage ping in #234144 (closed). The purpose of this is to get Product Analytics + Usage Ping working end-to-end.
Since we have not yet addressed scalability of the Rails collector, the event chosen should not happen very frequently. There is a hard limit of 100 requests per minute currently in place. Before choosing an event, we should query Snowflake and see how often it gets fired.
These events will associated to the Self-Monitor project, as discussed in #231536 (closed)
/cc @jeromezng