diff --git a/ui/src/console/detail/account/AccountDetail.js b/ui/src/console/detail/account/AccountDetail.js
index 169984ed..23b8d679 100644
--- a/ui/src/console/detail/account/AccountDetail.js
+++ b/ui/src/console/detail/account/AccountDetail.js
@@ -3,10 +3,8 @@ import Icon from "@mdi/react";
import PropertyTable from "../../PropertyTable";
import {Tab, Tabs} from "react-bootstrap";
import SecretToggle from "../../SecretToggle";
-import React, {useEffect, useState} from "react";
-import * as metadata from "../../../api/metadata";
-import {buildMetrics} from "../../metrics/util";
-import MetricsView from "../../metrics/MetricsView";
+import React from "react";
+import MetricsTab from "./MetricsTab";
const AccountDetail = (props) => {
const customProperties = {
@@ -28,53 +26,6 @@ const AccountDetail = (props) => {
);
}
-const MetricsTab = () => {
- const [metrics30, setMetrics30] = useState(buildMetrics([]));
- const [metrics7, setMetrics7] = useState(buildMetrics([]));
- const [metrics1, setMetrics1] = useState(buildMetrics([]));
- useEffect(() => {
- metadata.getAccountMetrics()
- .then(resp => {
- setMetrics30(buildMetrics(resp.data));
- });
- metadata.getAccountMetrics({duration: "168h"})
- .then(resp => {
- setMetrics7(buildMetrics(resp.data));
- });
- metadata.getAccountMetrics({duration: "24h"})
- .then(resp => {
- setMetrics1(buildMetrics(resp.data));
- });
- }, []);
-
- useEffect(() => {
- let mounted = true;
- let interval = setInterval(() => {
- metadata.getAccountMetrics()
- .then(resp => {
- if(mounted) {
- setMetrics30(buildMetrics(resp.data));
- }
- });
- metadata.getAccountMetrics({duration: "168h"})
- .then(resp => {
- setMetrics7(buildMetrics(resp.data));
- });
- metadata.getAccountMetrics({duration: "24h"})
- .then(resp => {
- setMetrics1(buildMetrics(resp.data));
- });
- }, 5000);
- return () => {
- mounted = false;
- clearInterval(interval);
- }
- }, []);
-
- return (
-
- );
-}
export default AccountDetail;
\ No newline at end of file
diff --git a/ui/src/console/detail/account/MetricsTab.js b/ui/src/console/detail/account/MetricsTab.js
new file mode 100644
index 00000000..fdcbab7d
--- /dev/null
+++ b/ui/src/console/detail/account/MetricsTab.js
@@ -0,0 +1,55 @@
+import React, {useEffect, useState} from "react";
+import {buildMetrics} from "../../metrics/util";
+import * as metadata from "../../../api/metadata";
+import MetricsView from "../../metrics/MetricsView";
+
+const MetricsTab = () => {
+ const [metrics30, setMetrics30] = useState(buildMetrics([]));
+ const [metrics7, setMetrics7] = useState(buildMetrics([]));
+ const [metrics1, setMetrics1] = useState(buildMetrics([]));
+
+ useEffect(() => {
+ metadata.getAccountMetrics()
+ .then(resp => {
+ setMetrics30(buildMetrics(resp.data));
+ });
+ metadata.getAccountMetrics({duration: "168h"})
+ .then(resp => {
+ setMetrics7(buildMetrics(resp.data));
+ });
+ metadata.getAccountMetrics({duration: "24h"})
+ .then(resp => {
+ setMetrics1(buildMetrics(resp.data));
+ });
+ }, []);
+
+ useEffect(() => {
+ let mounted = true;
+ let interval = setInterval(() => {
+ metadata.getAccountMetrics()
+ .then(resp => {
+ if(mounted) {
+ setMetrics30(buildMetrics(resp.data));
+ }
+ });
+ metadata.getAccountMetrics({duration: "168h"})
+ .then(resp => {
+ setMetrics7(buildMetrics(resp.data));
+ });
+ metadata.getAccountMetrics({duration: "24h"})
+ .then(resp => {
+ setMetrics1(buildMetrics(resp.data));
+ });
+ }, 5000);
+ return () => {
+ mounted = false;
+ clearInterval(interval);
+ }
+ }, []);
+
+ return (
+
+ );
+}
+
+export default MetricsTab;
\ No newline at end of file