extractionRules.tsx 709 B

1234567891011121314151617181920212223242526272829303132333435
  1. import type {
  2. MetricAggregation,
  3. MetricsExtractionCondition,
  4. MetricsExtractionRule,
  5. MetricType,
  6. MRI,
  7. } from 'sentry/types/metrics';
  8. export const aggregationToMetricType: Record<MetricAggregation, MetricType> = {
  9. count: 'c',
  10. count_unique: 's',
  11. min: 'g',
  12. max: 'g',
  13. sum: 'g',
  14. avg: 'g',
  15. p50: 'd',
  16. p75: 'd',
  17. p90: 'd',
  18. p95: 'd',
  19. p99: 'd',
  20. };
  21. export function findExtractionRuleCondition(
  22. mri: MRI,
  23. extractionRules: MetricsExtractionRule[]
  24. ): MetricsExtractionCondition | undefined {
  25. for (const rule of extractionRules) {
  26. for (const condition of rule.conditions) {
  27. if (condition.mris.includes(mri)) {
  28. return condition;
  29. }
  30. }
  31. }
  32. return undefined;
  33. }