Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab/ci/cng.gitlab-ci.yml2
-rw-r--r--.gitlab/ci/review.gitlab-ci.yml9
-rw-r--r--app/assets/javascripts/boards/components/board_form.vue13
-rw-r--r--app/assets/javascripts/graphql_shared/queries/group_users_search.query.graphql15
-rw-r--r--app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue32
-rw-r--r--app/assets/javascripts/sidebar/constants.js2
-rw-r--r--app/models/integrations/pushover.rb51
-rw-r--r--app/views/admin/application_settings/_performance_bar.html.haml4
-rw-r--r--app/views/admin/application_settings/metrics_and_profiling.html.haml4
-rw-r--r--app/views/admin/applications/show.html.haml48
-rw-r--r--app/views/shared/doorkeeper/applications/_show.html.haml9
-rw-r--r--config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml10
-rw-r--r--config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml4
-rw-r--r--config/metrics/counts_28d/20210216183640_gitlab.yml16
-rw-r--r--config/metrics/counts_28d/20210216183642_gitlab_v1.yml16
-rw-r--r--config/metrics/counts_28d/20210216183644_gitlab_project.yml4
-rw-r--r--config/metrics/counts_28d/20210216183646_gitlab.yml2
-rw-r--r--config/metrics/counts_28d/20210216183648_github.yml2
-rw-r--r--config/metrics/counts_28d/20210216183650_bitbucket.yml2
-rw-r--r--config/metrics/counts_28d/20210216183652_bitbucket_server.yml2
-rw-r--r--config/metrics/counts_28d/20210216183653_gitea.yml2
-rw-r--r--config/metrics/counts_28d/20210216183655_git.yml2
-rw-r--r--config/metrics/counts_28d/20210216183657_manifest.yml4
-rw-r--r--config/metrics/counts_28d/20210216183659_gitlab_migration.yml4
-rw-r--r--config/metrics/counts_28d/20210216183701_jira.yml16
-rw-r--r--config/metrics/counts_28d/20210216183703_fogbugz.yml16
-rw-r--r--config/metrics/counts_28d/20210216183705_phabricator.yml16
-rw-r--r--config/metrics/counts_28d/20210216183707_csv.yml16
-rw-r--r--config/metrics/counts_28d/20210216183709_group_import.yml2
-rw-r--r--config/metrics/counts_28d/20210216183711_gitlab_migration.yml16
-rw-r--r--config/metrics/counts_28d/20210216183712_total.yml16
-rw-r--r--config/metrics/counts_28d/20210216183714_gitlab_project.yml16
-rw-r--r--config/metrics/counts_28d/20210216183716_gitlab.yml16
-rw-r--r--config/metrics/counts_28d/20210216183718_github.yml16
-rw-r--r--config/metrics/counts_28d/20210216183720_bitbucket.yml2
-rw-r--r--config/metrics/counts_28d/20210216183722_bitbucket_server.yml2
-rw-r--r--config/metrics/counts_28d/20210216183724_gitea.yml16
-rw-r--r--config/metrics/counts_28d/20210216183726_git.yml16
-rw-r--r--config/metrics/counts_28d/20210216183728_manifest.yml16
-rw-r--r--config/metrics/counts_28d/20210216183730_jira.yml16
-rw-r--r--config/metrics/counts_28d/20210216183731_fogbugz.yml16
-rw-r--r--config/metrics/counts_28d/20210216183733_phabricator.yml16
-rw-r--r--config/metrics/counts_28d/20210216183735_csv.yml16
-rw-r--r--config/metrics/counts_28d/20210216183737_groups_imported.yml10
-rw-r--r--config/metrics/counts_all/20210216180628_projects_imported_from_github.yml8
-rw-r--r--config/metrics/counts_all/20210216180630_projects_imported_from_github.yml10
-rw-r--r--config/metrics/counts_all/20210216180632_unique_users_all_imports.yml8
-rw-r--r--config/metrics/counts_all/20210216180634_gitlab.yml8
-rw-r--r--config/metrics/counts_all/20210216180636_gitlab_v1.yml8
-rw-r--r--config/metrics/counts_all/20210216180638_gitlab_project.yml2
-rw-r--r--config/metrics/counts_all/20210216180639_gitlab.yml2
-rw-r--r--config/metrics/counts_all/20210216180641_github.yml2
-rw-r--r--config/metrics/counts_all/20210216180643_bitbucket.yml2
-rw-r--r--config/metrics/counts_all/20210216180645_bitbucket_server.yml2
-rw-r--r--config/metrics/counts_all/20210216180647_gitea.yml2
-rw-r--r--config/metrics/counts_all/20210216180649_git.yml2
-rw-r--r--config/metrics/counts_all/20210216180650_manifest.yml2
-rw-r--r--config/metrics/counts_all/20210216180652_gitlab_migration.yml2
-rw-r--r--config/metrics/counts_all/20210216180654_jira.yml8
-rw-r--r--config/metrics/counts_all/20210216180656_fogbugz.yml8
-rw-r--r--config/metrics/counts_all/20210216180658_phabricator.yml8
-rw-r--r--config/metrics/counts_all/20210216180700_csv.yml8
-rw-r--r--config/metrics/counts_all/20210216180702_group_import.yml10
-rw-r--r--config/metrics/counts_all/20210216180703_gitlab_migration.yml8
-rw-r--r--config/metrics/counts_all/20210216180705_total.yml8
-rw-r--r--config/metrics/counts_all/20210216180707_gitlab_project.yml8
-rw-r--r--config/metrics/counts_all/20210216180709_gitlab.yml8
-rw-r--r--config/metrics/counts_all/20210216180711_github.yml8
-rw-r--r--config/metrics/counts_all/20210216180713_bitbucket.yml8
-rw-r--r--config/metrics/counts_all/20210216180715_bitbucket_server.yml8
-rw-r--r--config/metrics/counts_all/20210216180716_gitea.yml8
-rw-r--r--config/metrics/counts_all/20210216180718_git.yml8
-rw-r--r--config/metrics/counts_all/20210216180720_manifest.yml8
-rw-r--r--config/metrics/counts_all/20210216180722_jira.yml8
-rw-r--r--config/metrics/counts_all/20210216180724_fogbugz.yml8
-rw-r--r--config/metrics/counts_all/20210216180726_phabricator.yml8
-rw-r--r--config/metrics/counts_all/20210216180727_csv.yml8
-rw-r--r--config/metrics/counts_all/20210216180729_groups_imported.yml8
-rw-r--r--config/metrics/schema.json7
-rw-r--r--doc/administration/monitoring/performance/performance_bar.md47
-rw-r--r--doc/administration/wikis/index.md8
-rw-r--r--doc/ci/docker/using_kaniko.md6
-rw-r--r--doc/development/service_ping/metrics_dictionary.md1
-rw-r--r--doc/development/usage_ping/dictionary.md186
-rw-r--r--doc/user/admin_area/settings/index.md2
-rw-r--r--generator_templates/usage_metric_definition/metric_definition.yml1
-rw-r--r--locale/gitlab.pot64
-rw-r--r--qa/qa/resource/base.rb19
-rw-r--r--qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb6
-rw-r--r--qa/spec/resource/base_spec.rb72
-rwxr-xr-xscripts/trigger-build38
-rw-r--r--spec/features/admin/admin_settings_spec.rb14
-rw-r--r--spec/features/profile_spec.rb2
-rw-r--r--spec/features/projects/services/user_activates_pushover_spec.rb2
-rw-r--r--spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric.yml1
-rw-r--r--spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_ee.yml1
-rw-r--r--spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_name_suggestions.yml1
-rw-r--r--spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js2
-rw-r--r--spec/frontend/sidebar/mock_data.js39
-rw-r--r--spec/support/database_cleaner.rb6
100 files changed, 746 insertions, 532 deletions
diff --git a/.gitlab/ci/cng.gitlab-ci.yml b/.gitlab/ci/cng.gitlab-ci.yml
index f75497c1a3f..bf439288be2 100644
--- a/.gitlab/ci/cng.gitlab-ci.yml
+++ b/.gitlab/ci/cng.gitlab-ci.yml
@@ -7,4 +7,4 @@ cloud-native-image:
GIT_DEPTH: "1"
script:
- install_gitlab_gem
- - CNG_PROJECT_PATH="gitlab-org/build/CNG" ./scripts/trigger-build cng
+ - ./scripts/trigger-build cng
diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml
index e8d6f9b6dd9..4e635ef5984 100644
--- a/.gitlab/ci/review.gitlab-ci.yml
+++ b/.gitlab/ci/review.gitlab-ci.yml
@@ -27,12 +27,15 @@ review-build-cng:
- .review:rules:review-build-cng
image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine3.13
stage: review-prepare
- before_script:
- - source ./scripts/utils.sh
- - install_gitlab_gem
needs:
- job: compile-production-assets
artifacts: false
+ variables:
+ CNG_PROJECT_ACCESS_TOKEN: "${CNG_MIRROR_PROJECT_ACCESS_TOKEN}" # "Multi-pipeline (from 'gitlab-org/gitlab' 'review-build-cng' job)" at https://gitlab.com/gitlab-org/build/CNG-mirror/-/settings/access_tokens
+ CNG_PROJECT_PATH: "gitlab-org/build/CNG-mirror"
+ before_script:
+ - source ./scripts/utils.sh
+ - install_gitlab_gem
script:
- ./scripts/trigger-build cng
diff --git a/app/assets/javascripts/boards/components/board_form.vue b/app/assets/javascripts/boards/components/board_form.vue
index 386ed6bd0a1..d7aea7b7290 100644
--- a/app/assets/javascripts/boards/components/board_form.vue
+++ b/app/assets/javascripts/boards/components/board_form.vue
@@ -2,7 +2,7 @@
import { GlModal, GlAlert } from '@gitlab/ui';
import { mapGetters, mapActions, mapState } from 'vuex';
import ListLabel from '~/boards/models/label';
-import { TYPE_ITERATION, TYPE_MILESTONE, TYPE_USER } from '~/graphql_shared/constants';
+import { TYPE_ITERATION, TYPE_MILESTONE } from '~/graphql_shared/constants';
import { convertToGraphQLId } from '~/graphql_shared/utils';
import { getParameterByName, visitUrl } from '~/lib/utils/url_utility';
import { __, s__ } from '~/locale';
@@ -21,7 +21,6 @@ const boardDefaults = {
milestone_id: undefined,
iteration_id: undefined,
assignee: {},
- assignee_id: undefined,
weight: null,
hide_backlog_list: false,
hide_closed_list: false,
@@ -190,9 +189,7 @@ export default {
issueBoardScopeMutationVariables() {
return {
weight: this.board.weight,
- assigneeId: this.board.assignee?.id
- ? convertToGraphQLId(TYPE_USER, this.board.assignee.id)
- : null,
+ assigneeId: this.board.assignee?.id || null,
milestoneId:
this.board.milestone?.id || this.board.milestone?.id === 0
? convertToGraphQLId(TYPE_MILESTONE, this.board.milestone.id)
@@ -306,6 +303,11 @@ export default {
}
});
},
+ setAssignee(assigneeId) {
+ this.board.assignee = {
+ id: assigneeId,
+ };
+ },
},
};
</script>
@@ -373,6 +375,7 @@ export default {
:weights="weights"
@set-iteration="setIteration"
@set-board-labels="setBoardLabels"
+ @set-assignee="setAssignee"
/>
</form>
</gl-modal>
diff --git a/app/assets/javascripts/graphql_shared/queries/group_users_search.query.graphql b/app/assets/javascripts/graphql_shared/queries/group_users_search.query.graphql
new file mode 100644
index 00000000000..e345fe97281
--- /dev/null
+++ b/app/assets/javascripts/graphql_shared/queries/group_users_search.query.graphql
@@ -0,0 +1,15 @@
+#import "../fragments/user.fragment.graphql"
+#import "~/graphql_shared/fragments/user_availability.fragment.graphql"
+
+query usersSearch($search: String!, $fullPath: ID!) {
+ workspace: group(fullPath: $fullPath) {
+ users: groupMembers(search: $search, relations: [DIRECT, INHERITED]) {
+ nodes {
+ user {
+ ...User
+ ...UserAvailability
+ }
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
index 2e00a23de7c..af17ef0867d 100644
--- a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
+++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
@@ -22,6 +22,7 @@ import {
issuableAttributesQueries,
noAttributeId,
defaultEpicSort,
+ epicIidPattern,
} from '~/sidebar/constants';
export default {
@@ -118,17 +119,37 @@ export default {
return query;
},
skip() {
+ if (this.isEpic && this.searchTerm.startsWith('&') && this.searchTerm.length < 2) {
+ return true;
+ }
+
return !this.editing;
},
debounce: 250,
variables() {
- return {
+ if (!this.isEpic) {
+ return {
+ fullPath: this.attrWorkspacePath,
+ title: this.searchTerm,
+ state: this.$options.IssuableAttributeState[this.issuableAttribute],
+ };
+ }
+
+ const variables = {
fullPath: this.attrWorkspacePath,
- title: this.searchTerm,
- in: this.searchTerm && this.issuableAttribute === IssuableType.Epic ? 'TITLE' : undefined,
state: this.$options.IssuableAttributeState[this.issuableAttribute],
- sort: this.issuableAttribute === IssuableType.Epic ? defaultEpicSort : null,
+ sort: defaultEpicSort,
};
+
+ if (epicIidPattern.test(this.searchTerm)) {
+ const matches = this.searchTerm.match(epicIidPattern);
+ variables.iidStartsWith = matches.groups.iid;
+ } else if (this.searchTerm !== '') {
+ variables.in = 'TITLE';
+ variables.title = this.searchTerm;
+ }
+
+ return variables;
},
update(data) {
if (data?.workspace) {
@@ -214,6 +235,9 @@ export default {
),
};
},
+ isEpic() {
+ return this.issuableAttribute === IssuableType.Epic;
+ },
},
methods: {
updateAttribute(attributeId) {
diff --git a/app/assets/javascripts/sidebar/constants.js b/app/assets/javascripts/sidebar/constants.js
index 08ee4379c0c..fd43fb80b7f 100644
--- a/app/assets/javascripts/sidebar/constants.js
+++ b/app/assets/javascripts/sidebar/constants.js
@@ -48,6 +48,8 @@ export const ASSIGNEES_DEBOUNCE_DELAY = DEFAULT_DEBOUNCE_AND_THROTTLE_MS;
export const defaultEpicSort = 'TITLE_ASC';
+export const epicIidPattern = /^&(?<iid>\d+)$/;
+
export const assigneesQueries = {
[IssuableType.Issue]: {
query: getIssueAssignees,
diff --git a/app/models/integrations/pushover.rb b/app/models/integrations/pushover.rb
index b0cadc7ef4e..db39a4c68bd 100644
--- a/app/models/integrations/pushover.rb
+++ b/app/models/integrations/pushover.rb
@@ -21,18 +21,46 @@ module Integrations
def fields
[
- { type: 'text', name: 'api_key', title: _('API key'), placeholder: s_('PushoverService|Your application key'), required: true },
- { type: 'text', name: 'user_key', placeholder: s_('PushoverService|Your user key'), required: true },
- { type: 'text', name: 'device', placeholder: s_('PushoverService|Leave blank for all active devices') },
- { type: 'select', name: 'priority', required: true, choices:
+ {
+ type: 'text',
+ name: 'api_key',
+ title: _('API key'),
+ help: s_('PushoverService|Enter your application key.'),
+ placeholder: '',
+ required: true
+ },
+ {
+ type: 'text',
+ name: 'user_key',
+ title: _('User key'),
+ help: s_('PushoverService|Enter your user key.'),
+ placeholder: '',
+ required: true
+ },
+ {
+ type: 'text',
+ name: 'device',
+ title: _('Devices (optional)'),
+ help: s_('PushoverService|Leave blank for all active devices.'),
+ placeholder: ''
+ },
+ {
+ type: 'select',
+ name: 'priority',
+ required: true,
+ choices:
[
- [s_('PushoverService|Lowest Priority'), -2],
- [s_('PushoverService|Low Priority'), -1],
- [s_('PushoverService|Normal Priority'), 0],
- [s_('PushoverService|High Priority'), 1]
+ [s_('PushoverService|Lowest priority'), -2],
+ [s_('PushoverService|Low priority'), -1],
+ [s_('PushoverService|Normal priority'), 0],
+ [s_('PushoverService|High priority'), 1]
],
- default_choice: 0 },
- { type: 'select', name: 'sound', choices:
+ default_choice: 0
+ },
+ {
+ type: 'select',
+ name: 'sound',
+ choices:
[
['Device default sound', nil],
['Pushover (default)', 'pushover'],
@@ -57,7 +85,8 @@ module Integrations
['Pushover Echo (long)', 'echo'],
['Up Down (long)', 'updown'],
['None (silent)', 'none']
- ] }
+ ]
+ }
]
end
diff --git a/app/views/admin/application_settings/_performance_bar.html.haml b/app/views/admin/application_settings/_performance_bar.html.haml
index f603dcab407..ba7d747fa04 100644
--- a/app/views/admin/application_settings/_performance_bar.html.haml
+++ b/app/views/admin/application_settings/_performance_bar.html.haml
@@ -6,9 +6,9 @@
.form-check
= f.check_box :performance_bar_enabled, class: 'form-check-input', data: { qa_selector: 'enable_performance_bar_checkbox'}
= f.label :performance_bar_enabled, class: 'form-check-label' do
- = _("Enable access to the Performance Bar")
+ = _("Allow non-administrators to access to the performance bar")
.form-group
- = f.label :performance_bar_allowed_group_path, _('Allowed group'), class: 'label-bold'
+ = f.label :performance_bar_allowed_group_path, _('Allow access to members of the following group'), class: 'label-bold'
= f.text_field :performance_bar_allowed_group_path, class: 'form-control gl-form-input', placeholder: 'my-org/my-group', value: @application_setting.performance_bar_allowed_group&.full_path
= f.submit _('Save changes'), class: 'gl-button btn btn-confirm qa-save-changes-button'
diff --git a/app/views/admin/application_settings/metrics_and_profiling.html.haml b/app/views/admin/application_settings/metrics_and_profiling.html.haml
index fcd3720e3d5..121f0e96f1d 100644
--- a/app/views/admin/application_settings/metrics_and_profiling.html.haml
+++ b/app/views/admin/application_settings/metrics_and_profiling.html.haml
@@ -35,8 +35,8 @@
%button.btn.gl-button.btn-default.js-settings-toggle{ type: 'button' }
= expanded_by_default? ? _('Collapse') : _('Expand')
%p
- = _('Enable access to the Performance Bar for a given group.')
- = link_to sprite_icon('question-o'), help_page_path('administration/monitoring/performance/performance_bar')
+ = _('Enable access to the performance bar for non-administrators in a given group.')
+ = link_to s_('Learn more.'), help_page_path('administration/monitoring/performance/performance_bar.md', anchor: 'enable-the-performance-bar-for-non-administrators'), target: '_blank', rel: 'noopener noreferrer'
.settings-content
= render 'performance_bar'
diff --git a/app/views/admin/applications/show.html.haml b/app/views/admin/applications/show.html.haml
index 8d643a7a4bc..8dcd5f81c23 100644
--- a/app/views/admin/applications/show.html.haml
+++ b/app/views/admin/applications/show.html.haml
@@ -3,47 +3,7 @@
%h3.page-title
Application: #{@application.name}
-.table-holder.oauth-application-show
- %table.table
- %tr
- %td
- = _('Application ID')
- %td
- .clipboard-group
- .input-group
- %input.label.label-monospace.monospace{ id: "application_id", type: "text", autocomplete: 'off', value: @application.uid, readonly: true }
- .input-group-append
- = clipboard_button(target: '#application_id', title: _("Copy ID"), class: "gl-button btn btn-default")
- %tr
- %td
- = _('Secret')
- %td
- .clipboard-group
- .input-group
- %input.label.label-monospace.monospace{ id: "secret", type: "text", autocomplete: 'off', value: @application.secret, readonly: true }
- .input-group-append
- = clipboard_button(target: '#secret', title: _("Copy secret"), class: "gl-button btn btn-default")
- %tr
- %td
- = _('Callback URL')
- %td
- - @application.redirect_uri.split.each do |uri|
- %div
- %span.monospace= uri
- %tr
- %td
- Trusted
- %td
- = @application.trusted? ? 'Y' : 'N'
-
- %tr
- %td
- Confidential
- %td
- = @application.confidential? ? 'Y' : 'N'
-
- = render "shared/tokens/scopes_list", token: @application
-
-.form-actions
- = link_to 'Edit', edit_admin_application_path(@application), class: 'gl-button btn btn-confirm wide float-left'
- = render 'delete_form', application: @application, submit_btn_css: 'gl-button btn btn-danger gl-ml-3'
+= render 'shared/doorkeeper/applications/show',
+ edit_path: edit_admin_application_path(@application),
+ delete_path: admin_application_path(@application),
+ show_trusted_row: true
diff --git a/app/views/shared/doorkeeper/applications/_show.html.haml b/app/views/shared/doorkeeper/applications/_show.html.haml
index b690aa74ff0..d855b3aca83 100644
--- a/app/views/shared/doorkeeper/applications/_show.html.haml
+++ b/app/views/shared/doorkeeper/applications/_show.html.haml
@@ -1,3 +1,5 @@
+- show_trusted_row = local_assigns.fetch(:show_trusted_row, false)
+
.table-holder.oauth-application-show
%table.table
%tr
@@ -26,6 +28,13 @@
%div
%span.monospace= uri
+ - if show_trusted_row
+ %tr
+ %td
+ = _('Trusted')
+ %td
+ = @application.trusted? ? _('Yes') : _('No')
+
%tr
%td
= _('Confidential')
diff --git a/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml b/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml
index da71196bce9..1ac24ccf6c8 100644
--- a/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml
+++ b/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.create.projects_imported_from_github
-description:
+description: Count of projects imported from GitHub
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml b/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml
index 49473e2cfad..0e2933ec421 100644
--- a/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml
+++ b/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml
@@ -1,11 +1,11 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.unique_users_all_imports
-description: Number of users from projects imported
+description: Number of unique users performing imports
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183640_gitlab.yml b/config/metrics/counts_28d/20210216183640_gitlab.yml
index 2c53566fbd5..c72492f4abb 100644
--- a/config/metrics/counts_28d/20210216183640_gitlab.yml
+++ b/config/metrics/counts_28d/20210216183640_gitlab.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.bulk_imports.gitlab
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: DEPRECATED - Count of projects imported using bulk imports
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183642_gitlab_v1.yml b/config/metrics/counts_28d/20210216183642_gitlab_v1.yml
index dd0ba521d2f..8f448ad04c9 100644
--- a/config/metrics/counts_28d/20210216183642_gitlab_v1.yml
+++ b/config/metrics/counts_28d/20210216183642_gitlab_v1.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.bulk_imports.gitlab_v1
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of bulk imports - GitLab Migration
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183644_gitlab_project.yml b/config/metrics/counts_28d/20210216183644_gitlab_project.yml
index 6ec8fdc7509..bd41426f678 100644
--- a/config/metrics/counts_28d/20210216183644_gitlab_project.yml
+++ b/config/metrics/counts_28d/20210216183644_gitlab_project.yml
@@ -1,11 +1,11 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.project_imports.gitlab_project
-description: ''
+description: Count of projects imported using Project Import/Export
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183646_gitlab.yml b/config/metrics/counts_28d/20210216183646_gitlab.yml
index 09825a146db..0871d5d8c80 100644
--- a/config/metrics/counts_28d/20210216183646_gitlab.yml
+++ b/config/metrics/counts_28d/20210216183646_gitlab.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from GitLab using Project Export/Import
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183648_github.yml b/config/metrics/counts_28d/20210216183648_github.yml
index 62873a57949..0a3264c42c1 100644
--- a/config/metrics/counts_28d/20210216183648_github.yml
+++ b/config/metrics/counts_28d/20210216183648_github.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from GitHub
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_28d/20210216183650_bitbucket.yml b/config/metrics/counts_28d/20210216183650_bitbucket.yml
index 82be4fb910a..eb6562ffd34 100644
--- a/config/metrics/counts_28d/20210216183650_bitbucket.yml
+++ b/config/metrics/counts_28d/20210216183650_bitbucket.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Bitbucket
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_28d/20210216183652_bitbucket_server.yml b/config/metrics/counts_28d/20210216183652_bitbucket_server.yml
index cbf34c1d7cd..33052c998ab 100644
--- a/config/metrics/counts_28d/20210216183652_bitbucket_server.yml
+++ b/config/metrics/counts_28d/20210216183652_bitbucket_server.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Bitbucket Server
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_28d/20210216183653_gitea.yml b/config/metrics/counts_28d/20210216183653_gitea.yml
index 0b660825f83..07cf905e938 100644
--- a/config/metrics/counts_28d/20210216183653_gitea.yml
+++ b/config/metrics/counts_28d/20210216183653_gitea.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Gitea
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183655_git.yml b/config/metrics/counts_28d/20210216183655_git.yml
index 7b0457c5902..5fe5dd58521 100644
--- a/config/metrics/counts_28d/20210216183655_git.yml
+++ b/config/metrics/counts_28d/20210216183655_git.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Git
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183657_manifest.yml b/config/metrics/counts_28d/20210216183657_manifest.yml
index 28796fefaf4..5c9f008a2ea 100644
--- a/config/metrics/counts_28d/20210216183657_manifest.yml
+++ b/config/metrics/counts_28d/20210216183657_manifest.yml
@@ -1,11 +1,11 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.project_imports.manifest
-description: ''
+description: Count of projects imported using Manifest file
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183659_gitlab_migration.yml b/config/metrics/counts_28d/20210216183659_gitlab_migration.yml
index 081992cab1f..49b8cf23a37 100644
--- a/config/metrics/counts_28d/20210216183659_gitlab_migration.yml
+++ b/config/metrics/counts_28d/20210216183659_gitlab_migration.yml
@@ -1,11 +1,11 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.project_imports.gitlab_migration
-description: ''
+description: Count of projects imported using GitLab Migration
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183701_jira.yml b/config/metrics/counts_28d/20210216183701_jira.yml
index 3dbb664d5f6..ca48d7ffd3d 100644
--- a/config/metrics/counts_28d/20210216183701_jira.yml
+++ b/config/metrics/counts_28d/20210216183701_jira.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.issue_imports.jira
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of imports from Jira
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183703_fogbugz.yml b/config/metrics/counts_28d/20210216183703_fogbugz.yml
index e89d9a7befb..3342c8a5422 100644
--- a/config/metrics/counts_28d/20210216183703_fogbugz.yml
+++ b/config/metrics/counts_28d/20210216183703_fogbugz.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.issue_imports.fogbugz
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of imports from Fogbugz
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183705_phabricator.yml b/config/metrics/counts_28d/20210216183705_phabricator.yml
index ecb92ce04ff..821834b1744 100644
--- a/config/metrics/counts_28d/20210216183705_phabricator.yml
+++ b/config/metrics/counts_28d/20210216183705_phabricator.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.issue_imports.phabricator
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of imports from Phabricator
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183707_csv.yml b/config/metrics/counts_28d/20210216183707_csv.yml
index 5558447f92c..67e664392fc 100644
--- a/config/metrics/counts_28d/20210216183707_csv.yml
+++ b/config/metrics/counts_28d/20210216183707_csv.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.issue_imports.csv
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of (issue) imports from CSV file
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183709_group_import.yml b/config/metrics/counts_28d/20210216183709_group_import.yml
index 11c9ed4440c..a12ec6e836b 100644
--- a/config/metrics/counts_28d/20210216183709_group_import.yml
+++ b/config/metrics/counts_28d/20210216183709_group_import.yml
@@ -5,7 +5,7 @@ description: Number of group import states
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183711_gitlab_migration.yml b/config/metrics/counts_28d/20210216183711_gitlab_migration.yml
index 1314f587438..f860a247746 100644
--- a/config/metrics/counts_28d/20210216183711_gitlab_migration.yml
+++ b/config/metrics/counts_28d/20210216183711_gitlab_migration.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.group_imports.gitlab_migration
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of groups imported using GitLab Migration
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: data_available
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183712_total.yml b/config/metrics/counts_28d/20210216183712_total.yml
index 280a493e4a7..6122ed956a8 100644
--- a/config/metrics/counts_28d/20210216183712_total.yml
+++ b/config/metrics/counts_28d/20210216183712_total.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.projects_imported.total
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of all imported projects
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183714_gitlab_project.yml b/config/metrics/counts_28d/20210216183714_gitlab_project.yml
index a4fdaa791b6..49a474794e2 100644
--- a/config/metrics/counts_28d/20210216183714_gitlab_project.yml
+++ b/config/metrics/counts_28d/20210216183714_gitlab_project.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.projects_imported.gitlab_project
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported using Project Import/Export
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183716_gitlab.yml b/config/metrics/counts_28d/20210216183716_gitlab.yml
index 6905da714af..0ce3dd43d9e 100644
--- a/config/metrics/counts_28d/20210216183716_gitlab.yml
+++ b/config/metrics/counts_28d/20210216183716_gitlab.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.projects_imported.gitlab
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported using Project Import/Export
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183718_github.yml b/config/metrics/counts_28d/20210216183718_github.yml
index 1ca1658a8ab..8af4721aae7 100644
--- a/config/metrics/counts_28d/20210216183718_github.yml
+++ b/config/metrics/counts_28d/20210216183718_github.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.projects_imported.github
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported from GitHub
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183720_bitbucket.yml b/config/metrics/counts_28d/20210216183720_bitbucket.yml
index 0239d138193..1119c77d72c 100644
--- a/config/metrics/counts_28d/20210216183720_bitbucket.yml
+++ b/config/metrics/counts_28d/20210216183720_bitbucket.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Bitbucket
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183722_bitbucket_server.yml b/config/metrics/counts_28d/20210216183722_bitbucket_server.yml
index 4ccfeaadbb3..7abd0444a55 100644
--- a/config/metrics/counts_28d/20210216183722_bitbucket_server.yml
+++ b/config/metrics/counts_28d/20210216183722_bitbucket_server.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Bitbucket Server
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210216183724_gitea.yml b/config/metrics/counts_28d/20210216183724_gitea.yml
index 2a383c2c976..e55ddcdef7c 100644
--- a/config/metrics/counts_28d/20210216183724_gitea.yml
+++ b/config/metrics/counts_28d/20210216183724_gitea.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.projects_imported.gitea
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported from Gitea
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183726_git.yml b/config/metrics/counts_28d/20210216183726_git.yml
index e0f91fbea1e..665670c2a9c 100644
--- a/config/metrics/counts_28d/20210216183726_git.yml
+++ b/config/metrics/counts_28d/20210216183726_git.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.projects_imported.git
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported from Git
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183728_manifest.yml b/config/metrics/counts_28d/20210216183728_manifest.yml
index ba44bc90e64..aca33145416 100644
--- a/config/metrics/counts_28d/20210216183728_manifest.yml
+++ b/config/metrics/counts_28d/20210216183728_manifest.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.projects_imported.manifest
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported from Git using file Manifest
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183730_jira.yml b/config/metrics/counts_28d/20210216183730_jira.yml
index fd4558506cf..90109ccac0d 100644
--- a/config/metrics/counts_28d/20210216183730_jira.yml
+++ b/config/metrics/counts_28d/20210216183730_jira.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.issues_imported.jira
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported from Jira
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183731_fogbugz.yml b/config/metrics/counts_28d/20210216183731_fogbugz.yml
index 09892145b27..f437b1b31f1 100644
--- a/config/metrics/counts_28d/20210216183731_fogbugz.yml
+++ b/config/metrics/counts_28d/20210216183731_fogbugz.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.issues_imported.fogbugz
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported from Fogbugz
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183733_phabricator.yml b/config/metrics/counts_28d/20210216183733_phabricator.yml
index 114fb7ef897..b63ae23aa44 100644
--- a/config/metrics/counts_28d/20210216183733_phabricator.yml
+++ b/config/metrics/counts_28d/20210216183733_phabricator.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.issues_imported.phabricator
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported from Phabricator
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183735_csv.yml b/config/metrics/counts_28d/20210216183735_csv.yml
index c7f0f6c72b9..aa958aa3bcb 100644
--- a/config/metrics/counts_28d/20210216183735_csv.yml
+++ b/config/metrics/counts_28d/20210216183735_csv.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.issues_imported.csv
-description: ''
-product_section: ''
-product_stage: ''
-product_group: ''
-product_category: ''
+description: Count of projects imported from CSV file
+product_section: dev
+product_stage: manage
+product_group: group::import
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20210216183737_groups_imported.yml b/config/metrics/counts_28d/20210216183737_groups_imported.yml
index 64fcdd34904..48a2231700a 100644
--- a/config/metrics/counts_28d/20210216183737_groups_imported.yml
+++ b/config/metrics/counts_28d/20210216183737_groups_imported.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage_monthly.manage.groups_imported
-description: ''
+description: Count of imported groups
product_section: dev
product_stage: manage
product_group: group::import
-product_category: ''
+product_category: importers
value_type: number
status: deprecated
time_frame: 28d
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180628_projects_imported_from_github.yml b/config/metrics/counts_all/20210216180628_projects_imported_from_github.yml
index d3e4c6a4ee0..e314d780665 100644
--- a/config/metrics/counts_all/20210216180628_projects_imported_from_github.yml
+++ b/config/metrics/counts_all/20210216180628_projects_imported_from_github.yml
@@ -1,17 +1,19 @@
---
data_category: Operational
key_path: counts.projects_imported_from_github
-description:
+description: Count of projects imported from GitHub
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180630_projects_imported_from_github.yml b/config/metrics/counts_all/20210216180630_projects_imported_from_github.yml
index a951a6dedb4..e7372fc3074 100644
--- a/config/metrics/counts_all/20210216180630_projects_imported_from_github.yml
+++ b/config/metrics/counts_all/20210216180630_projects_imported_from_github.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage.create.projects_imported_from_github
-description:
+description: Count of projects imported from GitHub
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180632_unique_users_all_imports.yml b/config/metrics/counts_all/20210216180632_unique_users_all_imports.yml
index 266b1eb34f6..ba0089352c5 100644
--- a/config/metrics/counts_all/20210216180632_unique_users_all_imports.yml
+++ b/config/metrics/counts_all/20210216180632_unique_users_all_imports.yml
@@ -5,13 +5,15 @@ description: Distinct count of users that triggered any kind of import
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180634_gitlab.yml b/config/metrics/counts_all/20210216180634_gitlab.yml
index 258596516c6..8bf9f623425 100644
--- a/config/metrics/counts_all/20210216180634_gitlab.yml
+++ b/config/metrics/counts_all/20210216180634_gitlab.yml
@@ -6,13 +6,15 @@ description: Distinct count of users that triggered an import using the Group Mi
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180636_gitlab_v1.yml b/config/metrics/counts_all/20210216180636_gitlab_v1.yml
index 76509b97083..edf30eeb2e5 100644
--- a/config/metrics/counts_all/20210216180636_gitlab_v1.yml
+++ b/config/metrics/counts_all/20210216180636_gitlab_v1.yml
@@ -5,13 +5,15 @@ description: Count of imports using GitLab Migration
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180638_gitlab_project.yml b/config/metrics/counts_all/20210216180638_gitlab_project.yml
index 3fd5b1bb728..c3aae1afcb1 100644
--- a/config/metrics/counts_all/20210216180638_gitlab_project.yml
+++ b/config/metrics/counts_all/20210216180638_gitlab_project.yml
@@ -5,7 +5,7 @@ description: Count of projects imported using Project Import/Export
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180639_gitlab.yml b/config/metrics/counts_all/20210216180639_gitlab.yml
index 4197eb9d211..1b1a86bf525 100644
--- a/config/metrics/counts_all/20210216180639_gitlab.yml
+++ b/config/metrics/counts_all/20210216180639_gitlab.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from GitLab.com
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180641_github.yml b/config/metrics/counts_all/20210216180641_github.yml
index 80a971ad997..133d1fd5f4f 100644
--- a/config/metrics/counts_all/20210216180641_github.yml
+++ b/config/metrics/counts_all/20210216180641_github.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from GitHub
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180643_bitbucket.yml b/config/metrics/counts_all/20210216180643_bitbucket.yml
index 08c500fb719..3c7b9d07127 100644
--- a/config/metrics/counts_all/20210216180643_bitbucket.yml
+++ b/config/metrics/counts_all/20210216180643_bitbucket.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Bitbucket
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180645_bitbucket_server.yml b/config/metrics/counts_all/20210216180645_bitbucket_server.yml
index 9ec0e200755..5448dbf7bd2 100644
--- a/config/metrics/counts_all/20210216180645_bitbucket_server.yml
+++ b/config/metrics/counts_all/20210216180645_bitbucket_server.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Bitbucket Server
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180647_gitea.yml b/config/metrics/counts_all/20210216180647_gitea.yml
index 7439358b8bb..67fe589dc4f 100644
--- a/config/metrics/counts_all/20210216180647_gitea.yml
+++ b/config/metrics/counts_all/20210216180647_gitea.yml
@@ -5,7 +5,7 @@ description: Count of projects imported from Gitea
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180649_git.yml b/config/metrics/counts_all/20210216180649_git.yml
index 56c02302944..dcd7c302037 100644
--- a/config/metrics/counts_all/20210216180649_git.yml
+++ b/config/metrics/counts_all/20210216180649_git.yml
@@ -5,7 +5,7 @@ description: Count of projects imported by URL
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180650_manifest.yml b/config/metrics/counts_all/20210216180650_manifest.yml
index 21281acc75a..fa599eaf552 100644
--- a/config/metrics/counts_all/20210216180650_manifest.yml
+++ b/config/metrics/counts_all/20210216180650_manifest.yml
@@ -5,7 +5,7 @@ description: Count of projects imported using manifst file
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180652_gitlab_migration.yml b/config/metrics/counts_all/20210216180652_gitlab_migration.yml
index ca10c73e2ed..0f44c0d8223 100644
--- a/config/metrics/counts_all/20210216180652_gitlab_migration.yml
+++ b/config/metrics/counts_all/20210216180652_gitlab_migration.yml
@@ -5,7 +5,7 @@ description: Count of projects imported using GitLab Migration
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
diff --git a/config/metrics/counts_all/20210216180654_jira.yml b/config/metrics/counts_all/20210216180654_jira.yml
index fe94597bbea..1b2fab8e989 100644
--- a/config/metrics/counts_all/20210216180654_jira.yml
+++ b/config/metrics/counts_all/20210216180654_jira.yml
@@ -5,13 +5,15 @@ description: Count of projects imported from Jira
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180656_fogbugz.yml b/config/metrics/counts_all/20210216180656_fogbugz.yml
index f270f505fdb..5f487882235 100644
--- a/config/metrics/counts_all/20210216180656_fogbugz.yml
+++ b/config/metrics/counts_all/20210216180656_fogbugz.yml
@@ -5,13 +5,15 @@ description: Count of projects imported from fogbugz
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180658_phabricator.yml b/config/metrics/counts_all/20210216180658_phabricator.yml
index 6c485a575fd..aa02bda90dd 100644
--- a/config/metrics/counts_all/20210216180658_phabricator.yml
+++ b/config/metrics/counts_all/20210216180658_phabricator.yml
@@ -5,13 +5,15 @@ description: Count of projects imported from phabricator
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180700_csv.yml b/config/metrics/counts_all/20210216180700_csv.yml
index 2bf71cc3a20..c6195807273 100644
--- a/config/metrics/counts_all/20210216180700_csv.yml
+++ b/config/metrics/counts_all/20210216180700_csv.yml
@@ -5,13 +5,15 @@ description: Count of (attempted) imports from csv files
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180702_group_import.yml b/config/metrics/counts_all/20210216180702_group_import.yml
index 01e006f75c6..354d42b6b20 100644
--- a/config/metrics/counts_all/20210216180702_group_import.yml
+++ b/config/metrics/counts_all/20210216180702_group_import.yml
@@ -1,17 +1,19 @@
---
data_category: Optional
key_path: usage_activity_by_stage.manage.group_imports.group_import
-description: Count of group imports using Group Import/Export
+description: Count of groups imported using Group Import/Export
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180703_gitlab_migration.yml b/config/metrics/counts_all/20210216180703_gitlab_migration.yml
index cf40dc841ec..c26356c8567 100644
--- a/config/metrics/counts_all/20210216180703_gitlab_migration.yml
+++ b/config/metrics/counts_all/20210216180703_gitlab_migration.yml
@@ -5,13 +5,15 @@ description: Count of groups imported using GitLab Migration
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: data_available
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180705_total.yml b/config/metrics/counts_all/20210216180705_total.yml
index 69f8ec18d14..c2c0980e548 100644
--- a/config/metrics/counts_all/20210216180705_total.yml
+++ b/config/metrics/counts_all/20210216180705_total.yml
@@ -5,13 +5,15 @@ description: Total count of all projects imported with import_source NOT NULL
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180707_gitlab_project.yml b/config/metrics/counts_all/20210216180707_gitlab_project.yml
index 9a0e3fa5fbf..2c900fa6ce9 100644
--- a/config/metrics/counts_all/20210216180707_gitlab_project.yml
+++ b/config/metrics/counts_all/20210216180707_gitlab_project.yml
@@ -5,13 +5,15 @@ description: 'Distinct count of users that imported projects using Project Impor
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180709_gitlab.yml b/config/metrics/counts_all/20210216180709_gitlab.yml
index 6bfc09b0d42..754191744f2 100644
--- a/config/metrics/counts_all/20210216180709_gitlab.yml
+++ b/config/metrics/counts_all/20210216180709_gitlab.yml
@@ -5,13 +5,15 @@ description: 'Distinct count of users that imported projects from GitLab.com'
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180711_github.yml b/config/metrics/counts_all/20210216180711_github.yml
index 807ef20c4eb..ba553b3bf1d 100644
--- a/config/metrics/counts_all/20210216180711_github.yml
+++ b/config/metrics/counts_all/20210216180711_github.yml
@@ -5,13 +5,15 @@ description: Distinct count of users that imported projects from GitHub
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180713_bitbucket.yml b/config/metrics/counts_all/20210216180713_bitbucket.yml
index fb9e0d83439..f90bd836eca 100644
--- a/config/metrics/counts_all/20210216180713_bitbucket.yml
+++ b/config/metrics/counts_all/20210216180713_bitbucket.yml
@@ -5,13 +5,15 @@ description: 'Distinct count of users that imported projects from Bitbucket Clou
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180715_bitbucket_server.yml b/config/metrics/counts_all/20210216180715_bitbucket_server.yml
index 99321d76dfd..fea69cf83dc 100644
--- a/config/metrics/counts_all/20210216180715_bitbucket_server.yml
+++ b/config/metrics/counts_all/20210216180715_bitbucket_server.yml
@@ -5,13 +5,15 @@ description: 'Distinct count of users that imported projects from Bitbucket Serv
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180716_gitea.yml b/config/metrics/counts_all/20210216180716_gitea.yml
index a4a7ef23052..a1f738f7851 100644
--- a/config/metrics/counts_all/20210216180716_gitea.yml
+++ b/config/metrics/counts_all/20210216180716_gitea.yml
@@ -5,13 +5,15 @@ description: 'Distinct count of users that imported projects from Gitea'
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180718_git.yml b/config/metrics/counts_all/20210216180718_git.yml
index 13befec6b07..f6929b18f05 100644
--- a/config/metrics/counts_all/20210216180718_git.yml
+++ b/config/metrics/counts_all/20210216180718_git.yml
@@ -5,13 +5,15 @@ description: 'Distinct count of users that imported projects using Import by URL
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180720_manifest.yml b/config/metrics/counts_all/20210216180720_manifest.yml
index dcc9cc8df92..ba4a97ebad0 100644
--- a/config/metrics/counts_all/20210216180720_manifest.yml
+++ b/config/metrics/counts_all/20210216180720_manifest.yml
@@ -5,13 +5,15 @@ description: 'Distinct count of users that imported projects using Manifest file
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180722_jira.yml b/config/metrics/counts_all/20210216180722_jira.yml
index 420fc4635df..dfd073fb5ea 100644
--- a/config/metrics/counts_all/20210216180722_jira.yml
+++ b/config/metrics/counts_all/20210216180722_jira.yml
@@ -5,13 +5,15 @@ description: Distinct count of users that imported issues into projects using Ji
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180724_fogbugz.yml b/config/metrics/counts_all/20210216180724_fogbugz.yml
index 1e1d587e434..25087474a43 100644
--- a/config/metrics/counts_all/20210216180724_fogbugz.yml
+++ b/config/metrics/counts_all/20210216180724_fogbugz.yml
@@ -5,13 +5,15 @@ description: 'Distinct count of users that imported issues into projects using F
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180726_phabricator.yml b/config/metrics/counts_all/20210216180726_phabricator.yml
index 1f4b2ed0460..3b6333343c2 100644
--- a/config/metrics/counts_all/20210216180726_phabricator.yml
+++ b/config/metrics/counts_all/20210216180726_phabricator.yml
@@ -5,13 +5,15 @@ description: Distinct count of users that imported issues into projects using Ph
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180727_csv.yml b/config/metrics/counts_all/20210216180727_csv.yml
index a50733d361e..d13e517cf3d 100644
--- a/config/metrics/counts_all/20210216180727_csv.yml
+++ b/config/metrics/counts_all/20210216180727_csv.yml
@@ -6,13 +6,15 @@ description: Distinct count of users that imported issues into projects using CS
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216180729_groups_imported.yml b/config/metrics/counts_all/20210216180729_groups_imported.yml
index 47f4a54cf8e..e83133bb16b 100644
--- a/config/metrics/counts_all/20210216180729_groups_imported.yml
+++ b/config/metrics/counts_all/20210216180729_groups_imported.yml
@@ -5,13 +5,15 @@ description: Distinct count of users that imported groups using Group Import
product_section: dev
product_stage: manage
product_group: group::import
-product_category:
+product_category: importers
value_type: number
status: deprecated
time_frame: all
-data_source:
+data_source: database
distribution:
- ce
+- ee
tier:
- free
-skip_validation: true
+- premium
+- ultimate
diff --git a/config/metrics/schema.json b/config/metrics/schema.json
index 0ce5a163184..59918314e5e 100644
--- a/config/metrics/schema.json
+++ b/config/metrics/schema.json
@@ -72,6 +72,13 @@
"enum": ["ee", "ce"]
}
},
+ "performance_indicator_type": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": ["gmau", "smau", "paid_gmau", "umau"]
+ }
+ },
"tier": {
"type": "array",
"items": {
diff --git a/doc/administration/monitoring/performance/performance_bar.md b/doc/administration/monitoring/performance/performance_bar.md
index 5a7e8e12a38..6d806f9ee2a 100644
--- a/doc/administration/monitoring/performance/performance_bar.md
+++ b/doc/administration/monitoring/performance/performance_bar.md
@@ -4,17 +4,19 @@ group: Monitor
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Performance Bar **(FREE SELF)**
+# Performance bar **(FREE SELF)**
-> The **Stats** field [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/271551) in GitLab 13.9.
-> The **Memory** field [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/330736) in GitLab 14.0.
+> - The **Stats** field [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/271551) in GitLab 13.9.
+> - The **Memory** field [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/330736) in GitLab 14.0.
-You can display the GitLab Performance Bar to see statistics for the performance
-of a page. When activated, it looks as follows:
+You can display the performance bar to see statistics for the performance of a GitLab UI page.
+For example:
-![Performance Bar](img/performance_bar_v14_0.png)
+![Performance bar](img/performance_bar_v14_0.png)
-From left to right, it displays:
+## Available information
+
+From left to right, the performance bar displays:
- **Current Host**: the current host serving the page.
- **Database queries**: the time taken (in milliseconds) and the total number
@@ -57,8 +59,17 @@ From left to right, it displays:
NOTE:
Not all indicators are available in all environments. For instance, the memory view
-requires to run Ruby with [specific patches](https://gitlab.com/gitlab-org/gitlab-build-images/-/blob/master/patches/ruby/2.7.2/thread-memory-allocations-2.7.patch) applied.
-When running GitLab locally using the GDK this is typically not the case and the memory view cannot be used.
+requires running Ruby with [specific patches](https://gitlab.com/gitlab-org/gitlab-build-images/-/blob/master/patches/ruby/2.7.2/thread-memory-allocations-2.7.patch)
+applied. When running GitLab locally using [GDK](../../../development/contributing/index.md#gitlab-development-kit),
+this is typically not the case and the memory view cannot be used.
+
+## Keyboard shortcut
+
+Press the [<kbd>p</kbd> + <kbd>b</kbd> keyboard shortcut](../../../user/shortcuts.md) to display
+the performance bar, and again to hide it.
+
+For non-administrators to display the performance bar, it must be
+[enabled for them](#enable-the-performance-bar-for-non-administrators).
## Request warnings
@@ -74,23 +85,17 @@ appears next to requests with warnings.
![Request selector showing two requests with warnings](img/performance_bar_request_selector_warning.png)
-## Enable the Performance Bar via the Admin Area
+## Enable the performance bar for non-administrators
-The GitLab Performance Bar is disabled by default for non-administrators. To enable it
+The performance bar is disabled by default for non-administrators. To enable it
for a given group:
-1. Sign in as a user with Administrator [permissions](../../../user/permissions.md).
+1. Sign in as a user with Administrator [role](../../../user/permissions.md).
1. On the top bar, select **Menu >** **{admin}** **Admin**.
1. On the left sidebar, select **Settings > Metrics and profiling**
(`admin/application_settings/metrics_and_profiling`), and expand
**Profiling - Performance bar**.
-1. Click **Enable access to the Performance Bar**.
-1. In the **Allowed group** field, provide the full path of the group allowed
- to access the GitLab Performance Bar.
+1. Click **Allow non-administrators to access to the performance bar**.
+1. In the **Allow access to members of the following group** field, provide the full path of the
+ group allowed to access the performance.
1. Click **Save changes**.
-
-## Keyboard shortcut for the Performance Bar
-
-After enabling the GitLab Performance Bar, press the [<kbd>p</kbd> +
-<kbd>b</kbd> keyboard shortcut](../../../user/shortcuts.md) to display it, and
-again to hide it.
diff --git a/doc/administration/wikis/index.md b/doc/administration/wikis/index.md
index bf6ff457ad3..01c175e014e 100644
--- a/doc/administration/wikis/index.md
+++ b/doc/administration/wikis/index.md
@@ -74,6 +74,14 @@ You can also use the API to [retrieve the current value](../../api/settings.md#g
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/application/settings"
```
+### Reduce wiki repository size
+
+The wiki counts as part of the [namespace storage size](../../user/admin_area/settings/account_and_limit_settings.md),
+so you should keep your wiki repositories as compact as possible.
+
+For more information about tools to compact repositories,
+read the documentation on [reducing repository size](../../user/project/repository/reducing_the_repo_size_using_git.md).
+
## Related topics
- [User documentation for wikis](../../user/project/wiki/index.md)
diff --git a/doc/ci/docker/using_kaniko.md b/doc/ci/docker/using_kaniko.md
index 108d4e0dcad..6886899a54b 100644
--- a/doc/ci/docker/using_kaniko.md
+++ b/doc/ci/docker/using_kaniko.md
@@ -64,7 +64,7 @@ build:
entrypoint: [""]
script:
- mkdir -p /kaniko/.docker
- - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
+ - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64)\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
rules:
- if: $CI_COMMIT_TAG
@@ -91,7 +91,7 @@ build:
- mkdir -p /kaniko/.docker
- |-
KANIKOPROXYBUILDARGS=""
- KANIKOCFG="{ \"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}"
+ KANIKOCFG="{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64)\"}}}"
if [ "x${http_proxy}" != "x" -o "x${https_proxy}" != "x" ]; then
KANIKOCFG="${KANIKOCFG}, \"proxies\": { \"default\": { \"httpProxy\": \"${http_proxy}\", \"httpsProxy\": \"${https_proxy}\", \"noProxy\": \"${no_proxy}\"}}"
KANIKOPROXYBUILDARGS="--build-arg http_proxy=${http_proxy} --build-arg https_proxy=${https_proxy} --build-arg no_proxy=${no_proxy}"
@@ -120,7 +120,7 @@ store:
```yaml
before_script:
- mkdir -p /kaniko/.docker
- - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
+ - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64)\"}}}" > /kaniko/.docker/config.json
- |
echo "-----BEGIN CERTIFICATE-----
...
diff --git a/doc/development/service_ping/metrics_dictionary.md b/doc/development/service_ping/metrics_dictionary.md
index 9d668f37e79..5dec8d53079 100644
--- a/doc/development/service_ping/metrics_dictionary.md
+++ b/doc/development/service_ping/metrics_dictionary.md
@@ -40,6 +40,7 @@ Each metric is defined in a separate YAML file consisting of a number of fields:
| `data_category` | yes | `string`; [categories](#data-category) of the metric, may be set to `Operational`, `Optional`, `Subscription`, `Standard`. The default value is `Optional`.|
| `instrumentation_class` | no | `string`; [the class that implements the metric](metrics_instrumentation.md). |
| `distribution` | yes | `array`; may be set to one of `ce, ee` or `ee`. The [distribution](https://about.gitlab.com/handbook/marketing/strategic-marketing/tiers/#definitions) where the tracked feature is available. |
+| `performance_indicator_type` | no | `array`; may be set to one of [`gmau`, `smau`, `paid_gmau`, or `umau`](https://about.gitlab.com/handbook/business-technology/data-team/data-catalog/xmau-analysis/). |
| `tier` | yes | `array`; may be set to one of `free, premium, ultimate`, `premium, ultimate` or `ultimate`. The [tier]( https://about.gitlab.com/handbook/marketing/strategic-marketing/tiers/) where the tracked feature is available. |
| `milestone` | no | The milestone when the metric is introduced. |
| `milestone_removed` | no | The milestone when the metric is removed. |
diff --git a/doc/development/usage_ping/dictionary.md b/doc/development/usage_ping/dictionary.md
index 6229f308671..6640f5c0b45 100644
--- a/doc/development/usage_ping/dictionary.md
+++ b/doc/development/usage_ping/dictionary.md
@@ -386,7 +386,7 @@ Tiers: `premium`, `ultimate`
### `compliance_unique_visits.g_compliance_dashboard`
-Number of unique visitors to the compliance report.
+Number of unique visitors to the compliance dashboard.
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216183904_g_compliance_dashboard.yml)
@@ -5314,7 +5314,7 @@ Tiers: `free`, `premium`, `ultimate`
### `counts.projects_imported_from_github`
-Missing description
+Count of projects imported from GitHub
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216180628_projects_imported_from_github.yml)
@@ -5324,7 +5324,7 @@ Data Category: `Operational`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `counts.projects_inheriting_asana_active`
@@ -7848,7 +7848,7 @@ Tiers: `free`, `premium`, `ultimate`
### `counts_monthly.aggregated_metrics.compliance_features_track_unique_visits_union`
-Unique users that have used audit event screen, audit event API, compliance report, or credential inventory
+Unique users that have used audit event screen, audit event API, compliance dashboard, or credential inventory
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216183201_compliance_features_track_unique_visits_union.yml)
@@ -11824,7 +11824,7 @@ Tiers: `premium`, `ultimate`
### `redis_hll_counters.compliance.g_compliance_dashboard_monthly`
-Unique users who have viewed the compliance report in a given month.
+Unique users who have viewed the compliance dashboard in a given month.
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216183926_g_compliance_dashboard_monthly.yml)
@@ -19024,7 +19024,7 @@ Tiers: `premium`, `ultimate`
### `usage_activity_by_stage.create.projects_imported_from_github`
-Missing description
+Count of projects imported from GitHub
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216180630_projects_imported_from_github.yml)
@@ -19034,7 +19034,7 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.create.projects_with_disable_overriding_approvers_per_merge_request`
@@ -19258,7 +19258,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.bulk_imports.gitlab_v1`
@@ -19272,7 +19272,7 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.compliance_frameworks_with_pipeline`
@@ -19328,11 +19328,11 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.group_imports.group_import`
-Count of group imports using Group Import/Export
+Count of groups imported using Group Import/Export
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216180702_group_import.yml)
@@ -19342,7 +19342,7 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.group_saml_enabled`
@@ -19384,7 +19384,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.issue_imports.csv`
@@ -19398,7 +19398,7 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.issue_imports.fogbugz`
@@ -19412,7 +19412,7 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.issue_imports.jira`
@@ -19426,7 +19426,7 @@ Data Category: `Operational`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.issue_imports.phabricator`
@@ -19440,7 +19440,7 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.issues_imported.csv`
@@ -19454,7 +19454,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.issues_imported.fogbugz`
@@ -19468,7 +19468,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.issues_imported.jira`
@@ -19482,7 +19482,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.issues_imported.phabricator`
@@ -19496,7 +19496,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.ldap_admin_sync_enabled`
@@ -19734,7 +19734,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_imported.bitbucket_server`
@@ -19748,7 +19748,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_imported.git`
@@ -19762,7 +19762,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_imported.gitea`
@@ -19776,7 +19776,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_imported.github`
@@ -19790,7 +19790,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_imported.gitlab`
@@ -19804,7 +19804,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_imported.gitlab_project`
@@ -19818,7 +19818,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_imported.manifest`
@@ -19832,7 +19832,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_imported.total`
@@ -19846,7 +19846,7 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.projects_with_compliance_framework`
@@ -19874,7 +19874,7 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage.manage.user_auth_by_provider.google_oauth2`
@@ -21476,7 +21476,7 @@ Tiers: `premium`, `ultimate`
### `usage_activity_by_stage_monthly.create.projects_imported_from_github`
-Missing description
+Count of projects imported from GitHub
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216180731_projects_imported_from_github.yml)
@@ -21486,7 +21486,7 @@ Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.create.projects_with_disable_overriding_approvers_per_merge_request`
@@ -21672,31 +21672,31 @@ Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.bulk_imports.gitlab`
-Missing description
+DEPRECATED - Count of projects imported using bulk imports
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183640_gitlab.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.bulk_imports.gitlab_v1`
-Missing description
+Count of bulk imports - GitLab Migration
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183642_gitlab_v1.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.compliance_frameworks_with_pipeline`
@@ -21742,17 +21742,17 @@ Tiers: `free`
### `usage_activity_by_stage_monthly.manage.group_imports.gitlab_migration`
-Missing description
+Count of groups imported using GitLab Migration
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183711_gitlab_migration.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.group_imports.group_import`
@@ -21798,7 +21798,7 @@ Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.groups_imported`
-Missing description
+Count of imported groups
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183737_groups_imported.yml)
@@ -21808,119 +21808,119 @@ Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.issue_imports.csv`
-Missing description
+Count of (issue) imports from CSV file
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183707_csv.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.issue_imports.fogbugz`
-Missing description
+Count of imports from Fogbugz
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183703_fogbugz.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.issue_imports.jira`
-Missing description
+Count of imports from Jira
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183701_jira.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.issue_imports.phabricator`
-Missing description
+Count of imports from Phabricator
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183705_phabricator.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `data_available`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.issues_imported.csv`
-Missing description
+Count of projects imported from CSV file
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183735_csv.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.issues_imported.fogbugz`
-Missing description
+Count of projects imported from Fogbugz
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183731_fogbugz.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.issues_imported.jira`
-Missing description
+Count of projects imported from Jira
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183730_jira.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.issues_imported.phabricator`
-Missing description
+Count of projects imported from Phabricator
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183733_phabricator.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.ldap_admin_sync_enabled`
@@ -22092,7 +22092,7 @@ Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.project_imports.gitlab_migration`
-Missing description
+Count of projects imported using GitLab Migration
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183659_gitlab_migration.yml)
@@ -22106,7 +22106,7 @@ Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.project_imports.gitlab_project`
-Missing description
+Count of projects imported using Project Import/Export
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183644_gitlab_project.yml)
@@ -22120,7 +22120,7 @@ Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.project_imports.manifest`
-Missing description
+Count of projects imported using Manifest file
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183657_manifest.yml)
@@ -22176,101 +22176,101 @@ Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.projects_imported.git`
-Missing description
+Count of projects imported from Git
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183726_git.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.projects_imported.gitea`
-Missing description
+Count of projects imported from Gitea
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183724_gitea.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.projects_imported.github`
-Missing description
+Count of projects imported from GitHub
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183718_github.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.projects_imported.gitlab`
-Missing description
+Count of projects imported using Project Import/Export
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183716_gitlab.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.projects_imported.gitlab_project`
-Missing description
+Count of projects imported using Project Import/Export
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183714_gitlab_project.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.projects_imported.manifest`
-Missing description
+Count of projects imported from Git using file Manifest
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183728_manifest.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.projects_imported.total`
-Missing description
+Count of all imported projects
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183712_total.yml)
-Group: ``
+Group: `group::import`
Data Category: `Optional`
Status: `deprecated`
-Tiers: `free`
+Tiers: `free`, `premium`, `ultimate`
### `usage_activity_by_stage_monthly.manage.projects_with_compliance_framework`
@@ -22288,7 +22288,7 @@ Tiers:
### `usage_activity_by_stage_monthly.manage.unique_users_all_imports`
-Number of users from projects imported
+Number of unique users performing imports
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216183638_unique_users_all_imports.yml)
diff --git a/doc/user/admin_area/settings/index.md b/doc/user/admin_area/settings/index.md
index 7f867ad4bbb..6f8aa6a2e04 100644
--- a/doc/user/admin_area/settings/index.md
+++ b/doc/user/admin_area/settings/index.md
@@ -84,7 +84,7 @@ To access the default page for Admin Area settings:
| ------ | ----------- |
| [Metrics - Prometheus](../../../administration/monitoring/prometheus/gitlab_metrics.md) | Enable and configure Prometheus metrics. |
| [Metrics - Grafana](../../../administration/monitoring/performance/grafana_configuration.md#integration-with-gitlab-ui) | Enable and configure Grafana. |
-| [Profiling - Performance bar](../../../administration/monitoring/performance/performance_bar.md#enable-the-performance-bar-via-the-admin-area) | Enable access to the Performance Bar for a given group. |
+| [Profiling - Performance bar](../../../administration/monitoring/performance/performance_bar.md#enable-the-performance-bar-for-non-administrators) | Enable access to the Performance Bar for non-administrator users in a given group. |
| [Self monitoring](../../../administration/monitoring/gitlab_self_monitoring_project/index.md#create-the-self-monitoring-project) | Enable or disable instance self monitoring. |
| [Usage statistics](usage_statistics.md) | Enable or disable version check and Service Ping. |
| [Pseudonymizer data collection](../../../administration/pseudonymizer.md) **(ULTIMATE)** | Enable or disable the Pseudonymizer data collection. |
diff --git a/generator_templates/usage_metric_definition/metric_definition.yml b/generator_templates/usage_metric_definition/metric_definition.yml
index 209ff628eb5..8dc7db146eb 100644
--- a/generator_templates/usage_metric_definition/metric_definition.yml
+++ b/generator_templates/usage_metric_definition/metric_definition.yml
@@ -12,6 +12,7 @@ introduced_by_url:
time_frame: <%= time_frame %>
data_source:
data_category: Optional
+performance_indicator_type:
distribution:
<%= distribution %>
tier:
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 231800642aa..5f136655a92 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -3282,6 +3282,9 @@ msgstr ""
msgid "Allow \"%{group_name}\" to sign you in"
msgstr ""
+msgid "Allow access to members of the following group"
+msgstr ""
+
msgid "Allow access to the following IP addresses"
msgstr ""
@@ -3291,6 +3294,9 @@ msgstr ""
msgid "Allow group owners to manage LDAP-related settings"
msgstr ""
+msgid "Allow non-administrators to access to the performance bar"
+msgstr ""
+
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
@@ -3354,9 +3360,6 @@ msgstr ""
msgid "Allowed email domain restriction only permitted for top-level groups"
msgstr ""
-msgid "Allowed group"
-msgstr ""
-
msgid "Allowed to create:"
msgstr ""
@@ -3909,9 +3912,6 @@ msgstr ""
msgid "Any namespace"
msgstr ""
-msgid "Any user"
-msgstr ""
-
msgid "App ID"
msgstr ""
@@ -5296,6 +5296,24 @@ msgstr ""
msgid "BoardNewIssue|Select a project"
msgstr ""
+msgid "BoardScope|An error occurred while searching for users, please try again."
+msgstr ""
+
+msgid "BoardScope|Any assignee"
+msgstr ""
+
+msgid "BoardScope|Assignee"
+msgstr ""
+
+msgid "BoardScope|Edit"
+msgstr ""
+
+msgid "BoardScope|No matching results"
+msgstr ""
+
+msgid "BoardScope|Select assignee"
+msgstr ""
+
msgid "Boards"
msgstr ""
@@ -11219,6 +11237,9 @@ msgstr ""
msgid "DevOps adoption"
msgstr ""
+msgid "Devices (optional)"
+msgstr ""
+
msgid "DevopsAdoption|%{adoptedCount}/%{featuresCount} %{title} features adopted"
msgstr ""
@@ -12124,10 +12145,7 @@ msgstr ""
msgid "Enable a Prometheus metrics endpoint at %{metrics_path} to expose a variety of statistics on the health and performance of GitLab. Additional information on authenticating and connecting to the metrics endpoint is available %{link}."
msgstr ""
-msgid "Enable access to the Performance Bar"
-msgstr ""
-
-msgid "Enable access to the Performance Bar for a given group."
+msgid "Enable access to the performance bar for non-administrators in a given group."
msgstr ""
msgid "Enable and configure Prometheus metrics."
@@ -26807,34 +26825,34 @@ msgstr ""
msgid "PushoverService|%{user_name} pushed new branch \"%{ref}\"."
msgstr ""
-msgid "PushoverService|Get real-time notifications on your device."
+msgid "PushoverService|Enter your application key."
msgstr ""
-msgid "PushoverService|High Priority"
+msgid "PushoverService|Enter your user key."
msgstr ""
-msgid "PushoverService|Leave blank for all active devices"
+msgid "PushoverService|Get real-time notifications on your device."
msgstr ""
-msgid "PushoverService|Low Priority"
+msgid "PushoverService|High priority"
msgstr ""
-msgid "PushoverService|Lowest Priority"
+msgid "PushoverService|Leave blank for all active devices."
msgstr ""
-msgid "PushoverService|Normal Priority"
+msgid "PushoverService|Low priority"
msgstr ""
-msgid "PushoverService|See project %{project_full_name}"
+msgid "PushoverService|Lowest priority"
msgstr ""
-msgid "PushoverService|Total commits count: %{total_commits_count}"
+msgid "PushoverService|Normal priority"
msgstr ""
-msgid "PushoverService|Your application key"
+msgid "PushoverService|See project %{project_full_name}"
msgstr ""
-msgid "PushoverService|Your user key"
+msgid "PushoverService|Total commits count: %{total_commits_count}"
msgstr ""
msgid "Quarters"
@@ -29582,9 +29600,6 @@ msgstr ""
msgid "Select type"
msgstr ""
-msgid "Select user"
-msgstr ""
-
msgid "Selected"
msgstr ""
@@ -35700,6 +35715,9 @@ msgstr ""
msgid "User is not allowed to resolve thread"
msgstr ""
+msgid "User key"
+msgstr ""
+
msgid "User key was successfully removed."
msgstr ""
diff --git a/qa/qa/resource/base.rb b/qa/qa/resource/base.rb
index ca0087cf709..88b388bd2e0 100644
--- a/qa/qa/resource/base.rb
+++ b/qa/qa/resource/base.rb
@@ -75,19 +75,18 @@ module QA
end
def log_fabrication(method, resource, parents, args)
- return yield unless Runtime::Env.debug?
-
start = Time.now
- prefix = "==#{'=' * parents.size}>"
- msg = [prefix]
- msg << "Built a #{name}"
- msg << "as a dependency of #{parents.last}" if parents.any?
- msg << "via #{method}"
yield.tap do
- msg << "in #{Time.now - start} seconds"
- puts msg.join(' ')
- puts if parents.empty?
+ Runtime::Logger.debug do
+ msg = ["==#{'=' * parents.size}>"]
+ msg << "Built a #{name}"
+ msg << "as a dependency of #{parents.last}" if parents.any?
+ msg << "via #{method}"
+ msg << "in #{Time.now - start} seconds"
+
+ msg.join(' ')
+ end
end
end
diff --git a/qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb b/qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb
index 1803b4b16de..1926617fb7e 100644
--- a/qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb
+++ b/qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb
@@ -1,8 +1,8 @@
# frozen_string_literal: true
module QA
- RSpec.describe 'Configure' do
- describe 'Kubernetes Cluster Integration', :orchestrated, :kubernetes, :requires_admin, :skip_live_env, quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/225315', type: :flaky } do
+ RSpec.describe 'Configure', except: { job: 'review-qa-*' } do
+ describe 'Kubernetes Cluster Integration', :requires_admin, :skip_live_env do
context 'Project Clusters' do
let!(:cluster) { Service::KubernetesCluster.new(provider_class: Service::ClusterProvider::K3s).create! }
let(:project) do
@@ -20,7 +20,7 @@ module QA
cluster.remove!
end
- it 'can create and associate a project cluster', :smoke, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/707' do
+ it 'can create and associate a project cluster', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/707' do
Resource::KubernetesCluster::ProjectCluster.fabricate_via_browser_ui! do |k8s_cluster|
k8s_cluster.project = project
k8s_cluster.cluster = cluster
diff --git a/qa/spec/resource/base_spec.rb b/qa/spec/resource/base_spec.rb
index c0bedf794be..a60bb3e6eaf 100644
--- a/qa/spec/resource/base_spec.rb
+++ b/qa/spec/resource/base_spec.rb
@@ -6,7 +6,7 @@ RSpec.describe QA::Resource::Base do
let(:resource) { spy('resource') }
let(:location) { 'http://location' }
- shared_context 'fabrication context' do
+ shared_context 'with fabrication context' do
subject do
Class.new(described_class) do
def self.name
@@ -28,24 +28,14 @@ RSpec.describe QA::Resource::Base do
expect(resource).to receive(:something!).ordered
expect(resource).to receive(fabrication_method_used).ordered.and_return(location)
- subject.public_send(fabrication_method_called, resource: resource) do |resource|
- resource.something!
- end
- end
-
- it 'does not log the resource and build method when QA_DEBUG=false' do
- stub_env('QA_DEBUG', 'false')
- expect(resource).to receive(fabrication_method_used).and_return(location)
-
- expect { subject.public_send(fabrication_method_called, 'something', resource: resource) }
- .not_to output.to_stdout
+ subject.public_send(fabrication_method_called, resource: resource, &:something!)
end
end
describe '.fabricate!' do
context 'when resource does not support fabrication via the API' do
before do
- expect(described_class).to receive(:fabricate_via_api!).and_raise(NotImplementedError)
+ allow(described_class).to receive(:fabricate_via_api!).and_raise(NotImplementedError)
end
it 'calls .fabricate_via_browser_ui!' do
@@ -65,7 +55,7 @@ RSpec.describe QA::Resource::Base do
end
describe '.fabricate_via_api!' do
- include_context 'fabrication context'
+ include_context 'with fabrication context'
it_behaves_like 'fabrication method', :fabricate_via_api!
@@ -77,18 +67,25 @@ RSpec.describe QA::Resource::Base do
expect(result).to eq(resource)
end
- it 'logs the resource and build method when QA_DEBUG=true' do
- stub_env('QA_DEBUG', 'true')
- expect(resource).to receive(:fabricate_via_api!).and_return(location)
+ context "with debug log level" do
+ before do
+ allow(QA::Runtime::Logger).to receive(:debug)
+ end
+
+ it 'logs the resource and build method' do
+ stub_env('QA_DEBUG', 'true')
+
+ subject.fabricate_via_api!('something', resource: resource, parents: [])
- expect { subject.fabricate_via_api!('something', resource: resource, parents: []) }
- .to output(/==> Built a MyResource via api in [\d\.\-e]+ seconds+/)
- .to_stdout
+ expect(QA::Runtime::Logger).to have_received(:debug) do |&msg|
+ expect(msg.call).to match_regex(/==> Built a MyResource via api in [\d.\-e]+ seconds+/)
+ end
+ end
end
end
describe '.fabricate_via_browser_ui!' do
- include_context 'fabrication context'
+ include_context 'with fabrication context'
it_behaves_like 'fabrication method', :fabricate_via_browser_ui!, :fabricate!
@@ -104,16 +101,24 @@ RSpec.describe QA::Resource::Base do
expect(result).to eq(resource)
end
- it 'logs the resource and build method when QA_DEBUG=true' do
- stub_env('QA_DEBUG', 'true')
+ context "with debug log level" do
+ before do
+ allow(QA::Runtime::Logger).to receive(:debug)
+ end
+
+ it 'logs the resource and build method' do
+ stub_env('QA_DEBUG', 'true')
+
+ subject.fabricate_via_browser_ui!('something', resource: resource, parents: [])
- expect { subject.fabricate_via_browser_ui!('something', resource: resource, parents: []) }
- .to output(/==> Built a MyResource via browser_ui in [\d\.\-e]+ seconds+/)
- .to_stdout
+ expect(QA::Runtime::Logger).to have_received(:debug) do |&msg|
+ expect(msg.call).to match_regex(/==> Built a MyResource via browser_ui in [\d.\-e]+ seconds+/)
+ end
+ end
end
end
- shared_context 'simple resource' do
+ shared_context 'with simple resource' do
subject do
Class.new(QA::Resource::Base) do
attribute :test do
@@ -136,7 +141,7 @@ RSpec.describe QA::Resource::Base do
end
describe '.attribute' do
- include_context 'simple resource'
+ include_context 'with simple resource'
context 'when the attribute is populated via a block' do
it 'returns value from the block' do
@@ -151,7 +156,7 @@ RSpec.describe QA::Resource::Base do
let(:api_resource) { { no_block: 'api' } }
before do
- expect(resource).to receive(:api_resource).and_return(api_resource)
+ allow(resource).to receive(:api_resource).and_return(api_resource)
end
it 'returns value from api' do
@@ -209,8 +214,9 @@ RSpec.describe QA::Resource::Base do
it 'raises an error because no values could be found' do
result = subject.fabricate!(resource: resource)
- expect { result.no_block }
- .to raise_error(described_class::NoValueError, "No value was computed for no_block of #{resource.class.name}.")
+ expect { result.no_block }.to raise_error(
+ described_class::NoValueError, "No value was computed for no_block of #{resource.class.name}."
+ )
end
end
@@ -254,7 +260,7 @@ RSpec.describe QA::Resource::Base do
end
describe '#web_url' do
- include_context 'simple resource'
+ include_context 'with simple resource'
it 'sets #web_url to #current_url after fabrication' do
subject.fabricate!(resource: resource)
@@ -264,7 +270,7 @@ RSpec.describe QA::Resource::Base do
end
describe '#visit!' do
- include_context 'simple resource'
+ include_context 'with simple resource'
before do
allow(resource).to receive(:visit)
diff --git a/scripts/trigger-build b/scripts/trigger-build
index c65fb5b5f76..8f66e8974ef 100755
--- a/scripts/trigger-build
+++ b/scripts/trigger-build
@@ -124,14 +124,19 @@ module Trigger
end
class Omnibus < Base
+ def self.access_token
+ # Default to "Multi-pipeline (from 'gitlab-org/gitlab' 'package-and-qa' job)" at https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/-/settings/access_tokens
+ ENV['OMNIBUS_GITLAB_PROJECT_ACCESS_TOKEN'] || super
+ end
+
private
def downstream_project_path
- ENV['OMNIBUS_PROJECT_PATH'] || 'gitlab-org/build/omnibus-gitlab-mirror'
+ ENV.fetch('OMNIBUS_PROJECT_PATH', 'gitlab-org/build/omnibus-gitlab-mirror')
end
def ref
- ENV['OMNIBUS_BRANCH'] || 'master'
+ ENV.fetch('OMNIBUS_BRANCH', 'master')
end
def extra_variables
@@ -154,25 +159,21 @@ module Trigger
end
class CNG < Base
+ def self.access_token
+ # Default to "Multi-pipeline (from 'gitlab-org/gitlab' 'cloud-native-image' job)" at https://gitlab.com/gitlab-org/build/CNG/-/settings/access_tokens
+ ENV['CNG_PROJECT_ACCESS_TOKEN'] || super
+ end
+
private
def downstream_project_path
- ENV['CNG_PROJECT_PATH'] || 'gitlab-org/build/CNG-mirror'
+ ENV.fetch('CNG_PROJECT_PATH', 'gitlab-org/build/CNG')
end
def ref
- default_ref =
- if ENV['CI_COMMIT_REF_NAME'] =~ /^[\d-]+-stable(-ee)?$/
- ENV['CI_COMMIT_REF_NAME']
- else
- 'master'
- end
-
- ENV['CNG_BRANCH'] || default_ref
- end
+ return ENV['CI_COMMIT_REF_NAME'] if ENV['CI_COMMIT_REF_NAME'] =~ /^[\d-]+-stable(-ee)?$/
- def trigger_token
- ENV['CI_JOB_TOKEN']
+ ENV.fetch('CNG_BRANCH', 'master')
end
def extra_variables
@@ -204,7 +205,8 @@ module Trigger
class Docs < Base
def self.access_token
- ENV['DOCS_PROJECT_API_TOKEN']
+ # Default to "DOCS_PROJECT_API_TOKEN" at https://gitlab.com/gitlab-org/gitlab-docs/-/settings/access_tokens
+ ENV['DOCS_PROJECT_API_TOKEN'] || super
end
SUCCESS_MESSAGE = <<~MSG
@@ -253,11 +255,11 @@ module Trigger
end
def downstream_project_path
- ENV['DOCS_PROJECT_PATH'] || 'gitlab-org/gitlab-docs'
+ ENV.fetch('DOCS_PROJECT_PATH', 'gitlab-org/gitlab-docs')
end
def ref
- ENV['DOCS_BRANCH'] || 'main'
+ ENV.fetch('DOCS_BRANCH', 'main')
end
# `gitlab-org/gitlab-docs` pipeline trigger "Triggered from gitlab-org/gitlab 'review-docs-deploy' job"
@@ -349,7 +351,7 @@ module Trigger
end
def downstream_project_path
- ENV['GITLABCOM_DATABASE_TESTING_PROJECT_PATH'] || 'gitlab-com/database-team/gitlab-com-database-testing'
+ ENV.fetch('GITLABCOM_DATABASE_TESTING_PROJECT_PATH', 'gitlab-com/database-team/gitlab-com-database-testing')
end
def extra_variables
diff --git a/spec/features/admin/admin_settings_spec.rb b/spec/features/admin/admin_settings_spec.rb
index 9efb31ef4c1..a7f3272c06d 100644
--- a/spec/features/admin/admin_settings_spec.rb
+++ b/spec/features/admin/admin_settings_spec.rb
@@ -502,23 +502,23 @@ RSpec.describe 'Admin updates settings' do
group = create(:group)
page.within('.as-performance-bar') do
- check 'Enable access to the Performance Bar'
- fill_in 'Allowed group', with: group.path
+ check 'Allow non-administrators to access to the performance bar'
+ fill_in 'Allow access to members of the following group', with: group.path
click_on 'Save changes'
end
expect(page).to have_content "Application settings saved successfully"
- expect(find_field('Enable access to the Performance Bar')).to be_checked
- expect(find_field('Allowed group').value).to eq group.path
+ expect(find_field('Allow non-administrators to access to the performance bar')).to be_checked
+ expect(find_field('Allow access to members of the following group').value).to eq group.path
page.within('.as-performance-bar') do
- uncheck 'Enable access to the Performance Bar'
+ uncheck 'Allow non-administrators to access to the performance bar'
click_on 'Save changes'
end
expect(page).to have_content 'Application settings saved successfully'
- expect(find_field('Enable access to the Performance Bar')).not_to be_checked
- expect(find_field('Allowed group').value).to be_nil
+ expect(find_field('Allow non-administrators to access to the performance bar')).not_to be_checked
+ expect(find_field('Allow access to members of the following group').value).to be_nil
end
it 'loads usage ping payload on click', :js do
diff --git a/spec/features/profile_spec.rb b/spec/features/profile_spec.rb
index 0f453f1c1e5..9a261c6d9c8 100644
--- a/spec/features/profile_spec.rb
+++ b/spec/features/profile_spec.rb
@@ -74,8 +74,6 @@ RSpec.describe 'Profile account page', :js do
expect(find('#feed_token').value).not_to eq(previous_token)
end
-
- expect(page).to have_content 'Feed token was successfully reset'
end
end
diff --git a/spec/features/projects/services/user_activates_pushover_spec.rb b/spec/features/projects/services/user_activates_pushover_spec.rb
index 97003ab7c2a..d92f69e700a 100644
--- a/spec/features/projects/services/user_activates_pushover_spec.rb
+++ b/spec/features/projects/services/user_activates_pushover_spec.rb
@@ -14,7 +14,7 @@ RSpec.describe 'User activates Pushover' do
fill_in('API key', with: 'verySecret')
fill_in('User key', with: 'verySecret')
fill_in('Device', with: 'myDevice')
- select('High Priority', from: 'Priority')
+ select('High priority', from: 'Priority')
select('Bike', from: 'Sound')
click_test_then_save_integration(expect_test_to_fail: false)
diff --git a/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric.yml b/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric.yml
index f694e617320..af5704f7d01 100644
--- a/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric.yml
+++ b/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric.yml
@@ -13,6 +13,7 @@ introduced_by_url:
time_frame: 7d
data_source:
data_category: Operational
+performance_indicator_type:
distribution:
- ce
# Add here corresponding tiers
diff --git a/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_ee.yml b/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_ee.yml
index 9de4d2a5644..6f4e2b3f9ee 100644
--- a/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_ee.yml
+++ b/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_ee.yml
@@ -13,6 +13,7 @@ introduced_by_url:
time_frame: 7d
data_source:
data_category: Optional
+performance_indicator_type:
distribution:
- ee
tier:
diff --git a/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_name_suggestions.yml b/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_name_suggestions.yml
index 0e7de369c82..a0e5ea799a5 100644
--- a/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_name_suggestions.yml
+++ b/spec/fixtures/lib/generators/gitlab/usage_metric_definition_generator/sample_metric_with_name_suggestions.yml
@@ -14,6 +14,7 @@ introduced_by_url:
time_frame: 7d
data_source:
data_category: Optional
+performance_indicator_type:
distribution:
- ce
- ee
diff --git a/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js b/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
index f5e5ab4a984..6355b3542cd 100644
--- a/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
+++ b/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
@@ -451,7 +451,6 @@ describe('SidebarDropdownWidget', () => {
expect(projectMilestonesSpy).toHaveBeenNthCalledWith(1, {
fullPath: mockIssue.projectPath,
- sort: null,
state: 'active',
title: '',
});
@@ -478,7 +477,6 @@ describe('SidebarDropdownWidget', () => {
expect(projectMilestonesSpy).toHaveBeenNthCalledWith(2, {
fullPath: mockIssue.projectPath,
- sort: null,
state: 'active',
title: mockSearchTerm,
});
diff --git a/spec/frontend/sidebar/mock_data.js b/spec/frontend/sidebar/mock_data.js
index 9fab24d7518..2da007fb549 100644
--- a/spec/frontend/sidebar/mock_data.js
+++ b/spec/frontend/sidebar/mock_data.js
@@ -415,7 +415,7 @@ const mockUser1 = {
status: null,
};
-const mockUser2 = {
+export const mockUser2 = {
id: 'gid://gitlab/User/4',
avatarUrl: '/avatar2',
name: 'rookie',
@@ -452,9 +452,40 @@ export const projectMembersResponse = {
null,
null,
// Remove duplicated entry https://gitlab.com/gitlab-org/gitlab/-/issues/327822
- mockUser1,
- mockUser1,
- mockUser2,
+ { user: mockUser1 },
+ { user: mockUser1 },
+ { user: mockUser2 },
+ {
+ user: {
+ id: 'gid://gitlab/User/2',
+ avatarUrl:
+ 'https://www.gravatar.com/avatar/a95e5b71488f4b9d69ce5ff58bfd28d6?s=80\u0026d=identicon',
+ name: 'Jacki Kub',
+ username: 'francina.skiles',
+ webUrl: '/franc',
+ status: {
+ availability: 'BUSY',
+ },
+ },
+ },
+ ],
+ },
+ },
+ },
+};
+
+export const groupMembersResponse = {
+ data: {
+ workspace: {
+ __typename: 'roup',
+ users: {
+ nodes: [
+ // Remove nulls https://gitlab.com/gitlab-org/gitlab/-/issues/329750
+ null,
+ null,
+ // Remove duplicated entry https://gitlab.com/gitlab-org/gitlab/-/issues/327822
+ { user: mockUser1 },
+ { user: mockUser1 },
{
user: {
id: 'gid://gitlab/User/2',
diff --git a/spec/support/database_cleaner.rb b/spec/support/database_cleaner.rb
index f6339d7343c..6a0e398daa1 100644
--- a/spec/support/database_cleaner.rb
+++ b/spec/support/database_cleaner.rb
@@ -5,10 +5,12 @@ require_relative 'db_cleaner'
RSpec.configure do |config|
include DbCleaner
- # Ensure all sequences are reset at the start of the suite run
+ # Ensure the database is empty at the start of the suite run with :deletion strategy
+ # neither the sequence is reset nor the tables are vacuum, but this provides
+ # better I/O performance on machines with slower storage
config.before(:suite) do
setup_database_cleaner
- DatabaseCleaner.clean_with(:truncation)
+ DatabaseCleaner.clean_with(:deletion)
end
config.append_after(:context, :migration) do