in client/web/src/metrics/RequestGraphContainer.js [31:172]
export default function RequestGraphContainer(props) {
const dispatch = useDispatch();
const albstats = useSelector((state) =>
selectMetricResultsById(state, "albstats")
);
console.log(`albstats: ${JSON.stringify(albstats)}`);
useEffect(() => {
const queryResponse = dispatch(queryMetrics(queryRequest));
return () => {
if (queryResponse.PromiseStatus === "pending") {
console.log("Clean up onboarding list request");
queryResponse.abort();
}
//dispatch(dismissError());
};
}, [dispatch]);
const metrics = new Map();
if (albstats) {
albstats.metrics.forEach((metric) => {
let data = {};
const datasets = [];
const metricData = {
name: metric.dimension.metricName,
};
datasets.push({
label: "P90",
data: metric.stats.P90,
borderWidth: 1,
backgroundColor: "rgba(32,168,216, 0.5)",
borderColor: "rgba(32,168,216, 0.5)",
fill: false,
});
datasets.push({
label: "P70",
data: metric.stats.P70,
borderWidth: 1,
backgroundColor: "rgba(164,183,193, 0.5)",
borderColor: "rgba(164,183,193, 0.5)",
fill: false,
});
datasets.push({
label: "P50",
data: metric.stats.P50,
borderWidth: 1,
backgroundColor: "rgba(77,189,116, 0.5)",
borderColor: "rgba(77,189,116, 0.5)",
fill: false,
});
datasets.push({
label: "Average",
data: metric.stats.Average,
borderWidth: 1,
//backgroundColor: "rgba(248,108,107, 1)",
borderColor: "rgba(248,108,107, 1)",
fill: false,
});
datasets.push({
label: "Sum",
data: metric.stats.Sum,
borderWidth: 1,
backgroundColor: "rgba(255,193,7, 0.5)",
borderColor: "rgba(255,193,7, 0.5)",
fill: false,
});
//if (metric.dimension.metricName === "RequestCount") {
// metric.topTenants.forEach((dataPoint) => {
// dataPoint.forEach((data) => {
// if (!tenantMap.has(data.tenantId)) {
// tenantMap.set(data.tenantId, []);
// }
// console.log(`dataPoint: ${JSON.stringify(data)}`);
// let existingValues = tenantMap.get(data.tenantId);
// existingValues.push(data.value);
// tenantMap.set(data.tenantId, existingValues);
// });
// });
// //}
// tenantMap.forEach((v, k, m) => {
// datasets.push({
// label: k,
// data: v,
// });
// });
console.log(`dataset: ${JSON.stringify(datasets)}`);
const distinctPeriods = [...new Set(albstats.periods)];
data.labels = distinctPeriods;
data.datasets = datasets;
metricData.data = data;
metrics.set(metricData.name, metricData);
});
}
let metricsToShow = [];
metricsToShow.push(<GraphComponent loading={true} name={"Request Count"} />);
metricsToShow.push(
<GraphComponent loading={true} name={"2XX Request Count"} />
);
metricsToShow.push(
<GraphComponent loading={true} name={"4XX Request Count"} />
);
metricsToShow.push(
<GraphComponent loading={true} name={"5XX Request Count"} />
);
metricsToShow.push(
<GraphComponent loading={true} name={"3XX Request Count"} />
);
metrics.forEach((m, k) => {
console.log(k);
metricsToShow.push(
<Col lg="6">
<Card>
<CardHeader>{k}</CardHeader>
<CardBody>
<Line
data={m.data}
options={{
title: {
display: true,
text: k,
fontSize: 12,
},
}}
/>
</CardBody>
</Card>
</Col>
);
});
return metricsToShow;
}