debian-mirror-gitlab/app/assets/javascripts/analytics/shared/constants.js
2023-04-23 21:23:45 +05:30

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.',
),
},
};