145 lines
5.5 KiB
JavaScript
145 lines
5.5 KiB
JavaScript
import { masks } from '~/lib/dateformat';
|
|
import { s__ } from '~/locale';
|
|
import { helpPagePath } from '~/helpers/help_page_helper';
|
|
|
|
export const DATE_RANGE_LIMIT = 180;
|
|
export const PROJECTS_PER_PAGE = 50;
|
|
|
|
const { isoDate, mediumDate } = masks;
|
|
export const dateFormats = {
|
|
isoDate,
|
|
defaultDate: mediumDate,
|
|
defaultDateTime: 'mmm d, yyyy h:MMtt',
|
|
month: 'mmmm',
|
|
};
|
|
|
|
export const METRIC_POPOVER_LABEL = s__('ValueStreamAnalytics|View details');
|
|
|
|
export const KEY_METRICS = {
|
|
LEAD_TIME: 'lead_time',
|
|
CYCLE_TIME: 'cycle_time',
|
|
ISSUES: 'issues',
|
|
COMMITS: 'commits',
|
|
DEPLOYS: 'deploys',
|
|
};
|
|
|
|
export const DORA_METRICS = {
|
|
DEPLOYMENT_FREQUENCY: 'deployment_frequency',
|
|
LEAD_TIME_FOR_CHANGES: 'lead_time_for_changes',
|
|
TIME_TO_RESTORE_SERVICE: 'time_to_restore_service',
|
|
CHANGE_FAILURE_RATE: 'change_failure_rate',
|
|
};
|
|
|
|
export const VSA_METRICS_GROUPS = [
|
|
{
|
|
key: 'key_metrics',
|
|
title: s__('ValueStreamAnalytics|Key metrics'),
|
|
keys: Object.values(KEY_METRICS),
|
|
},
|
|
{
|
|
key: 'dora_metrics',
|
|
title: s__('ValueStreamAnalytics|DORA metrics'),
|
|
keys: Object.values(DORA_METRICS),
|
|
},
|
|
];
|
|
|
|
export const METRIC_TOOLTIPS = {
|
|
[DORA_METRICS.DEPLOYMENT_FREQUENCY]: {
|
|
description: s__(
|
|
'ValueStreamAnalytics|Average number of deployments to production per day. This metric measures how often value is delivered to end users.',
|
|
),
|
|
groupLink: '-/analytics/ci_cd?tab=deployment-frequency',
|
|
projectLink: '-/pipelines/charts?chart=deployment-frequency',
|
|
docsLink: helpPagePath('user/analytics/dora_metrics', { anchor: 'deployment-frequency' }),
|
|
},
|
|
[DORA_METRICS.LEAD_TIME_FOR_CHANGES]: {
|
|
description: s__(
|
|
'ValueStreamAnalytics|The time to successfully deliver a commit into production. This metric reflects the efficiency of CI/CD pipelines.',
|
|
),
|
|
groupLink: '-/analytics/ci_cd?tab=lead-time',
|
|
projectLink: '-/pipelines/charts?chart=lead-time',
|
|
docsLink: helpPagePath('user/analytics/dora_metrics', { anchor: 'lead-time-for-changes' }),
|
|
},
|
|
[DORA_METRICS.TIME_TO_RESTORE_SERVICE]: {
|
|
description: s__(
|
|
'ValueStreamAnalytics|The time it takes an organization to recover from a failure in production.',
|
|
),
|
|
groupLink: '-/analytics/ci_cd?tab=time-to-restore-service',
|
|
projectLink: '-/pipelines/charts?chart=time-to-restore-service',
|
|
docsLink: helpPagePath('user/analytics/dora_metrics', { anchor: 'time-to-restore-service' }),
|
|
},
|
|
[DORA_METRICS.CHANGE_FAILURE_RATE]: {
|
|
description: s__(
|
|
'ValueStreamAnalytics|Percentage of deployments that cause an incident in production.',
|
|
),
|
|
groupLink: '-/analytics/ci_cd?tab=change-failure-rate',
|
|
projectLink: '-/pipelines/charts?chart=change-failure-rate',
|
|
docsLink: helpPagePath('user/analytics/dora_metrics', { anchor: 'change-failure-rate' }),
|
|
},
|
|
[KEY_METRICS.LEAD_TIME]: {
|
|
description: s__('ValueStreamAnalytics|Median time from issue created to issue closed.'),
|
|
groupLink: '-/analytics/value_stream_analytics',
|
|
projectLink: '-/value_stream_analytics',
|
|
docsLink: helpPagePath('user/analytics/value_stream_analytics', {
|
|
anchor: 'view-the-lead-time-and-cycle-time-for-issues',
|
|
}),
|
|
},
|
|
[KEY_METRICS.CYCLE_TIME]: {
|
|
description: s__(
|
|
"ValueStreamAnalytics|Median time from the earliest commit of a linked issue's merge request to when that issue is closed.",
|
|
),
|
|
groupLink: '-/analytics/value_stream_analytics',
|
|
projectLink: '-/value_stream_analytics',
|
|
docsLink: helpPagePath('user/analytics/value_stream_analytics', {
|
|
anchor: 'view-the-lead-time-and-cycle-time-for-issues',
|
|
}),
|
|
},
|
|
[KEY_METRICS.ISSUES]: {
|
|
description: s__('ValueStreamAnalytics|Number of new issues created.'),
|
|
groupLink: '-/issues_analytics',
|
|
projectLink: '-/analytics/issues_analytics',
|
|
docsLink: helpPagePath('user/analytics/issue_analytics'),
|
|
},
|
|
[KEY_METRICS.DEPLOYS]: {
|
|
description: s__('ValueStreamAnalytics|Total number of deploys to production.'),
|
|
groupLink: '-/analytics/productivity_analytics',
|
|
projectLink: '-/analytics/merge_request_analytics',
|
|
docsLink: helpPagePath('user/analytics/merge_request_analytics'),
|
|
},
|
|
};
|
|
|
|
// TODO: Remove this once the migration to METRIC_TOOLTIPS is complete
|
|
// https://gitlab.com/gitlab-org/gitlab/-/issues/388067
|
|
export const METRICS_POPOVER_CONTENT = {
|
|
lead_time: {
|
|
description: s__('ValueStreamAnalytics|Median time from issue created to issue closed.'),
|
|
},
|
|
cycle_time: {
|
|
description: s__(
|
|
"ValueStreamAnalytics|Median time from the earliest commit of a linked issue's merge request to when that issue is closed.",
|
|
),
|
|
},
|
|
lead_time_for_changes: {
|
|
description: s__(
|
|
'ValueStreamAnalytics|Median time between merge request merge and deployment to a production environment for all MRs deployed in the given time period.',
|
|
),
|
|
},
|
|
issues: { description: s__('ValueStreamAnalytics|Number of new issues created.') },
|
|
deploys: { description: s__('ValueStreamAnalytics|Total number of deploys to production.') },
|
|
deployment_frequency: {
|
|
description: s__('ValueStreamAnalytics|Average number of deployments to production per day.'),
|
|
},
|
|
commits: {
|
|
description: s__('ValueStreamAnalytics|Number of commits pushed to the default branch'),
|
|
},
|
|
time_to_restore_service: {
|
|
description: s__(
|
|
'ValueStreamAnalytics|Median time an incident was open on a production environment in the given time period.',
|
|
),
|
|
},
|
|
change_failure_rate: {
|
|
description: s__(
|
|
'ValueStreamAnalytics|Percentage of deployments that cause an incident in production.',
|
|
),
|
|
},
|
|
};
|