functions.ts 845 B

1234567891011121314151617181920212223
  1. import { alignOptions, aggOptions } from './constants';
  2. import uniqBy from 'lodash/uniqBy';
  3. export const extractServicesFromMetricDescriptors = metricDescriptors => uniqBy(metricDescriptors, 'service');
  4. export const getMetricTypesByService = (metricDescriptors, service) =>
  5. metricDescriptors.filter(m => m.service === service);
  6. export const getAlignmentOptionsByMetric = (metricValueType, metricKind) => {
  7. return !metricValueType
  8. ? []
  9. : alignOptions.filter(i => {
  10. return i.valueTypes.indexOf(metricValueType) !== -1 && i.metricKinds.indexOf(metricKind) !== -1;
  11. });
  12. };
  13. export const getAggregationOptionsByMetric = (valueType, metricKind) => {
  14. return !metricKind
  15. ? []
  16. : aggOptions.filter(i => {
  17. return i.valueTypes.indexOf(valueType) !== -1 && i.metricKinds.indexOf(metricKind) !== -1;
  18. });
  19. };