Collecting MAU for GitLab Workflow (VS Code) Extension
Problem to Solve
The GitLab Workflow Extension is currently used outside of the main GitLab application and connects to GitLab instances via API to perform tasks. There is currently no standard way within GitLab to understand this usage and provide accurate usage statistics to aid in feature development, prioritization and continued investment in the extension.
Additional Details
GitLab has a series of performance indicators based around AMU (Active Monthly Users). In many cases these are measured as aggregate counts of users who engage with certain features over a period of time. An example of this is for the groupeditor Git write operations from web editors
are measured.
Proposal
Intercept some hook for all API calls or develop/use a rack middleware. This way we could log usage in Redis using Product Analytics HLL (distinct counts) or regular count APIs.
Old Proposal
Option 1
With the release of GitLab Workflow 3.6.0 a User-Agent is included in all API requests that identifies the extension and the version. If log collection and importing of specific data was available in the Data Warehouse (other proposals suggesting log usage) we could aggregate logs based on this user agent. We would need some way to get additional data to identify users in aggregate and not specifically, but this could be a foundation for getting usage numbers.
Option 2
In an effort to improve the onboarding flow a proposal is being considered to implement OAuth for using the extension. OAuth applications are stored in the database of GitLab which would allow us to count the number of authorizations. Lacking from this could be last used as that doesn't appear to be tracked.
Also important is that the level of effort required for Option 2 might be quite significant and is not the preferred path at this time.