Add latest changes from gitlab-org/gitlab@master
|
|
@ -24,7 +24,7 @@ This issue is for implementing Geo replication and verification of Cool Widgets.
|
|||
|
||||
For more background, see [Geo self-service framework](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/geo/framework.md).
|
||||
|
||||
In order to implement and test this feature, you need to first [set up Geo locally](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/geo.md).
|
||||
In order to implement and test this feature, you need to first [set up Geo locally](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/geo.md).
|
||||
|
||||
There are three main sections below. It is a good idea to structure your merge requests this way as well:
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ This issue is for implementing Geo replication and verification of Cool Widgets.
|
|||
|
||||
For more background, see [Geo self-service framework](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/geo/framework.md).
|
||||
|
||||
In order to implement and test this feature, you need to first [set up Geo locally](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/geo.md).
|
||||
In order to implement and test this feature, you need to first [set up Geo locally](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/geo.md).
|
||||
|
||||
There are three main sections below. It is a good idea to structure your merge requests this way as well:
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ Rails/SaveBang:
|
|||
- 'ee/spec/lib/gitlab/git_access_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/mirror_spec.rb'
|
||||
- 'ee/spec/mailers/notify_spec.rb'
|
||||
- 'ee/spec/models/application_setting_spec.rb'
|
||||
- 'ee/spec/models/approval_merge_request_rule_spec.rb'
|
||||
- 'ee/spec/models/approval_project_rule_spec.rb'
|
||||
|
|
@ -513,12 +512,6 @@ RSpec/EmptyLineAfterFinalLetItBe:
|
|||
- ee/spec/services/merge_request_approval_settings/update_service_spec.rb
|
||||
- ee/spec/services/personal_access_tokens/create_service_audit_log_spec.rb
|
||||
- ee/spec/services/personal_access_tokens/groups/update_lifetime_service_spec.rb
|
||||
- ee/spec/services/projects/after_rename_service_spec.rb
|
||||
- ee/spec/services/projects/alerting/notify_service_spec.rb
|
||||
- ee/spec/services/projects/destroy_service_spec.rb
|
||||
- ee/spec/services/projects/gitlab_projects_import_service_spec.rb
|
||||
- ee/spec/services/projects/import_export/export_service_spec.rb
|
||||
- ee/spec/services/projects/transfer_service_spec.rb
|
||||
- ee/spec/services/push_rules/create_or_update_service_spec.rb
|
||||
- ee/spec/services/quality_management/test_cases/create_service_spec.rb
|
||||
- ee/spec/services/quick_actions/interpret_service_spec.rb
|
||||
|
|
|
|||
|
|
@ -266,19 +266,6 @@ Performance/CollectionLiteralInLoop:
|
|||
Performance/ConstantRegexp:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 18
|
||||
# Cop supports --auto-correct.
|
||||
Performance/Count:
|
||||
Exclude:
|
||||
- 'app/helpers/groups_helper.rb'
|
||||
- 'app/services/merge_requests/add_context_service.rb'
|
||||
- 'ee/lib/gitlab/graphql/aggregations/epics/epic_node.rb'
|
||||
- 'lib/gitlab/sidekiq_status.rb'
|
||||
- 'spec/lib/gitlab/conflict/file_spec.rb'
|
||||
- 'spec/lib/gitlab/git/tree_spec.rb'
|
||||
- 'spec/models/ci/build_spec.rb'
|
||||
- 'spec/support_specs/helpers/active_record/query_recorder_spec.rb'
|
||||
|
||||
# Offense count: 14
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: SafeMultiline.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,11 @@ import Vue from 'vue';
|
|||
import { capitalizeFirstCharacter } from '~/lib/utils/text_utility';
|
||||
import { s__, __ } from '~/locale';
|
||||
import { mappingFields } from '../constants';
|
||||
import { getMappingData, transformForSave } from '../utils/mapping_transformations';
|
||||
import {
|
||||
getMappingData,
|
||||
transformForSave,
|
||||
setFieldsLabels,
|
||||
} from '../utils/mapping_transformations';
|
||||
|
||||
export const i18n = {
|
||||
columns: {
|
||||
|
|
@ -72,11 +76,14 @@ export default {
|
|||
},
|
||||
computed: {
|
||||
mappingData() {
|
||||
return getMappingData(this.gitlabFields, this.parsedPayload, this.savedMapping);
|
||||
return getMappingData(this.gitlabFields, this.formattedParsedPayload, this.savedMapping);
|
||||
},
|
||||
hasFallbackColumn() {
|
||||
return this.gitlabFields.some(({ numberOfFallbacks }) => Boolean(numberOfFallbacks));
|
||||
},
|
||||
formattedParsedPayload() {
|
||||
return setFieldsLabels(this.parsedPayload);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
setMapping(gitlabKey, mappingKey, valueKey = mappingFields.mapping) {
|
||||
|
|
@ -92,14 +99,16 @@ export default {
|
|||
},
|
||||
filterFields(searchTerm = '', fields) {
|
||||
const search = searchTerm.toLowerCase();
|
||||
return fields.filter((field) => field.label.toLowerCase().includes(search));
|
||||
return fields.filter((field) =>
|
||||
field.displayLabel.replace('...', '').toLowerCase().includes(search),
|
||||
);
|
||||
},
|
||||
isSelected(fieldValue, mapping) {
|
||||
return isEqual(fieldValue, mapping);
|
||||
},
|
||||
selectedValue(mapping) {
|
||||
return (
|
||||
this.parsedPayload.find((item) => isEqual(item.path, mapping))?.label ||
|
||||
this.formattedParsedPayload.find((item) => isEqual(item.path, mapping))?.displayLabel ||
|
||||
this.$options.i18n.makeSelection
|
||||
);
|
||||
},
|
||||
|
|
@ -167,11 +176,13 @@ export default {
|
|||
<gl-dropdown-item
|
||||
v-for="mappingField in filterFields(gitlabField.searchTerm, gitlabField.mappingFields)"
|
||||
:key="`${mappingField.path}__mapping`"
|
||||
v-gl-tooltip
|
||||
:is-checked="isSelected(gitlabField.mapping, mappingField.path)"
|
||||
is-check-item
|
||||
:title="mappingField.tooltip"
|
||||
@click="setMapping(gitlabField.name, mappingField.path)"
|
||||
>
|
||||
{{ mappingField.label }}
|
||||
{{ mappingField.displayLabel }}
|
||||
</gl-dropdown-item>
|
||||
<gl-dropdown-item v-if="noResults(gitlabField.searchTerm, gitlabField.mappingFields)">
|
||||
{{ $options.i18n.noResults }}
|
||||
|
|
@ -197,13 +208,15 @@ export default {
|
|||
gitlabField.mappingFields,
|
||||
)"
|
||||
:key="`${mappingField.path}__fallback`"
|
||||
v-gl-tooltip
|
||||
:is-checked="isSelected(gitlabField.fallback, mappingField.path)"
|
||||
is-check-item
|
||||
:title="mappingField.tooltip"
|
||||
@click="
|
||||
setMapping(gitlabField.name, mappingField.path, $options.mappingFields.fallback)
|
||||
"
|
||||
>
|
||||
{{ mappingField.label }}
|
||||
{{ mappingField.displayLabel }}
|
||||
</gl-dropdown-item>
|
||||
<gl-dropdown-item
|
||||
v-if="noResults(gitlabField.fallbackSearchTerm, gitlabField.mappingFields)"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
import { isEqual } from 'lodash';
|
||||
import { capitalizeFirstCharacter } from '~/lib/utils/text_utility';
|
||||
|
||||
/**
|
||||
* Given data for GitLab alert fields, parsed payload fields data and previously stored mapping (if any)
|
||||
* creates an object in a form convenient to build UI && interact with it
|
||||
|
|
@ -32,6 +34,26 @@ export const getMappingData = (gitlabFields, payloadFields, savedMapping) => {
|
|||
});
|
||||
};
|
||||
|
||||
export const setFieldsLabels = (fields) => {
|
||||
return fields.map((field) => {
|
||||
const { label } = field;
|
||||
let displayLabel;
|
||||
let tooltip;
|
||||
const labels = label.split('/');
|
||||
if (labels.length > 1) {
|
||||
tooltip = labels.join('.');
|
||||
displayLabel = `...${capitalizeFirstCharacter(labels.pop())}`;
|
||||
} else {
|
||||
displayLabel = capitalizeFirstCharacter(label);
|
||||
}
|
||||
|
||||
return {
|
||||
...field,
|
||||
displayLabel,
|
||||
tooltip,
|
||||
};
|
||||
});
|
||||
};
|
||||
/**
|
||||
* Based on mapping data configured by the user creates an object in a format suitable for save on BE
|
||||
* @param {Object} mappingData - structure describing mapping between GitLab fields and parsed payload fields
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ module RendersCommits
|
|||
|
||||
def prepare_commits_for_rendering(commits)
|
||||
commits.each(&:lazy_author) # preload commits' authors
|
||||
commits.each(&:lazy_latest_pipeline)
|
||||
|
||||
Banzai::CommitRenderer.render(commits, @project, current_user) # rubocop:disable Gitlab/ModuleWithInstanceVariables
|
||||
|
||||
|
|
|
|||
|
|
@ -141,9 +141,9 @@ module GroupsHelper
|
|||
def projects_lfs_status(group)
|
||||
lfs_status =
|
||||
if group.lfs_enabled?
|
||||
group.projects.select(&:lfs_enabled?).size
|
||||
group.projects.count(&:lfs_enabled?)
|
||||
else
|
||||
group.projects.reject(&:lfs_enabled?).size
|
||||
group.projects.count { |project| !project.lfs_enabled? }
|
||||
end
|
||||
|
||||
size = group.projects.size
|
||||
|
|
|
|||
|
|
@ -18,9 +18,25 @@ class Ci::CommitWithPipeline < SimpleDelegator
|
|||
end
|
||||
end
|
||||
|
||||
def lazy_latest_pipeline
|
||||
BatchLoader.for(sha).batch do |shas, loader|
|
||||
preload_pipelines = project.ci_pipelines.latest_pipeline_per_commit(shas.compact)
|
||||
|
||||
shas.each do |sha|
|
||||
pipeline = preload_pipelines[sha]
|
||||
|
||||
loader.call(sha, pipeline)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def latest_pipeline(ref = nil)
|
||||
@latest_pipelines.fetch(ref) do |ref|
|
||||
@latest_pipelines[ref] = latest_pipeline_for_project(ref, project)
|
||||
@latest_pipelines[ref] = if ref
|
||||
latest_pipeline_for_project(ref, project)
|
||||
else
|
||||
lazy_latest_pipeline&.itself
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -142,6 +142,7 @@ class Commit
|
|||
delegate \
|
||||
:pipelines,
|
||||
:last_pipeline,
|
||||
:lazy_latest_pipeline,
|
||||
:latest_pipeline,
|
||||
:latest_pipeline_for_project,
|
||||
:set_latest_pipeline_for_ref,
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ module MergeRequests
|
|||
def duplicates
|
||||
existing_oids = merge_request.merge_request_context_commits.map { |commit| commit.sha.to_s }
|
||||
existing_oids.select do |existing_oid|
|
||||
commit_ids.select { |commit_id| existing_oid.start_with?(commit_id) }.count > 0
|
||||
commit_ids.count { |commit_id| existing_oid.start_with?(commit_id) } > 0
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Fix N+1 for commits with pipelines
|
||||
merge_request: 59234
|
||||
author:
|
||||
type: performance
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Update, organize, and improve analytics metrics definition files
|
||||
merge_request: 59926
|
||||
author:
|
||||
type: other
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Improve performance of LFS integrity checks
|
||||
merge_request: 59991
|
||||
author:
|
||||
type: performance
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Resolve offense Performance/Count
|
||||
merge_request: 57007
|
||||
author: Shubham Kumar (@imskr)
|
||||
type: fixed
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: lfs_integrity_inspect_quarantined_objects
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58634
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/327440
|
||||
milestone: '13.11'
|
||||
type: development
|
||||
group: group::gitaly
|
||||
default_enabled: false
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.analytics_unique_visits_for_any_target_monthly
|
||||
description: Visits to any of the pages listed above per month
|
||||
description: Unique visitors to any analytics feature by month
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.g_analytics_contribution_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.g_analytics_insights_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.g_analytics_issues_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.g_analytics_productivity_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.g_analytics_valuestream_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.p_analytics_pipelines_monthly
|
||||
description:
|
||||
description: Unique visitors to /groups/:group/-/analytics/ci_cd by month
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.p_analytics_code_reviews_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.p_analytics_valuestream_monthly
|
||||
description:
|
||||
description: Unique visitors to /:group/:project/-/value_stream_analytics by month
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.p_analytics_insights_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.p_analytics_issues_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.p_analytics_repo_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -3,7 +3,7 @@ key_path: redis_hll_counters.analytics.i_analytics_cohorts_monthly
|
|||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.i_analytics_dev_ops_score_monthly
|
||||
description:
|
||||
description: Unique visitors to /admin/dev_ops_report by month
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ key_path: redis_hll_counters.analytics.g_analytics_merge_request_monthly
|
|||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
@ -13,4 +13,4 @@ distribution:
|
|||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.p_analytics_merge_request_monthly
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.i_analytics_instance_statistics_monthly
|
||||
description:
|
||||
description: Unique visitors to /admin/usage_trends by month
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.analytics_total_unique_counts_monthly
|
||||
description:
|
||||
description: The number of unique users who visited any analytics feature by month
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.i_analytics_instance_statistics_weekly
|
||||
description: Unique visitors to /admin/usage_trends by week
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 7d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ee
|
||||
tier: []
|
||||
skip_validation: true
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
key_path: redis_hll_counters.analytics.analytics_total_unique_counts_weekly
|
||||
description: The number of unique users who visited any analytics feature by week
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: 7d
|
||||
data_source: redis_hll
|
||||
distribution:
|
||||
- ee
|
||||
tier: []
|
||||
skip_validation: true
|
||||
|
|
@ -3,7 +3,7 @@ key_path: counts.cycle_analytics_views
|
|||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: counts.productivity_analytics_views
|
||||
description:
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source: database
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.g_analytics_contribution
|
||||
description: Visits to /groups/:group/-/contribution_analytics
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.g_analytics_insights
|
||||
description: Visits to /groups/:group/-/insights
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.g_analytics_issues
|
||||
description: Visits to /groups/:group/-/issues_analytics
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.g_analytics_productivity
|
||||
description: Visits to /groups/:group/-/analytics/productivity_analytics
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.g_analytics_valuestream
|
||||
description: Visits to /groups/:group/-/analytics/value_stream_analytics
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.p_analytics_pipelines
|
||||
description: Visits to /:group/:project/pipelines/charts
|
||||
description: Unique visitors to /:group/:project/pipelines/charts
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.p_analytics_code_reviews
|
||||
description: Visits to /:group/:project/-/analytics/code_reviews
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.p_analytics_valuestream
|
||||
description: Visits to /:group/:project/-/value_stream_analytics
|
||||
description: Unique visitors to /:group/:project/-/value_stream_analytics
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.p_analytics_insights
|
||||
description: Visits to /:group/:project/insights
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.p_analytics_issues
|
||||
description: Visits to /:group/:project/-/analytics/issues_analytics
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.p_analytics_repo
|
||||
description: Visits to /:group/:project/-/graphs/master/charts
|
||||
description: Unique visitors to /:group/:project/-/graphs/master/charts
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.i_analytics_cohorts
|
||||
description: Visits to /-/instance_statistics/cohorts
|
||||
description: Unique visitors to /-/instance_statistics/cohorts
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.i_analytics_dev_ops_score
|
||||
description: Visits to /-/instance_statistics/dev_ops_score
|
||||
description: Unique visitors to /-/instance_statistics/dev_ops_score
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.g_analytics_merge_request
|
||||
description: Visits to /groups/:group/-/analytics/merge_request_analytics
|
||||
description: Unique visitors to /groups/:group/-/analytics/merge_request_analytics
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
@ -13,4 +13,4 @@ distribution:
|
|||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
skip_validation: true
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.p_analytics_merge_request
|
||||
description: Visits to /:group/:project/-/analytics/merge_request_analytics
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
time_frame: all
|
||||
data_source:
|
||||
distribution:
|
||||
- ce
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.i_analytics_instance_statistics
|
||||
description: Visit to /admin/instance_statistics
|
||||
description: Unique visitors to/admin/usage_trends
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: analytics_unique_visits.analytics_unique_visits_for_any_target
|
||||
description: Visits to any of the pages listed above per week
|
||||
description: Unique visitors to any analytics feature by week
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: group::analytics
|
||||
product_group: group::optimize
|
||||
product_category:
|
||||
value_type: number
|
||||
status: data_available
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ Gitlab::Seeder.quiet do
|
|||
seeder.seed!
|
||||
rescue => e
|
||||
puts "\nSeeding container images failed with #{e.message}."
|
||||
puts "Make sure that the registry is running (https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/registry.md) and that Docker CLI (https://www.docker.com/products/docker-desktop) is installed."
|
||||
puts "Make sure that the registry is running (https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/registry.md) and that Docker CLI (https://www.docker.com/products/docker-desktop) is installed."
|
||||
end
|
||||
else
|
||||
puts "Skipped. Use the `#{flag}` environment variable to seed container images to the registry."
|
||||
|
|
|
|||
|
|
@ -301,6 +301,16 @@ the Container Registry by themselves, follow the steps below.
|
|||
|
||||
## Configure storage for the Container Registry
|
||||
|
||||
NOTE:
|
||||
For storage backends that support it, you can use object versioning to preserve, retrieve, and
|
||||
restore the non-current versions of every object stored in your buckets. However, this may result in
|
||||
higher storage usage and costs. Due to how the registry operates, image uploads are first stored in
|
||||
a temporary path and then transferred to a final location. For object storage backends, including S3
|
||||
and GCS, this transfer is achieved with a copy followed by a delete. With object versioning enabled,
|
||||
these deleted temporary upload artifacts are kept as non-current versions, therefore increasing the
|
||||
storage bucket size. To ensure that non-current versions are deleted after a given amount of time,
|
||||
you should configure an object lifecycle policy with your storage provider.
|
||||
|
||||
You can configure the Container Registry to use various storage backends by
|
||||
configuring a storage driver. By default the GitLab Container Registry
|
||||
is configured to use the [file system driver](#use-file-system)
|
||||
|
|
|
|||
|
|
@ -119,8 +119,8 @@ Any error or warning is logged in Sidekiq's log file.
|
|||
If [Geo](../geo/index.md) is enabled, each project that is successfully migrated
|
||||
generates an event to replicate the changes on any **secondary** nodes.
|
||||
|
||||
You only need the `gitlab:storage:migrate_to_hashed` Rake task to migrate your repositories, but we have additional
|
||||
commands below that helps you inspect projects and attachments in both legacy and hashed storage.
|
||||
You only need the `gitlab:storage:migrate_to_hashed` Rake task to migrate your repositories, but there are
|
||||
[additional commands(#list-projects-and-attachments) to help you inspect projects and attachments in both legacy and hashed storage.
|
||||
|
||||
## Rollback from hashed storage to legacy storage
|
||||
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ gitlab_rails['omniauth_providers'] = [
|
|||
|
||||
#### GroupSAML for GitLab.com
|
||||
|
||||
See [the GDK SAML documentation](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/saml.md).
|
||||
See [the GDK SAML documentation](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/saml.md).
|
||||
|
||||
### Elasticsearch
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ GitLab instance, see the [administration documentation](../administration/index.
|
|||
## Get started
|
||||
|
||||
- Set up the GitLab development environment with the
|
||||
[GitLab Development Kit (GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/README.md)
|
||||
[GitLab Development Kit (GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/README.md)
|
||||
- [GitLab contributing guide](contributing/index.md)
|
||||
- [Issues workflow](contributing/issue_workflow.md) for more information about:
|
||||
- Issue tracker guidelines.
|
||||
|
|
@ -302,6 +302,6 @@ See [database guidelines](database/index.md).
|
|||
|
||||
## Other GitLab Development Kit (GDK) guides
|
||||
|
||||
- [Run full Auto DevOps cycle in a GDK instance](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/auto_devops.md)
|
||||
- [Using GitLab Runner with the GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/runner.md)
|
||||
- [Using the Web IDE terminal with the GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/web_ide_terminal_gdk_setup.md)
|
||||
- [Run full Auto DevOps cycle in a GDK instance](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/auto_devops.md)
|
||||
- [Using GitLab Runner with the GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/runner.md)
|
||||
- [Using the Web IDE terminal with the GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/web_ide_terminal_gdk_setup.md)
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ GitLab can be considered to have two layers from a process perspective:
|
|||
- [Omnibus](https://docs.gitlab.com/omnibus/settings/ssl.html)
|
||||
- [Charts](https://docs.gitlab.com/charts/installation/tls.html)
|
||||
- [Source](../install/installation.md#using-https)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/https.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/https.md)
|
||||
- Layer: Core Service (Processor)
|
||||
- GitLab.com: [Secrets Management](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#secrets-management)
|
||||
|
||||
|
|
@ -332,7 +332,7 @@ Consul is a tool for service discovery and configuration. Consul is distributed,
|
|||
- [Omnibus](../integration/elasticsearch.md)
|
||||
- [Charts](../integration/elasticsearch.md)
|
||||
- [Source](../integration/elasticsearch.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/elasticsearch.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/elasticsearch.md)
|
||||
- Layer: Core Service (Data)
|
||||
- GitLab.com: [Get Advanced Search working on GitLab.com (Closed)](https://gitlab.com/groups/gitlab-org/-/epics/153) epic.
|
||||
|
||||
|
|
@ -369,7 +369,7 @@ repository updates to secondary nodes.
|
|||
- Configuration:
|
||||
- [Omnibus](../administration/geo/setup/index.md)
|
||||
- [Charts](https://docs.gitlab.com/charts/advanced/geo/)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/geo.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/geo.md)
|
||||
- Layer: Core Service (Processor)
|
||||
|
||||
#### GitLab Exporter
|
||||
|
|
@ -403,7 +403,7 @@ You can use it to sync deployments onto your Kubernetes cluster.
|
|||
- [Omnibus](../administration/pages/index.md)
|
||||
- [Charts](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/37)
|
||||
- [Source](../install/installation.md#install-gitlab-pages)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/pages.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/pages.md)
|
||||
- Layer: Core Service (Processor)
|
||||
- GitLab.com: [GitLab Pages](../user/gitlab_com/index.md#gitlab-pages)
|
||||
|
||||
|
|
@ -418,7 +418,7 @@ You can use it either for personal or business websites, such as portfolios, doc
|
|||
- [Omnibus](https://docs.gitlab.com/runner/)
|
||||
- [Charts](https://docs.gitlab.com/runner/install/kubernetes.html)
|
||||
- [Source](https://docs.gitlab.com/runner/)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/runner.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/runner.md)
|
||||
- Layer: Core Service (Processor)
|
||||
- GitLab.com: [Runner](../user/gitlab_com/index.md#shared-runners)
|
||||
|
||||
|
|
@ -507,7 +507,7 @@ Mattermost is an open source, private cloud, Slack-alternative from <https://mat
|
|||
- Configuration:
|
||||
- [Omnibus](https://min.io/download)
|
||||
- [Charts](https://docs.gitlab.com/charts/charts/minio/)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/object_storage.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/object_storage.md)
|
||||
- Layer: Core Service (Data)
|
||||
- GitLab.com: [Storage Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#storage-architecture)
|
||||
|
||||
|
|
@ -646,7 +646,7 @@ See our [Redis guidelines](redis.md) for more information about how GitLab uses
|
|||
- [Omnibus](../update/upgrading_from_source.md#10-install-libraries-migrations-etc)
|
||||
- [Charts](https://docs.gitlab.com/charts/charts/registry/)
|
||||
- [Source](../administration/packages/container_registry.md#enable-the-container-registry)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/registry.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/registry.md)
|
||||
- Layer: Core Service (Processor)
|
||||
- GitLab.com: [GitLab Container Registry](../user/packages/container_registry/index.md#build-and-push-by-using-gitlab-cicd)
|
||||
|
||||
|
|
@ -731,7 +731,7 @@ disabled by default.
|
|||
- [Omnibus](../administration/auth/ldap/index.md)
|
||||
- [Charts](https://docs.gitlab.com/charts/charts/globals.html#ldap)
|
||||
- [Source](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/ldap.md)
|
||||
- [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/ldap.md)
|
||||
- Layer: Core Service (Processor)
|
||||
- GitLab.com: [Product Tiers](https://about.gitlab.com/pricing/#gitlab-com)
|
||||
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ The general flow of contributing to GitLab is:
|
|||
1. [Create a fork](../../user/project/repository/forking_workflow.md#creating-a-fork)
|
||||
of GitLab. In some cases, you will want to set up the
|
||||
[GitLab Development Kit](https://gitlab.com/gitlab-org/gitlab-development-kit) to
|
||||
[develop against your fork](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/index.md#develop-in-your-own-gitlab-fork).
|
||||
[develop against your fork](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/index.md#develop-in-your-own-gitlab-fork).
|
||||
1. Make your changes in your fork.
|
||||
1. When you're ready, [create a new merge request](../../user/project/merge_requests/creating_merge_requests.md).
|
||||
1. In the merge request's description:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
stage: Create
|
||||
group: Source code
|
||||
group: Source Code
|
||||
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
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ on how the left-side navigation menu is built and updated.
|
|||
|
||||
NOTE:
|
||||
To preview your changes to documentation locally, follow this
|
||||
[development guide](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/README.md#development-when-contributing-to-gitlab-documentation) or [these instructions for GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/gitlab_docs.md).
|
||||
[development guide](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/README.md#development-when-contributing-to-gitlab-documentation) or [these instructions for GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/gitlab_docs.md).
|
||||
|
||||
The live preview is currently enabled for the following projects:
|
||||
|
||||
|
|
@ -502,7 +502,7 @@ help of a configuration file known as **screenshot generator**.
|
|||
|
||||
To run the tool on an existing screenshot generator, take the following steps:
|
||||
|
||||
1. Set up the [GitLab Development Kit (GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/gitlab_docs.md).
|
||||
1. Set up the [GitLab Development Kit (GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/gitlab_docs.md).
|
||||
1. Navigate to the subdirectory with your cloned GitLab repository, typically `gdk/gitlab`.
|
||||
1. Make sure that your GDK database is fully migrated: `bin/rake db:migrate RAILS_ENV=development`.
|
||||
1. Install `pngquant`, see the tool website for more information: [`pngquant`](https://pngquant.org/)
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ markdownlint configuration is found in the following projects:
|
|||
- [`gitlab-runner`](https://gitlab.com/gitlab-org/gitlab-runner/blob/master/.markdownlint.json)
|
||||
- [`omnibus-gitlab`](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/.markdownlint.json)
|
||||
- [`charts`](https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/.markdownlint.json)
|
||||
- [`gitlab-development-kit`](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/.markdownlint.json)
|
||||
- [`gitlab-development-kit`](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/.markdownlint.json)
|
||||
|
||||
This configuration is also used in build pipelines.
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ Developers making significant changes to Elasticsearch queries should test their
|
|||
|
||||
## Setting up development environment
|
||||
|
||||
See the [Elasticsearch GDK setup instructions](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/elasticsearch.md)
|
||||
See the [Elasticsearch GDK setup instructions](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/elasticsearch.md)
|
||||
|
||||
## Helpful Rake tasks
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ All `rake` commands described on this page must be run on a GitLab instance, usu
|
|||
## Setting up GitLab Development Kit (GDK)
|
||||
|
||||
In order to be able to work on the [GitLab Community Edition](https://gitlab.com/gitlab-org/gitlab-foss)
|
||||
project you must download and configure it through [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/set-up-gdk.md).
|
||||
project you must download and configure it through [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/set-up-gdk.md).
|
||||
|
||||
After you have the GitLab project ready, you can start working on the translation.
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ creating upstream contributions like [this one](https://github.com/codesandbox/c
|
|||
Before using CodeSandbox with your local GitLab instance, you must:
|
||||
|
||||
1. Enable HTTPS on your GDK. CodeSandbox uses Service Workers that require `https`.
|
||||
Follow the GDK [NGINX configuration instructions](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/nginx.md) to enable HTTPS for GDK.
|
||||
Follow the GDK [NGINX configuration instructions](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/nginx.md) to enable HTTPS for GDK.
|
||||
1. Clone the [`codesandbox-client` project](https://github.com/codesandbox/codesandbox-client)
|
||||
locally. If you plan on contributing upstream, you might want to fork and clone first.
|
||||
1. (Optional) Use correct `python` and `nodejs` versions. Otherwise, `yarn` may fail to
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ The following are required to install and test the app:
|
|||
|
||||
- [GDK in Gitpod](https://www.loom.com/share/9c9711d4876a40869b9294eecb24c54d)
|
||||
video.
|
||||
- [GDK with Gitpod](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/gitpod.md)
|
||||
- [GDK with Gitpod](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/gitpod.md)
|
||||
documentation.
|
||||
|
||||
You **must not** use tunneling tools such as
|
||||
|
|
@ -61,7 +61,7 @@ To install the app in Jira:
|
|||
|
||||
If the app install failed, you might need to delete `jira_connect_installations` from your database.
|
||||
|
||||
1. Open the [database console](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/postgresql.md#access-postgresql).
|
||||
1. Open the [database console](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/postgresql.md#access-postgresql).
|
||||
1. Run `TRUNCATE TABLE jira_connect_installations CASCADE;`.
|
||||
|
||||
## Add a namespace
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ change that affects uploads should also be tested against [object storage](https
|
|||
which is _not_ enabled by default in [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit).
|
||||
|
||||
When working on a related feature, make sure to enable and test it
|
||||
against [MinIO](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/object_storage.md).
|
||||
against [MinIO](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/object_storage.md).
|
||||
|
||||
See also [File Storage in GitLab](file_storage.md).
|
||||
|
||||
|
|
|
|||
|
|
@ -224,7 +224,7 @@ of the additional endpoint added for Maven. The `/authorize` endpoint verifies a
|
|||
then the normal upload endpoint is implemented below, consuming the metadata that workhorse provides in order to
|
||||
create the package record. Workhorse provides a variety of file metadata such as type, size, and different checksum formats.
|
||||
|
||||
For testing purposes, you may want to [enable object storage](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/object_storage.md)
|
||||
For testing purposes, you may want to [enable object storage](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/object_storage.md)
|
||||
in your local development environment.
|
||||
|
||||
#### File size limits
|
||||
|
|
|
|||
|
|
@ -363,7 +363,7 @@ This patch is available by default for
|
|||
[CNG](https://gitlab.com/gitlab-org/build/CNG/-/merge_requests/591),
|
||||
[GitLab CI](https://gitlab.com/gitlab-org/gitlab-build-images/-/merge_requests/355),
|
||||
[GCK](https://gitlab.com/gitlab-org/gitlab-compose-kit/-/merge_requests/149)
|
||||
and can additionally be enabled for [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/advanced.md#apply-custom-patches-for-ruby).
|
||||
and can additionally be enabled for [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/advanced.md#apply-custom-patches-for-ruby).
|
||||
|
||||
This patch provides a set of 3 metrics that makes it easier to understand efficiency of memory usage for a given codepath:
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ environment variable `ENABLE_SHERLOCK` to a non empty value. For example:
|
|||
ENABLE_SHERLOCK=1 bundle exec rails s
|
||||
```
|
||||
|
||||
Sherlock is also [available though the GitLab GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/sherlock.md).
|
||||
Sherlock is also [available though the GitLab GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/sherlock.md).
|
||||
|
||||
Recorded transactions can be found by navigating to `/sherlock/transactions`.
|
||||
|
||||
|
|
@ -195,7 +195,7 @@ This endpoint is only available for Rails web workers. Sidekiq workers can not b
|
|||
|
||||
To disable those features for profiling/benchmarking set the `RAILS_PROFILE` environment variable to `true` before starting GitLab. For example when using GDK:
|
||||
|
||||
- create a file [`env.runit`](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/runit.md#modifying-environment-configuration-for-services) in the root GDK directory
|
||||
- create a file [`env.runit`](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/runit.md#modifying-environment-configuration-for-services) in the root GDK directory
|
||||
- add `export RAILS_PROFILE=true` to your `env.runit` file
|
||||
- restart GDK with `gdk restart`
|
||||
|
||||
|
|
|
|||
|
|
@ -579,6 +579,7 @@ The [`StandardContext`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/g
|
|||
| `namespace_id` | **{dotted-circle}** | integer | |
|
||||
| `environment` | **{check-circle}** | string (max 32 chars) | Name of the source environment, such as `production` or `staging` |
|
||||
| `source` | **{check-circle}** | string (max 32 chars) | Name of the source application, such as `gitlab-rails` or `gitlab-javascript` |
|
||||
| `plan` | **{dotted-circle}** | string (max 32 chars) | Name of the plan for the namespace, such as `free`, `premium`, or `ultimate`. Automatically picked from the `namespace`. |
|
||||
| `extra` | **{dotted-circle}** | JSON | Any additional data associated with the event, in the form of key-value pairs |
|
||||
|
||||
### Default Schema
|
||||
|
|
|
|||
|
|
@ -147,10 +147,10 @@ docker rm gitlab-gitaly-cluster praefect postgres gitaly3 gitaly2 gitaly1
|
|||
|
||||
To run the Monitor tests locally, against the GDK, please follow the preparation steps below:
|
||||
|
||||
1. Complete the [Prerequisites](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/auto_devops/index.md#prerequisites-for-gitlab-team-members-only), at least through step 5. Note that the monitor tests do not require permissions to work with GKE because they use [k3s as a Kubernetes cluster provider](https://github.com/rancher/k3s).
|
||||
1. Complete the [Prerequisites](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/auto_devops/index.md#prerequisites-for-gitlab-team-members-only), at least through step 5. Note that the monitor tests do not require permissions to work with GKE because they use [k3s as a Kubernetes cluster provider](https://github.com/rancher/k3s).
|
||||
1. The test setup deploys the app in a Kubernetes cluster, using the Auto DevOps deployment strategy.
|
||||
To enable Auto DevOps in GDK, follow the [associated setup](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/auto_devops/index.md#setup) instructions. If you have problems, review the [troubleshooting guide](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/auto_devops/tips_and_troubleshooting.md) or reach out to the `#gdk` channel in the internal GitLab Slack.
|
||||
1. Do [secure your GitLab instance](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/auto_devops/index.md#secure-your-gitlab-instance) since it is now publicly accessible on `https://[YOUR-PORT].qa-tunnel.gitlab.info`.
|
||||
To enable Auto DevOps in GDK, follow the [associated setup](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/auto_devops/index.md#setup) instructions. If you have problems, review the [troubleshooting guide](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/auto_devops/tips_and_troubleshooting.md) or reach out to the `#gdk` channel in the internal GitLab Slack.
|
||||
1. Do [secure your GitLab instance](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/auto_devops/index.md#secure-your-gitlab-instance) since it is now publicly accessible on `https://[YOUR-PORT].qa-tunnel.gitlab.info`.
|
||||
1. Install the Kubernetes command line tool known as `kubectl`. Use the [official installation instructions](https://kubernetes.io/docs/tasks/tools/).
|
||||
|
||||
You might see NGINX issues when you run `gdk start` or `gdk restart`. In that case, run `sft login` to revalidate your credentials and regain access the QA Tunnel.
|
||||
|
|
@ -272,7 +272,7 @@ You can free some memory with either of the following commands: `docker prune sy
|
|||
|
||||
## Geo tests
|
||||
|
||||
Geo end-to-end tests can run locally against a [Geo GDK setup](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/geo.md) or on Geo spun up in Docker containers.
|
||||
Geo end-to-end tests can run locally against a [Geo GDK setup](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/geo.md) or on Geo spun up in Docker containers.
|
||||
|
||||
### Using Geo GDK
|
||||
|
||||
|
|
|
|||
|
|
@ -46,11 +46,11 @@ Tiers: `free`, `premium`, `ultimate`
|
|||
|
||||
### `analytics_unique_visits.analytics_unique_visits_for_any_target`
|
||||
|
||||
Visits to any of the pages listed above per week
|
||||
Unique visitors to any analytics feature by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174908_analytics_unique_visits_for_any_target.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -58,11 +58,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.analytics_unique_visits_for_any_target_monthly`
|
||||
|
||||
Visits to any of the pages listed above per month
|
||||
Unique visitors to any analytics feature by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174910_analytics_unique_visits_for_any_target_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -70,11 +70,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.g_analytics_contribution`
|
||||
|
||||
Visits to /groups/:group/-/contribution_analytics
|
||||
Unique visitors to /groups/:group/-/contribution_analytics
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174836_g_analytics_contribution.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174836_g_analytics_contribution.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -82,11 +82,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.g_analytics_insights`
|
||||
|
||||
Visits to /groups/:group/-/insights
|
||||
Unique visitors to /groups/:group/-/insights
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174838_g_analytics_insights.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174838_g_analytics_insights.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -94,11 +94,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.g_analytics_issues`
|
||||
|
||||
Visits to /groups/:group/-/issues_analytics
|
||||
Unique visitors to /groups/:group/-/issues_analytics
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174840_g_analytics_issues.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174840_g_analytics_issues.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -106,11 +106,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.g_analytics_merge_request`
|
||||
|
||||
Visits to /groups/:group/-/analytics/merge_request_analytics
|
||||
Unique visitors to /groups/:group/-/analytics/merge_request_analytics
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174902_g_analytics_merge_request.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -118,11 +118,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.g_analytics_productivity`
|
||||
|
||||
Visits to /groups/:group/-/analytics/productivity_analytics
|
||||
Unique visitors to /groups/:group/-/analytics/productivity_analytics
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174842_g_analytics_productivity.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174842_g_analytics_productivity.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -130,11 +130,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.g_analytics_valuestream`
|
||||
|
||||
Visits to /groups/:group/-/analytics/value_stream_analytics
|
||||
Unique visitors to /groups/:group/-/analytics/value_stream_analytics
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174844_g_analytics_valuestream.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174844_g_analytics_valuestream.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -142,11 +142,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.i_analytics_cohorts`
|
||||
|
||||
Visits to /-/instance_statistics/cohorts
|
||||
Unique visitors to /-/instance_statistics/cohorts
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174858_i_analytics_cohorts.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -154,11 +154,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.i_analytics_dev_ops_score`
|
||||
|
||||
Visits to /-/instance_statistics/dev_ops_score
|
||||
Unique visitors to /-/instance_statistics/dev_ops_score
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174900_i_analytics_dev_ops_score.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -166,11 +166,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.i_analytics_instance_statistics`
|
||||
|
||||
Visit to /admin/instance_statistics
|
||||
Unique visitors to/admin/usage_trends
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174906_i_analytics_instance_statistics.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -178,11 +178,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.p_analytics_code_reviews`
|
||||
|
||||
Visits to /:group/:project/-/analytics/code_reviews
|
||||
Unique visitors to /:group/:project/-/analytics/code_reviews
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174848_p_analytics_code_reviews.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174848_p_analytics_code_reviews.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -190,11 +190,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.p_analytics_insights`
|
||||
|
||||
Visits to /:group/:project/insights
|
||||
Unique visitors to /:group/:project/insights
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174852_p_analytics_insights.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174852_p_analytics_insights.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -202,11 +202,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.p_analytics_issues`
|
||||
|
||||
Visits to /:group/:project/-/analytics/issues_analytics
|
||||
Unique visitors to /:group/:project/-/analytics/issues_analytics
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174854_p_analytics_issues.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174854_p_analytics_issues.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -214,11 +214,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.p_analytics_merge_request`
|
||||
|
||||
Visits to /:group/:project/-/analytics/merge_request_analytics
|
||||
Unique visitors to /:group/:project/-/analytics/merge_request_analytics
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174904_p_analytics_merge_request.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174904_p_analytics_merge_request.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -226,11 +226,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.p_analytics_pipelines`
|
||||
|
||||
Visits to /:group/:project/pipelines/charts
|
||||
Unique visitors to /:group/:project/pipelines/charts
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174846_p_analytics_pipelines.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -238,11 +238,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.p_analytics_repo`
|
||||
|
||||
Visits to /:group/:project/-/graphs/master/charts
|
||||
Unique visitors to /:group/:project/-/graphs/master/charts
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174856_p_analytics_repo.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -250,11 +250,11 @@ Tiers: `free`
|
|||
|
||||
### `analytics_unique_visits.p_analytics_valuestream`
|
||||
|
||||
Visits to /:group/:project/-/value_stream_analytics
|
||||
Unique visitors to /:group/:project/-/value_stream_analytics
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174850_p_analytics_valuestream.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -830,7 +830,7 @@ Missing description
|
|||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174832_cycle_analytics_views.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -3672,9 +3672,9 @@ Tiers: `free`, `premium`, `ultimate`
|
|||
|
||||
Missing description
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216174834_productivity_analytics_views.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_all/20210216174834_productivity_analytics_views.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7162,11 +7162,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.analytics_total_unique_counts_monthly`
|
||||
|
||||
Missing description
|
||||
The number of unique users who visited any analytics feature by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216175016_analytics_total_unique_counts_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7174,11 +7174,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.analytics_total_unique_counts_weekly`
|
||||
|
||||
Missing description
|
||||
The number of unique users who visited any analytics feature by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216175014_analytics_total_unique_counts_weekly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_7d/20210216175014_analytics_total_unique_counts_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7186,11 +7186,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_contribution_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/contribution_analytics by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174914_g_analytics_contribution_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174914_g_analytics_contribution_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7198,11 +7198,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_contribution_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/contribution_analytics by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174912_g_analytics_contribution_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7210,11 +7210,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_insights_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/insights/ by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174918_g_analytics_insights_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174918_g_analytics_insights_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7222,11 +7222,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_insights_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/insights/ by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174916_g_analytics_insights_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7234,11 +7234,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_issues_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/issues_analytics by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174921_g_analytics_issues_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174921_g_analytics_issues_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7246,11 +7246,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_issues_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/issues_analytics by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174919_g_analytics_issues_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7262,7 +7262,7 @@ Missing description
|
|||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216175004_g_analytics_merge_request_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7274,7 +7274,7 @@ Missing description
|
|||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216175002_g_analytics_merge_request_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7282,11 +7282,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_productivity_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/analytics/productivity_analytics by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174926_g_analytics_productivity_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174926_g_analytics_productivity_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7294,11 +7294,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_productivity_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/analytics/productivity_analytics by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174923_g_analytics_productivity_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7306,11 +7306,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_valuestream_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/analytics/value_stream_analytics by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174929_g_analytics_valuestream_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174929_g_analytics_valuestream_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7318,11 +7318,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.g_analytics_valuestream_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/analytics/value_stream_analytics by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174927_g_analytics_valuestream_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7334,7 +7334,7 @@ Missing description
|
|||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174956_i_analytics_cohorts_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7346,7 +7346,7 @@ Missing description
|
|||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174955_i_analytics_cohorts_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7378,11 +7378,11 @@ Tiers: `premium`, `ultimate`
|
|||
|
||||
### `redis_hll_counters.analytics.i_analytics_dev_ops_score_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /admin/dev_ops_report by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216175000_i_analytics_dev_ops_score_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7390,11 +7390,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.i_analytics_dev_ops_score_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /admin/dev_ops_report by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174958_i_analytics_dev_ops_score_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7402,11 +7402,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.i_analytics_instance_statistics_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /admin/usage_trends by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216175012_i_analytics_instance_statistics_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7414,11 +7414,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.i_analytics_instance_statistics_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /admin/usage_trends by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216175010_i_analytics_instance_statistics_weekly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_7d/20210216175010_i_analytics_instance_statistics_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7426,11 +7426,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_code_reviews_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/analytics/code_reviews by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174937_p_analytics_code_reviews_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174937_p_analytics_code_reviews_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7438,11 +7438,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_code_reviews_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/analytics/code_reviews by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174935_p_analytics_code_reviews_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7450,11 +7450,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_insights_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/insights/ by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174945_p_analytics_insights_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174945_p_analytics_insights_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7462,11 +7462,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_insights_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/insights/ by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174943_p_analytics_insights_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7474,11 +7474,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_issues_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/analytics/issues_analytics by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174949_p_analytics_issues_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174949_p_analytics_issues_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7486,11 +7486,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_issues_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/analytics/issues_analytics by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174947_p_analytics_issues_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7498,11 +7498,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_merge_request_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/analytics/merge_request_analytics by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216175008_p_analytics_merge_request_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216175008_p_analytics_merge_request_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7510,11 +7510,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_merge_request_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/analytics/merge_request_analytics by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216175006_p_analytics_merge_request_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7522,11 +7522,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_pipelines_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/analytics/ci_cd by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174933_p_analytics_pipelines_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7534,11 +7534,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_pipelines_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /groups/:group/-/analytics/ci_cd by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174931_p_analytics_pipelines_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7546,11 +7546,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_repo_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/graphs/master/charts by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174953_p_analytics_repo_monthly.yml)
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210216174953_p_analytics_repo_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7558,11 +7558,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_repo_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/graphs/master/charts by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174951_p_analytics_repo_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7570,11 +7570,11 @@ Tiers:
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_valuestream_monthly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/value_stream_analytics by month
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_28d/20210216174941_p_analytics_valuestream_monthly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
@ -7582,11 +7582,11 @@ Tiers: `free`
|
|||
|
||||
### `redis_hll_counters.analytics.p_analytics_valuestream_weekly`
|
||||
|
||||
Missing description
|
||||
Unique visitors to /:group/:project/-/value_stream_analytics by week
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216174939_p_analytics_valuestream_weekly.yml)
|
||||
|
||||
Group: `group::analytics`
|
||||
Group: `group::optimize`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
|
|
|
|||
|
|
@ -973,7 +973,7 @@ build in a [downstream pipeline of the `omnibus-gitlab-mirror` project](https://
|
|||
This is the less recommended approach, because it comes with a number of difficulties when emulating a real GitLab deployment.
|
||||
|
||||
The [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit) is not set up to run a Prometheus server or `node_exporter` alongside other GitLab components. If you would
|
||||
like to do so, [Monitoring the GDK with Prometheus](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/prometheus/index.md#monitoring-the-gdk-with-prometheus) is a good start.
|
||||
like to do so, [Monitoring the GDK with Prometheus](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/prometheus/index.md#monitoring-the-gdk-with-prometheus) is a good start.
|
||||
|
||||
The [GCK](https://gitlab.com/gitlab-org/gitlab-compose-kit) has limited support for testing Prometheus based Usage Ping.
|
||||
By default, it already comes with a fully configured Prometheus service that is set up to scrape a number of components,
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
|
@ -39,4 +39,4 @@ in the categories shown in [Total counts](#total-counts).
|
|||
|
||||
These charts help you visualize how rapidly these records are being created on your instance.
|
||||
|
||||

|
||||

|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
|
@ -31,7 +31,7 @@ You can change the total number of months displayed by setting a URL parameter.
|
|||
For example, `https://gitlab.com/groups/gitlab-org/-/issues_analytics?months_back=15`
|
||||
shows a total of 15 months for the chart in the GitLab.org group.
|
||||
|
||||

|
||||

|
||||
|
||||
## Drill into the information
|
||||
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
|
@ -82,10 +82,10 @@ After you set up your identity provider to work with GitLab, you must configure
|
|||
1. Find the SSO URL from your identity provider and enter it the **Identity provider single sign-on URL** field.
|
||||
1. Find and enter the fingerprint for the SAML token signing certificate in the **Certificate** field.
|
||||
1. Select the access level to be applied to newly added users in the **Default membership role** field. The default access level is 'Guest'.
|
||||
1. Select the **Enable SAML authentication for this group** toggle switch.
|
||||
1. Select the **Enable SAML authentication for this group** checkbox.
|
||||
1. Select the **Save changes** button.
|
||||
|
||||

|
||||

|
||||
|
||||
NOTE:
|
||||
Please note that the certificate [fingerprint algorithm](../../../integration/saml.md#notes-on-configuring-your-identity-provider) must be in SHA1. When configuring the identity provider, use a secure signature algorithm.
|
||||
|
|
@ -322,11 +322,9 @@ Ensure your SAML identity provider sends an attribute statement named `Groups` o
|
|||
```
|
||||
|
||||
When SAML SSO is enabled for the top-level group, `Maintainer` and `Owner` level users
|
||||
see a new menu item in group **Settings -> SAML Group Links**. Each group (parent or subgroup) can specify
|
||||
see a new menu item in group **Settings > SAML Group Links**. Each group (parent or subgroup) can specify
|
||||
one or more group links to map a SAML identity provider group name to a GitLab access level.
|
||||
|
||||

|
||||
|
||||
To link the SAML `Freelancers` group in the attribute statement example above:
|
||||
|
||||
1. Enter `Freelancers` in the `SAML Group Name` field.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 80 KiB |
|
|
@ -343,8 +343,6 @@ To create a value stream with stages:
|
|||

|
||||
1. Select the **Create Value Stream** button to save the value stream.
|
||||
|
||||

|
||||
|
||||
### Deleting a value stream
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/221205) in GitLab 13.4.
|
||||
|
|
|
|||
|
|
@ -23,10 +23,10 @@ module API
|
|||
|
||||
# Using a blank component at the beginning of the join we ensure
|
||||
# that the resulted path will start with '/'. If the resulted path
|
||||
# does not start with '/', URI::Generic#build will fail
|
||||
# does not start with '/', URI::Generic#new will fail
|
||||
path_with_script_name = File.join('', [script_name, path].select(&:present?))
|
||||
|
||||
URI::Generic.build(scheme: protocol, host: host, port: port, path: path_with_script_name).to_s
|
||||
URI::Generic.new(protocol, nil, host, port, nil, path_with_script_name, nil, nil, nil, URI::RFC3986_PARSER, true).to_s
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ module Gitlab
|
|||
# necessary graph walk to detect only new LFS pointers and instead scan
|
||||
# through all quarantined objects.
|
||||
git_env = ::Gitlab::Git::HookEnv.all(@gitaly_repo.gl_repository)
|
||||
if Feature.enabled?(:lfs_integrity_inspect_quarantined_objects, @project, default_enabled: :yaml) && git_env['GIT_OBJECT_DIRECTORY_RELATIVE'].present?
|
||||
if git_env['GIT_OBJECT_DIRECTORY_RELATIVE'].present?
|
||||
repository = @gitaly_repo.dup
|
||||
repository.git_alternate_object_directories = Google::Protobuf::RepeatedField.new(:string)
|
||||
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ module Gitlab
|
|||
def self.num_running(job_ids)
|
||||
responses = self.job_status(job_ids)
|
||||
|
||||
responses.select(&:present?).count
|
||||
responses.count(&:present?)
|
||||
end
|
||||
|
||||
# Returns the number of jobs that have completed.
|
||||
|
|
|
|||
|
|
@ -3,10 +3,12 @@
|
|||
module Gitlab
|
||||
module Tracking
|
||||
class StandardContext
|
||||
GITLAB_STANDARD_SCHEMA_URL = 'iglu:com.gitlab/gitlab_standard/jsonschema/1-0-4'
|
||||
GITLAB_STANDARD_SCHEMA_URL = 'iglu:com.gitlab/gitlab_standard/jsonschema/1-0-5'
|
||||
GITLAB_RAILS_SOURCE = 'gitlab-rails'
|
||||
|
||||
def initialize(namespace: nil, project: nil, user: nil, **extra)
|
||||
@namespace = namespace
|
||||
@plan = @namespace&.actual_plan_name
|
||||
@extra = extra
|
||||
end
|
||||
|
||||
|
|
@ -36,6 +38,7 @@ module Gitlab
|
|||
{
|
||||
environment: environment,
|
||||
source: source,
|
||||
plan: @plan,
|
||||
extra: @extra
|
||||
}
|
||||
end
|
||||
|
|
|
|||
|
|
@ -15555,15 +15555,12 @@ msgstr ""
|
|||
msgid "GroupSAML|Before enforcing SSO, enable SAML authentication."
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Before enforcing SSO-access for Git, enable SSO-only authentication for web activity."
|
||||
msgid "GroupSAML|Before enforcing SSO-only authentication for Git activity, enable SSO-only authentication for web activity."
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Certificate fingerprint"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Check SSO on git activity"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Configuration"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -15576,19 +15573,16 @@ msgstr ""
|
|||
msgid "GroupSAML|Default membership role"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Enable SAML authentication for this group."
|
||||
msgid "GroupSAML|Enable SAML authentication for this group"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Enforce SSO-access for Git in this group."
|
||||
msgid "GroupSAML|Enforce SSO-only authentication for Git activity for this group"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Enforce SSO-only authentication for web activity for this group."
|
||||
msgid "GroupSAML|Enforce SSO-only authentication for web activity for this group"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Enforce users to have dedicated group managed accounts for this group."
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Enforced SSO"
|
||||
msgid "GroupSAML|Enforce users to have dedicated group-managed accounts for this group"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Generate a SCIM token"
|
||||
|
|
@ -15627,10 +15621,7 @@ msgstr ""
|
|||
msgid "GroupSAML|No active SAML group links"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Prohibit outer forks"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Prohibit outer forks for this group."
|
||||
msgid "GroupSAML|Prohibit outer forks for this group"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Role to assign members of this SAML group."
|
||||
|
|
@ -15678,15 +15669,12 @@ msgstr ""
|
|||
msgid "GroupSAML|This will be set as the access level of users added to the group."
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|To be able to enable group managed accounts, you first need to enable enforced SSO."
|
||||
msgid "GroupSAML|To be able to enable group-managed accounts, you first need to enable enforced SSO."
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|To be able to prohibit outer forks, you first need to enforce dedicate group managed accounts."
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Toggle SAML authentication"
|
||||
msgstr ""
|
||||
|
||||
msgid "GroupSAML|Valid SAML Response"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
"@gitlab/favicon-overlay": "2.0.0",
|
||||
"@gitlab/svgs": "1.191.0",
|
||||
"@gitlab/tributejs": "1.0.0",
|
||||
"@gitlab/ui": "29.9.0",
|
||||
"@gitlab/ui": "29.11.0",
|
||||
"@gitlab/visual-review-tools": "1.6.1",
|
||||
"@rails/actioncable": "^6.0.3-4",
|
||||
"@rails/ujs": "^6.0.3-4",
|
||||
|
|
|
|||
|
|
@ -54,8 +54,8 @@ the browser to use. You will need to have Chrome (or Chromium) and
|
|||
|
||||
### Run the end-to-end tests in a local development environment
|
||||
|
||||
Follow the GDK instructions to [prepare](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/prepare.md)
|
||||
and [install](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/set-up-gdk.md)
|
||||
Follow the GDK instructions to [prepare](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/prepare.md)
|
||||
and [install](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/set-up-gdk.md)
|
||||
your local GitLab development environment.
|
||||
|
||||
Once you have GDK running, switch to the `qa` directory. E.g., if you setup
|
||||
|
|
|
|||
|
|
@ -227,10 +227,12 @@ module QA
|
|||
wait = kwargs.delete(:wait) || Capybara.default_max_wait_time
|
||||
text = kwargs.delete(:text)
|
||||
klass = kwargs.delete(:class)
|
||||
visible = kwargs.delete(:visible)
|
||||
visible = visible.nil? && true
|
||||
|
||||
try_find_element = ->(wait) do
|
||||
if disabled.nil?
|
||||
has_css?(element_selector_css(name, kwargs), text: text, wait: wait, class: klass)
|
||||
has_css?(element_selector_css(name, kwargs), text: text, wait: wait, class: klass, visible: visible)
|
||||
else
|
||||
find_element(name, original_kwargs).disabled? == disabled
|
||||
end
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ RSpec.describe RendersCommits do
|
|||
|
||||
expect do
|
||||
subject.prepare_commits_for_rendering(merge_request.commits)
|
||||
merge_request.commits.each(&:latest_pipeline)
|
||||
end.not_to exceed_all_query_limit(control.count)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -163,7 +163,8 @@ RSpec.describe 'Projects > Settings > User manages merge request settings' do
|
|||
click_on('Save changes')
|
||||
end
|
||||
|
||||
find('.flash-notice')
|
||||
wait_for_requests
|
||||
|
||||
radio = find_field('project_project_setting_attributes_squash_option_default_on')
|
||||
|
||||
expect(radio).to be_checked
|
||||
|
|
@ -178,7 +179,8 @@ RSpec.describe 'Projects > Settings > User manages merge request settings' do
|
|||
click_on('Save changes')
|
||||
end
|
||||
|
||||
find('.flash-notice')
|
||||
wait_for_requests
|
||||
|
||||
radio = find_field('project_project_setting_attributes_squash_option_always')
|
||||
|
||||
expect(radio).to be_checked
|
||||
|
|
@ -193,7 +195,8 @@ RSpec.describe 'Projects > Settings > User manages merge request settings' do
|
|||
click_on('Save changes')
|
||||
end
|
||||
|
||||
find('.flash-notice')
|
||||
wait_for_requests
|
||||
|
||||
radio = find_field('project_project_setting_attributes_squash_option_never')
|
||||
|
||||
expect(radio).to be_checked
|
||||
|
|
@ -220,7 +223,8 @@ RSpec.describe 'Projects > Settings > User manages merge request settings' do
|
|||
click_on('Save changes')
|
||||
end
|
||||
|
||||
find('.flash-notice')
|
||||
wait_for_requests
|
||||
|
||||
radio = find_field('project_project_setting_attributes_mr_default_target_self_true')
|
||||
|
||||
expect(radio).to be_checked
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
import { getMappingData, transformForSave } from '~/alerts_settings/utils/mapping_transformations';
|
||||
import {
|
||||
getMappingData,
|
||||
setFieldsLabels,
|
||||
transformForSave,
|
||||
} from '~/alerts_settings/utils/mapping_transformations';
|
||||
import alertFields from '../mocks/alert_fields.json';
|
||||
import parsedMapping from '../mocks/parsed_mapping.json';
|
||||
|
||||
|
|
@ -64,4 +68,33 @@ describe('Mapping Transformation Utilities', () => {
|
|||
expect(result).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('setFieldsLabels', () => {
|
||||
const nonNestedFields = [{ label: 'title' }];
|
||||
const nonNestedFieldsResult = { displayLabel: 'Title', tooltip: undefined };
|
||||
|
||||
const nestedFields = [
|
||||
{
|
||||
label: 'field/subfield',
|
||||
},
|
||||
];
|
||||
const nestedFieldsResult = { displayLabel: '...Subfield', tooltip: 'field.subfield' };
|
||||
|
||||
const nestedArrayFields = [
|
||||
{
|
||||
label: 'fields[1]/subfield',
|
||||
},
|
||||
];
|
||||
|
||||
const nestedArrayFieldsResult = { displayLabel: '...Subfield', tooltip: 'fields[1].subfield' };
|
||||
|
||||
it.each`
|
||||
type | fields | result
|
||||
${'not nested field'} | ${nonNestedFields} | ${nonNestedFieldsResult}
|
||||
${'nested field'} | ${nestedFields} | ${nestedFieldsResult}
|
||||
${'nested inside array'} | ${nestedArrayFields} | ${nestedArrayFieldsResult}
|
||||
`('adds correct displayLabel and tooltip for $type', ({ fields, result }) => {
|
||||
expect(setFieldsLabels(fields)[0]).toMatchObject(result);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||