[Feature flag] Rollout of `track_highlight_timeouts`
Feature
track_highlight_timeouts
will track how many times text/syntax highlighting times out either in the foreground (while loading a page) or background (in Sidekiq).
The sources are given as "foreground" and "background"
We can use this data to help make a decision for Determine the right file size limit for highlighting files
Reference
- Ensure highlighting limits are documented, configurable, and monitorable
- Add initial highlight timeout metrics behind a feature flag
- Determine the right file size limit for highlighting files (#330894)
Owners
- Team: Source Code
- Most appropriate slack channel to reach out to: #g_create_code-review
- Best individual to reach out to: Gary Holtz (@garyh)
- PM: Matt Nohr (@mnohr)
Stakeholders
The Rollout Plan
- Partial Rollout on GitLab.com with beta groups
- Rollout on GitLab.com for a certain period (How long)
- Percentage Rollout on GitLab.com
- Rollout Feature for everyone as soon as it's ready
Beta Groups/Projects:
-
gitlab-org/gitlab
project -
gitlab-org
/gitlab-com
groups - ...
Expectations
What are we expecting to happen?
What might happen if this goes wrong?
What can we monitor to detect problems with this?
Rollout Timeline
Rollout Steps
Preparation Phase
-
Enable on staging ( /chatops run feature set feature_name true --staging
) -
Test on staging -
Ensure that documentation has been updated (More info) -
Announce on the issue an estimated time this will be enabled on GitLab.com -
Check if the feature flag change needs to be accompagnied with a change management issue. Cross link the issue here if it does.
Partial Rollout Phase
-
Enable on GitLab.com for individual groups/projects listed above and verify behaviour ( /chatops run feature set --project=gitlab-org/gitlab feature_name true
) -
Verify behaviour (See Beta Groups) and add details with screenshots as a comment on this issue -
If it is possible to perform an incremental rollout, this should be preferred. Proposed increments are: 10%
,50%
,100%
. Proposed minimum time between increments is 15 minutes.- When setting percentages, make sure that the feature works correctly between feature checks. See #327117 (closed) for more information
- For actor-based rollout:
/chatops run feature set feature_name 10 --actors
- For time-based rollout:
/chatops run feature set feature_name 10
Full Rollout Phase
-
Make the feature flag enabled by default i.e. Change default_enabled
totrue
-
Cross post chatops slack command to #support_gitlab-com
(more guidance when this is necessary in the dev docs) and in your team channel -
Announce on the issue that the flag has been enabled -
Create a cleanup issue using the "Feature Flag Removal" template
Rollback Steps
-
This feature can be disabled by running the following Chatops command:
/chatops run feature set --project=gitlab-org/gitlab feature_name false