constants.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import {t} from 'sentry/locale';
  2. import type {MRI} from 'sentry/types/metrics';
  3. import type {
  4. MetricsEquationWidget,
  5. MetricsQueryWidget,
  6. SortState,
  7. } from 'sentry/utils/metrics/types';
  8. import {
  9. MetricChartOverlayType,
  10. MetricDisplayType,
  11. MetricExpressionType,
  12. } from 'sentry/utils/metrics/types';
  13. export const METRICS_DOCS_URL = 'https://docs.sentry.io/product/metrics/';
  14. export const DEFAULT_METRICS_CARDINALITY_LIMIT = 140000;
  15. export const metricDisplayTypeOptions = [
  16. {
  17. value: MetricDisplayType.LINE,
  18. label: t('Line'),
  19. },
  20. {
  21. value: MetricDisplayType.AREA,
  22. label: t('Area'),
  23. },
  24. {
  25. value: MetricDisplayType.BAR,
  26. label: t('Bar'),
  27. },
  28. ];
  29. export const DEFAULT_SORT_STATE: SortState = {
  30. name: undefined,
  31. order: 'asc',
  32. };
  33. export const NO_QUERY_ID = -1;
  34. export const emptyMetricsQueryWidget: MetricsQueryWidget = {
  35. type: MetricExpressionType.QUERY,
  36. id: NO_QUERY_ID,
  37. mri: 'd:transactions/duration@millisecond' satisfies MRI,
  38. aggregation: 'avg',
  39. condition: undefined,
  40. query: '',
  41. groupBy: [],
  42. sort: DEFAULT_SORT_STATE,
  43. displayType: MetricDisplayType.LINE,
  44. isHidden: false,
  45. overlays: [MetricChartOverlayType.SAMPLES],
  46. };
  47. export const emptyMetricsFormulaWidget: MetricsEquationWidget = {
  48. type: MetricExpressionType.EQUATION,
  49. id: NO_QUERY_ID,
  50. formula: '',
  51. sort: DEFAULT_SORT_STATE,
  52. displayType: MetricDisplayType.LINE,
  53. isHidden: false,
  54. overlays: [MetricChartOverlayType.SAMPLES],
  55. };
  56. export const DEFAULT_AGGREGATES = {
  57. c: 'sum',
  58. d: 'avg',
  59. s: 'count_unique',
  60. g: 'avg',
  61. };