Ensure Static Site Editor is instrumented for usage ping data
Problem to solve
The Static Site Editor is returning usage analytics but it appears to only be from SASS/.com users. We need to have visibility into how our self-hosted users are taking advantage of the feature.
Proposal
- Instrument the SSE for Usage Ping data
Further details
- The event data we want to track:
- Every time the static site editor is initialized
- Every time a commit is generated from the static site editor
- Every time a merge request is created from the static site editor
Link to usage ping developer guide: https://docs.gitlab.com/ee/development/telemetry/usage_ping.html#developing-and-testing-usage-ping
Prior art
The Web IDE already tracks similar events to what we want to capture. Refer to Event Dictionary. We might want to consider reviewing their implementation of how they handle tracking both Snowplow and Usage Ping events.
Considerations
Currently, the SSE creates merge requests and commits via the GitLab GraphQL API and as such, there is no existing backend controller to insert the calls for recording events. A recommendation for the implementer is to consider adding a controller (new one?) action that can be called from the frontend to record the event.
Currently, the frontend already makes calls for Snowplow tracking and another consideration would be to consider abstracting the event tracking away from the SSE components and have the abstraction take care of making the necessary calls to the services.