The GitLab Docs website is now available in Japanese!
Internal Event Tracking
This page provides detailed guidelines on using the Internal Event Tracking system to instrument features on GitLab.
Currently Internal Event Tracking is consolidating the following systems:
- Service Ping
- Snowplow
- AiTracking (GitLab Duo Chat) WIP
Internal Events is an unified interface to track events in GitLab. Each tracking call represents a user action and the associated properties. Internal Events then provides underlying systems the properties they require for their specific analytics needs.
Analytics systems summary:
| Function\System | Service Ping | Snowplow |
|---|---|---|
| Primary function | Provide aggregated analytics data | Track raw events (user interactions with the service) |
| Data storage | Local instance (Redis, Postgres etc) | Snowflake |
| Data granularity | None (data is aggregated) | Per event |
| Extra parameters | None | Any amount of custom data |
| Receiving delay | Up to 1 week | A few minutes |
| Implementation | Utilises Internal Events, Database records, System Settings | Internal Events plus custom tracking context |
This page is a work in progress. If you have access to the GitLab Slack workspace, use the
#g_monitor_analytics_instrumentation channel for any questions or clarifications.
- Quick start for internal event tracking
- Migrating existing tracking to internal event tracking
- Event definition guide
- Metric definition guide
- Local setup and debugging
- Internal Events CLI contribution guide
- Internal Events Payload Samples
- Standard context fields description
- AI context fields description
- DAP (Duo Agentic Platform) instrumentation guide
- GitLab Duo Classification