Usage statistics (FREE SELF)
GitLab Inc. periodically collects information about your instance in order to perform various actions.
All usage statistics are opt-out.
Service Ping
Service Ping is a process that collects and sends a weekly payload to GitLab Inc. For more information, see the Service Ping guide. When Service Ping is enabled, GitLab gathers data from other instances and enables certain instance-level analytics features that are dependent on Service Ping.
Why enable Service Ping?
The main purpose of Service Ping is to build a better GitLab. We collect data about how GitLab is used to understand feature or stage adoption and usage. This data gives an insight into how GitLab adds value and helps our team understand the reasons why people use GitLab, and with this knowledge we're able to make better product decisions.
There are several other benefits to enabling Service Ping:
- Analyze the users' activities over time of your GitLab installation.
- A DevOps Score to give you an overview of your entire instance's adoption of concurrent DevOps from planning to monitoring.
- More proactive support (assuming that our Customer Success Managers (CSMs) and support organization used the data to deliver more value).
- Insight and advice into how to get the most value out of your investment in GitLab.
- Reports that show how you compare against other similar organizations (anonymized), with specific advice and recommendations on how to improve your DevOps processes.
- Participation in our Registration Features Program to receive free paid features.
Registration Features Program
Introduced in GitLab 14.1.
In GitLab versions 14.1 and later, GitLab Free customers with a self-managed instance running GitLab Enterprise Edition can receive paid features by registering with GitLab and sending us activity data through Service Ping. Features introduced here do not remove the feature from its paid tier. Users can continue to access the features in a paid tier without sharing usage data.
Features available in 14.1 and later
Features available in 14.4 and later
Features available in 16.0 and later
- View description change history.
- Maintenance mode.
- Configurable issue boards.
- Coverage-guided fuzz testing.
- Password complexity requirements.
NOTE: Registration is not yet required for participation, but may be added in a future milestone.
Enable registration features
- Sign in as a user with administrator access.
- On the left sidebar, expand the top-most chevron ({chevron-down}).
- Select Admin Area.
- Select Settings > Metrics and profiling.
- Expand the Usage statistics section.
- If not enabled, select the Enable Service Ping checkbox.
- Select the Enable Registration Features checkbox.
- Select Save changes.
Version check
If enabled, version check informs you if a new version is available and the
importance of it through a status. The status displays on the help pages (/help
)
for all authenticated users, and on the Admin Area pages. The statuses are:
- Green: You are running the latest version of GitLab.
- Orange: An updated version of GitLab is available.
- Red: The version of GitLab you are running is vulnerable. You should install the latest version with security fixes as soon as possible.
GitLab Inc. collects your instance's version and hostname (through the HTTP referer) as part of the version check. No other information is collected.
This information is used, among other things, to identify to which versions patches must be backported, making sure active GitLab instances remain secure.
If you disable version check, this information isn't collected.
Request flow example
The following example shows a basic request/response flow between a self-managed GitLab instance and the GitLab Version Application:
sequenceDiagram
participant GitLab instance
participant Version Application
GitLab instance->>Version Application: Is there a version update?
loop Version Check
Version Application->>Version Application: Record version info
end
Version Application->>GitLab instance: Response (PNG/SVG)
Configure your network
To send usage statistics to GitLab Inc., you must allow network traffic from your
GitLab instance to the host version.gitlab.com
on port 443
.
If your GitLab instance is behind a proxy, set the appropriate proxy configuration variables.
Enable or disable usage statistics
To enable or disable Service Ping and version check:
- On the left sidebar, expand the top-most chevron ({chevron-down}).
- Select Admin Area.
- Select Settings > Metrics and profiling.
- Expand Usage statistics.
- Select or clear the Enable version check and Enable Service Ping checkboxes.
- Select Save changes.
NOTE:
Service Ping settings only control whether the data is being shared with GitLab, or used only internally.
Even if you disable Service Ping, the gitlab_service_ping_worker
background job still periodically generates a Service Ping payload for your instance.
The payload is available in the Service Usage data admin section.
Disable usage statistics with the configuration file
NOTE: The method to disable Service Ping in the GitLab configuration file does not work in GitLab versions 9.3 to 13.12.3. For more information about how to disable it, see troubleshooting.
To disable Service Ping and prevent it from being configured in the future through the Admin Area.
::Tabs
:::TabTitle Linux package (Omnibus)
-
Edit
/etc/gitlab/gitlab.rb
:gitlab_rails['usage_ping_enabled'] = false
-
Reconfigure GitLab:
sudo gitlab-ctl reconfigure
:::TabTitle Self-compiled (source)
-
Edit
/home/git/gitlab/config/gitlab.yml
:production: &base # ... gitlab: # ... usage_ping_enabled: false
-
Restart GitLab:
sudo service gitlab restart
::EndTabs
View the Service Ping payload
You can view the exact JSON payload sent to GitLab Inc. in the Admin Area. To view the payload:
- Sign in as a user with administrator access.
- On the left sidebar, expand the top-most chevron ({chevron-down}).
- Select Admin Area.
- Select Settings > Metrics and profiling.
- Expand the Usage statistics section.
- Select Preview payload.
For an example payload, see Example Service Ping payload.
Manually upload Service Ping payload
- Introduced in GitLab 14.8 with a flag named
admin_application_settings_service_usage_data_center
. Disabled by default.- Feature flag removed in GitLab 14.10.
You can upload the Service Ping payload to GitLab even if your instance doesn't have internet access, or if the Service Ping cron job is not enabled.
To upload the payload manually:
- Sign in as a user with administrator access.
- On the left sidebar, expand the top-most chevron ({chevron-down}).
- Select Admin Area.
- Select Settings > Service usage data.
- Select Download payload.
- Save the JSON file.
- Visit Service usage data center.
- Select Choose file, then select the JSON file that contains the downloaded payload.
- Select Upload.
The uploaded file is encrypted and sent using secure HTTPS protocol. HTTPS creates a secure communication channel between web browser and the server, and protects transmitted data against man-in-the-middle attacks.
If there are problems with the manual upload:
- Open a confidential issue in the security fork of version app project.
- Attach the JSON payload if possible.
- Tag
@gitlab-org/analytics-section/analytics-instrumentation
who will triage the issue.