prometheus

Форк
0
27 строк · 999.0 Байт
1
import React, { FC } from 'react';
2
import { useFetch } from '../../hooks/useFetch';
3
import { withStatusIndicator } from '../../components/withStatusIndicator';
4
import AlertsContent, { RuleStatus, AlertsProps } from './AlertContents';
5
import { usePathPrefix } from '../../contexts/PathPrefixContext';
6
import { API_PATH } from '../../constants/constants';
7

8
const AlertsWithStatusIndicator = withStatusIndicator(AlertsContent);
9

10
const Alerts: FC = () => {
11
  const pathPrefix = usePathPrefix();
12
  const { response, error, isLoading } = useFetch<AlertsProps>(`${pathPrefix}/${API_PATH}/rules?type=alert`);
13

14
  const ruleStatsCount: RuleStatus<number> = {
15
    inactive: 0,
16
    pending: 0,
17
    firing: 0,
18
  };
19

20
  if (response.data && response.data.groups) {
21
    response.data.groups.forEach((el) => el.rules.forEach((r) => ruleStatsCount[r.state]++));
22
  }
23

24
  return <AlertsWithStatusIndicator {...response.data} statsCount={ruleStatsCount} error={error} isLoading={isLoading} />;
25
};
26

27
export default Alerts;
28

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.