CEC-607 Parameterize Grafana (#103)
* CEC-607 Parameterize Grafana * Update urls
This commit is contained in:
@@ -240,7 +240,7 @@ exports[`App Route / authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-873 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -688,7 +688,7 @@ exports[`App Route /datascope authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1062 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -776,7 +776,7 @@ exports[`App Route /datascope authenticated 1`] = `
|
||||
>
|
||||
<iframe
|
||||
frameborder="0"
|
||||
src="https://grafana.fiskerdps.com/d-solo/1VTVJ_qGk/dashboard?orgId=2&refresh=30s&panelId=12"
|
||||
src="https://dev-grafana.fiskerdps.com/d-solo/1VTVJ_qGk/dashboard?orgId=2&refresh=30s&panelId=12"
|
||||
style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px; width: 100%; height: 100%;"
|
||||
title="Signals Time Series"
|
||||
/>
|
||||
@@ -788,7 +788,7 @@ exports[`App Route /datascope authenticated 1`] = `
|
||||
aria-disabled="false"
|
||||
aria-label="create"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
style="margin-top: 10px;"
|
||||
@@ -1154,7 +1154,7 @@ exports[`App Route /datascope/battery authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1125 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -1311,7 +1311,7 @@ exports[`App Route /datascope/battery authenticated 1`] = `
|
||||
>
|
||||
<iframe
|
||||
frameborder="0"
|
||||
src="https://grafana.fiskerdps.com/d-solo/LVI-aQGnz/diagnostics?orgId=2&var-VIN=1F15K3R45N1234567&var-Signal=BMS_CellVolt1&panelId=2"
|
||||
src="https://dev-grafana.fiskerdps.com/d-solo/LVI-aQGnz/diagnostics?orgId=2&var-VIN=1F15K3R45N1234567&var-Signal=BMS_CellVolt1&panelId=2"
|
||||
style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px; width: 100%; height: 100%;"
|
||||
title="Cell Voltage"
|
||||
/>
|
||||
@@ -1331,7 +1331,7 @@ exports[`App Route /datascope/battery authenticated 1`] = `
|
||||
>
|
||||
<iframe
|
||||
frameborder="0"
|
||||
src="https://grafana.fiskerdps.com/d-solo/LVI-aQGnz/diagnostics?orgId=2&var-VIN=1F15K3R45N1234567&var-Signal=BMS_CellT1&panelId=2"
|
||||
src="https://dev-grafana.fiskerdps.com/d-solo/LVI-aQGnz/diagnostics?orgId=2&var-VIN=1F15K3R45N1234567&var-Signal=BMS_CellT1&panelId=2"
|
||||
style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px; width: 100%; height: 100%;"
|
||||
title="Cell Temperature"
|
||||
/>
|
||||
@@ -1349,7 +1349,7 @@ exports[`App Route /datascope/battery authenticated 1`] = `
|
||||
>
|
||||
<iframe
|
||||
frameborder="0"
|
||||
src="https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&refresh=1m&panelId=4"
|
||||
src="https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&refresh=1m&panelId=4"
|
||||
style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px; width: 100%; height: 100%;"
|
||||
title="Battery Temperature Time Series"
|
||||
/>
|
||||
@@ -1372,7 +1372,7 @@ exports[`App Route /datascope/battery authenticated 1`] = `
|
||||
>
|
||||
<iframe
|
||||
frameborder="0"
|
||||
src="https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&refresh=1m&panelId=6"
|
||||
src="https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&refresh=1m&panelId=6"
|
||||
style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px; width: 100%; height: 100%;"
|
||||
title="Battery Capacity Time Series"
|
||||
/>
|
||||
@@ -1390,7 +1390,7 @@ exports[`App Route /datascope/battery authenticated 1`] = `
|
||||
>
|
||||
<iframe
|
||||
frameborder="0"
|
||||
src="https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&panelId=12"
|
||||
src="https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&panelId=12"
|
||||
style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px; width: 100%; height: 100%;"
|
||||
title="Battery Percent Time Series"
|
||||
/>
|
||||
@@ -1408,7 +1408,7 @@ exports[`App Route /datascope/battery authenticated 1`] = `
|
||||
>
|
||||
<iframe
|
||||
frameborder="0"
|
||||
src="https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&refresh=1m&panelId=2"
|
||||
src="https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&refresh=1m&panelId=2"
|
||||
style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px; width: 100%; height: 100%;"
|
||||
title="12V Battery Percentage Time Series"
|
||||
/>
|
||||
@@ -1426,7 +1426,7 @@ exports[`App Route /datascope/battery authenticated 1`] = `
|
||||
>
|
||||
<iframe
|
||||
frameborder="0"
|
||||
src="https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&refresh=1m&panelId=9"
|
||||
src="https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=1F15K3R45N1234567&refresh=1m&panelId=9"
|
||||
style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px; width: 100%; height: 100%;"
|
||||
title="12V Battery Voltage Time Series"
|
||||
/>
|
||||
@@ -1739,7 +1739,7 @@ exports[`App Route /home authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-936 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -2223,7 +2223,7 @@ exports[`App Route /package-create authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1385 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -3741,7 +3741,7 @@ exports[`App Route /package-deploy authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1318 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -4563,7 +4563,7 @@ exports[`App Route /package-status authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1255 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -5115,7 +5115,7 @@ exports[`App Route /packages authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1192 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -5891,7 +5891,7 @@ exports[`App Route /page-not-found authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-999 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -6262,7 +6262,7 @@ exports[`App Route /vehicle-add authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1452 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -6848,7 +6848,7 @@ exports[`App Route /vehicle-status authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1590 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -8071,7 +8071,7 @@ exports[`App Route /vehicle-status/vin/carupdateid authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1653 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
@@ -8927,7 +8927,7 @@ exports[`App Route /vehicles authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-1519 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
import { useStatusContext } from "../../Contexts/StatusContext";
|
||||
import useStyles from "../../useStyles";
|
||||
import ResponsiveIFrame from "../../Controls/ResponsiveIFrame";
|
||||
import { grafanaCharts } from "../../../services/grafanaCharts";
|
||||
|
||||
const Battery = () => {
|
||||
const classes = useStyles();
|
||||
@@ -82,7 +83,7 @@ const Battery = () => {
|
||||
Cell Voltage {cellNum}
|
||||
<ResponsiveIFrame
|
||||
classes={classes}
|
||||
src={`https://grafana.fiskerdps.com/d-solo/LVI-aQGnz/diagnostics?orgId=2&var-VIN=${vin}&var-Signal=BMS_CellVolt${cellNum}&panelId=2`}
|
||||
src={grafanaCharts.CELLVOLTAGE_CHART({ vin, cellNum })}
|
||||
title="Cell Voltage"
|
||||
/>
|
||||
</Paper>
|
||||
@@ -93,7 +94,7 @@ const Battery = () => {
|
||||
Cell Temperature {cellNum}
|
||||
<ResponsiveIFrame
|
||||
classes={classes}
|
||||
src={`https://grafana.fiskerdps.com/d-solo/LVI-aQGnz/diagnostics?orgId=2&var-VIN=${vin}&var-Signal=BMS_CellT${cellNum}&panelId=2`}
|
||||
src={grafanaCharts.CELLTEMP_CHART({ vin, cellNum })}
|
||||
title="Cell Temperature"
|
||||
/>
|
||||
</Paper>
|
||||
@@ -103,7 +104,7 @@ const Battery = () => {
|
||||
<Paper className={classes.grafanaContainer}>
|
||||
<ResponsiveIFrame
|
||||
classes={classes}
|
||||
src={`https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=${vin}&refresh=1m&panelId=4`}
|
||||
src={grafanaCharts.BATTERYTEMP_CHART({ vin })}
|
||||
title="Battery Temperature Time Series"
|
||||
/>
|
||||
</Paper>
|
||||
@@ -115,7 +116,7 @@ const Battery = () => {
|
||||
<Paper className={classes.grafanaContainer}>
|
||||
<ResponsiveIFrame
|
||||
classes={classes}
|
||||
src={`https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=${vin}&refresh=1m&panelId=6`}
|
||||
src={grafanaCharts.BATTERYCAP_CHART({ vin })}
|
||||
title="Battery Capacity Time Series"
|
||||
/>
|
||||
</Paper>
|
||||
@@ -125,7 +126,7 @@ const Battery = () => {
|
||||
<Paper className={classes.grafanaContainer}>
|
||||
<ResponsiveIFrame
|
||||
classes={classes}
|
||||
src={`https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=${vin}&panelId=12`}
|
||||
src={grafanaCharts.BATTERYPERCENT_CHART({ vin })}
|
||||
title="Battery Percent Time Series"
|
||||
/>
|
||||
</Paper>
|
||||
@@ -135,7 +136,7 @@ const Battery = () => {
|
||||
<Paper className={classes.grafanaContainer}>
|
||||
<ResponsiveIFrame
|
||||
classes={classes}
|
||||
src={`https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=${vin}&refresh=1m&panelId=2`}
|
||||
src={grafanaCharts.BATTERY12VPERCENT_CHART({ vin })}
|
||||
title="12V Battery Percentage Time Series"
|
||||
/>
|
||||
</Paper>
|
||||
@@ -145,7 +146,7 @@ const Battery = () => {
|
||||
<Paper className={classes.grafanaContainer}>
|
||||
<ResponsiveIFrame
|
||||
classes={classes}
|
||||
src={`https://grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=${vin}&refresh=1m&panelId=9`}
|
||||
src={grafanaCharts.BATTERY12VVOLTAGE_CHART({ vin })}
|
||||
title="12V Battery Voltage Time Series"
|
||||
/>
|
||||
</Paper>
|
||||
|
||||
@@ -7,6 +7,7 @@ import { useStatusContext } from "../../Contexts/StatusContext";
|
||||
import useStyles from "../../useStyles";
|
||||
import ResponsiveIFrame from "../../Controls/ResponsiveIFrame";
|
||||
import { logger } from "../../../services/monitoring";
|
||||
import { grafanaCharts } from "../../../services/grafanaCharts";
|
||||
|
||||
const Datascope = () => {
|
||||
const classes = useStyles();
|
||||
@@ -72,7 +73,7 @@ const Datascope = () => {
|
||||
<Paper className={classes.grafanaContainer}>
|
||||
<ResponsiveIFrame
|
||||
classes={classes}
|
||||
src="https://grafana.fiskerdps.com/d-solo/1VTVJ_qGk/dashboard?orgId=2&refresh=30s&panelId=12"
|
||||
src={grafanaCharts.HOME_CHART}
|
||||
title="Signals Time Series"
|
||||
/>
|
||||
</Paper>
|
||||
@@ -83,7 +84,7 @@ const Datascope = () => {
|
||||
aria-label="create"
|
||||
color="primary"
|
||||
component={Link}
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href={grafanaCharts.BASE}
|
||||
rel="noopener"
|
||||
target="_blank"
|
||||
>
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
import React from "react";
|
||||
import { List } from "@material-ui/core";
|
||||
import ListItemLink from "../ListItemLink";
|
||||
import ListItemExternalLink from "../ListItemExternalLink";
|
||||
import { useUserContext } from "../Contexts/UserContext";
|
||||
import { Roles, hasRole } from "../../utils/roles";
|
||||
import HomeIcon from "@material-ui/icons/Home";
|
||||
import CommuteIcon from "@material-ui/icons/Commute";
|
||||
import CloudDownloadIcon from "@material-ui/icons/CloudDownload";
|
||||
import AssessmentIcon from "@material-ui/icons/Assessment";
|
||||
|
||||
import ListItemLink from "../ListItemLink";
|
||||
import ListItemExternalLink from "../ListItemExternalLink";
|
||||
import { useUserContext } from "../Contexts/UserContext";
|
||||
import { Roles, hasRole } from "../../utils/roles";
|
||||
import { grafanaCharts } from "../../services/grafanaCharts";
|
||||
|
||||
const menuData = [
|
||||
{
|
||||
label: "Home",
|
||||
@@ -40,7 +42,7 @@ const menuData = [
|
||||
},
|
||||
{
|
||||
label: "Diagnostics",
|
||||
url: "https://grafana.fiskerdps.com",
|
||||
url: grafanaCharts.BASE,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -183,7 +183,7 @@ exports[`SideMenu Authenticated 1`] = `
|
||||
<a
|
||||
aria-disabled="false"
|
||||
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root makeStyles-menuExternalLink-54 MuiListItem-gutters MuiListItem-button MuiTypography-colorPrimary"
|
||||
href="https://grafana.fiskerdps.com"
|
||||
href="https://dev-grafana.fiskerdps.com"
|
||||
rel="noopener"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
|
||||
@@ -1,24 +1,36 @@
|
||||
import { fetchRespHandler } from "../utils/http"
|
||||
import { fetchRespHandler } from "../utils/http";
|
||||
import { logger } from "./monitoring";
|
||||
|
||||
const API_ENDPOINT = "https://grafana.fiskerdps.com/api/datasources/proxy/2"
|
||||
const API_ENDPOINT = process.env.REACT_APP_GRAFANA_API;
|
||||
|
||||
const grafanaAPI = {
|
||||
getCarsCount: async () => fetch(`${API_ENDPOINT}/?query=SELECT%20countDistinct(VIN)%20as%20count%0AFROM%20default.vehicle_signal%0AWHERE%20Timestamp%20%3C%3D%20toDateTime64(${Date.now() / Math.pow(10, 3)}%2C%203)%20AND%20Timestamp%20%3E%3D%20toDateTime64(${Date.now() / Math.pow(10, 3) - 60 * 60 * 24}%2C%203)%20FORMAT%20JSON`, {
|
||||
getCarsCount: async () =>
|
||||
fetch(
|
||||
`${API_ENDPOINT}/?query=SELECT%20countDistinct(VIN)%20as%20count%0AFROM%20default.vehicle_signal%0AWHERE%20Timestamp%20%3C%3D%20toDateTime64(${
|
||||
Date.now() / Math.pow(10, 3)
|
||||
}%2C%203)%20AND%20Timestamp%20%3E%3D%20toDateTime64(${
|
||||
Date.now() / Math.pow(10, 3) - 60 * 60 * 24
|
||||
}%2C%203)%20FORMAT%20JSON`,
|
||||
{
|
||||
method: "GET",
|
||||
headers: Object.assign({ "Content-Type": "application/json" }),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.then(result => result.data[0].count)
|
||||
.catch(error => logger.warn(error.stack)),
|
||||
}
|
||||
)
|
||||
.then(fetchRespHandler)
|
||||
.then((result) => result.data[0].count)
|
||||
.catch((error) => logger.warn(error.stack)),
|
||||
|
||||
getSignalsCount: async () => fetch(`${API_ENDPOINT}/?query=SELECT%20count()%20as%20count%0AFROM%20default.vehicle_signal%20FORMAT%20JSON`, {
|
||||
getSignalsCount: async () =>
|
||||
fetch(
|
||||
`${API_ENDPOINT}/?query=SELECT%20count()%20as%20count%0AFROM%20default.vehicle_signal%20FORMAT%20JSON`,
|
||||
{
|
||||
method: "GET",
|
||||
headers: Object.assign({ "Content-Type": "application/json" }),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.then(result => result.data[0].count)
|
||||
.catch(error => logger.warn(error.stack)),
|
||||
}
|
||||
)
|
||||
.then(fetchRespHandler)
|
||||
.then((result) => result.data[0].count)
|
||||
.catch((error) => logger.warn(error.stack)),
|
||||
};
|
||||
|
||||
export default grafanaAPI;
|
||||
|
||||
50
src/services/grafanaCharts.js
Normal file
50
src/services/grafanaCharts.js
Normal file
@@ -0,0 +1,50 @@
|
||||
const GRAFANA_BASE_URL = process.env.REACT_APP_GRAFANA_BASE_URL;
|
||||
|
||||
const template = (props, value) => {
|
||||
const keys = Object.keys(props);
|
||||
|
||||
return keys.reduce(
|
||||
(current, key) => current.replace(`\${${key}}`, props[key]),
|
||||
value
|
||||
);
|
||||
};
|
||||
|
||||
export const grafanaCharts = {
|
||||
BASE: GRAFANA_BASE_URL,
|
||||
HOME_CHART: `${GRAFANA_BASE_URL}${process.env.REACT_APP_GRAFANA_HOME_CHART_PATH}`,
|
||||
CELLVOLTAGE_CHART: (props) =>
|
||||
template(
|
||||
props,
|
||||
`${GRAFANA_BASE_URL}${process.env.REACT_APP_GRAFANA_VOLTAGE_CHART_PATH}`
|
||||
),
|
||||
CELLTEMP_CHART: (props) =>
|
||||
template(
|
||||
props,
|
||||
`${GRAFANA_BASE_URL}${process.env.REACT_APP_GRAFANA_CELLTEMP_CHART_PATH}`
|
||||
),
|
||||
BATTERYTEMP_CHART: (props) =>
|
||||
template(
|
||||
props,
|
||||
`${GRAFANA_BASE_URL}${process.env.REACT_APP_GRAFANA_BATTERYTEMP_CHART}`
|
||||
),
|
||||
BATTERYCAP_CHART: (props) =>
|
||||
template(
|
||||
props,
|
||||
`${GRAFANA_BASE_URL}${process.env.REACT_APP_GRAFANA_BATTERYCAP_CHART}`
|
||||
),
|
||||
BATTERYPERCENT_CHART: (props) =>
|
||||
template(
|
||||
props,
|
||||
`${GRAFANA_BASE_URL}${process.env.REACT_APP_GRAFANA_BATTERYPERCENT_CHART}`
|
||||
),
|
||||
BATTERY12VPERCENT_CHART: (props) =>
|
||||
template(
|
||||
props,
|
||||
`${GRAFANA_BASE_URL}${process.env.REACT_APP_GRAFANA_BATTERY12VPERCENT_CHART}`
|
||||
),
|
||||
BATTERY12VVOLTAGE_CHART: (props) =>
|
||||
template(
|
||||
props,
|
||||
`${GRAFANA_BASE_URL}${process.env.REACT_APP_GRAFANA_BATTERY12VVOLTAGE_CHART}`
|
||||
),
|
||||
};
|
||||
59
src/services/grafanaCharts.test.js
Normal file
59
src/services/grafanaCharts.test.js
Normal file
@@ -0,0 +1,59 @@
|
||||
import { grafanaCharts } from "./grafanaCharts";
|
||||
|
||||
describe("Grafana Charts URLs", () => {
|
||||
it("Base", () => {
|
||||
expect(grafanaCharts.BASE).toEqual("https://dev-grafana.fiskerdps.com");
|
||||
});
|
||||
|
||||
it("Home", () => {
|
||||
expect(grafanaCharts.HOME_CHART).toEqual(
|
||||
"https://dev-grafana.fiskerdps.com/d-solo/1VTVJ_qGk/dashboard?orgId=2&refresh=30s&panelId=12"
|
||||
);
|
||||
});
|
||||
|
||||
it("Cell Voltage", () => {
|
||||
expect(
|
||||
grafanaCharts.CELLVOLTAGE_CHART({ vin: "VIN", cellNum: "CELLNUM" })
|
||||
).toEqual(
|
||||
"https://dev-grafana.fiskerdps.com/d-solo/LVI-aQGnz/diagnostics?orgId=2&var-VIN=VIN&var-Signal=BMS_CellVoltCELLNUM&panelId=2"
|
||||
);
|
||||
});
|
||||
|
||||
it("Cell Temperature", () => {
|
||||
expect(
|
||||
grafanaCharts.CELLTEMP_CHART({ vin: "VIN", cellNum: "CELLNUM" })
|
||||
).toEqual(
|
||||
"https://dev-grafana.fiskerdps.com/d-solo/LVI-aQGnz/diagnostics?orgId=2&var-VIN=VIN&var-Signal=BMS_CellTCELLNUM&panelId=2"
|
||||
);
|
||||
});
|
||||
|
||||
it("Battery Temperature Time Series", () => {
|
||||
expect(grafanaCharts.BATTERYTEMP_CHART({ vin: "VIN" })).toEqual(
|
||||
"https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=VIN&refresh=1m&panelId=4"
|
||||
);
|
||||
});
|
||||
|
||||
it("Battery Capacity Time Series", () => {
|
||||
expect(grafanaCharts.BATTERYCAP_CHART({ vin: "VIN" })).toEqual(
|
||||
"https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=VIN&refresh=1m&panelId=6"
|
||||
);
|
||||
});
|
||||
|
||||
it("Battery Percent Time Series", () => {
|
||||
expect(grafanaCharts.BATTERYPERCENT_CHART({ vin: "VIN" })).toEqual(
|
||||
"https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=VIN&panelId=12"
|
||||
);
|
||||
});
|
||||
|
||||
it("12V Battery Percentage Time Series", () => {
|
||||
expect(grafanaCharts.BATTERY12VPERCENT_CHART({ vin: "VIN" })).toEqual(
|
||||
"https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=VIN&refresh=1m&panelId=2"
|
||||
);
|
||||
});
|
||||
|
||||
it("12V Battery Voltage Time Series", () => {
|
||||
expect(grafanaCharts.BATTERY12VVOLTAGE_CHART({ vin: "VIN" })).toEqual(
|
||||
"https://dev-grafana.fiskerdps.com/d-solo/jRKKo2gnz/battery?orgId=2&var-VIN=VIN&refresh=1m&panelId=9"
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user