Skip to content

Commit bee0155

Browse files
author
Lucienne Seidler
committed
Merge branch 'dev' into Lucie/code-review
2 parents 7429087 + acf3322 commit bee0155

File tree

3 files changed

+42
-24
lines changed

3 files changed

+42
-24
lines changed

app/charts/HealthChart.tsx

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,28 +39,34 @@ const HealthChart: React.FC<HealthChartProps> = React.memo(props => {
3939
};
4040

4141
// pulls the current service names to be shown in the graph title from chartData
42-
const serviceNamesAsString = (chartData: object): string => {
42+
const serviceNamesAsString = (chartDataObject: object): string => {
4343
let serviceNameString = '';
44-
for (const serviceName in chartData) {
44+
for (const serviceName in chartDataObject) {
4545
serviceNameString += `${serviceName} | `;
4646
}
4747
return serviceNameString;
4848
};
4949

5050
// generates an array of plotly data objects to be passed into our plotly chart's data prop
51-
const generatePlotlyDataObjects = (chartData: object): object[] => {
51+
const generatePlotlyDataObjects = (chartDataObj: object): object[] => {
5252
const arrayOfPlotlyDataObjects: PlotlyData[] = [];
5353
// iterate through the chartData
54-
for (const serviceName in chartData) {
54+
for (const serviceName in chartDataObj) {
55+
console.log('SERVICENAME: ', serviceName);
5556
// define the metrics for this service
56-
const metrics = chartData[serviceName];
57+
const metrics = chartDataObj[serviceName];
58+
console.log('METRICS: ', metrics);
5759
// loop through the list of metrics for the current service
5860
for (const metricName in metrics) {
61+
console.log('METRICNAME: ', metricName);
5962
// define the value and time arrays; allow data to be reassignable in case we need to convert the bytes data into megabytes
6063
let dataArray = metrics[metricName].value;
64+
console.log('DATAARRAY: ', dataArray);
6165
const timeArray = metrics[metricName].time;
66+
console.log('TIMEARRAY: ', timeArray);
6267
// specifically for `Megabyte` types, convert the original data of bytes into a value of megabytes before graphing
63-
if (dataType === 'Memory in Megabytes' || 'Cache in Megabytes') {
68+
if (dataType === 'Memory in Megabytes' || dataType === 'Cache in Megabytes') {
69+
console.log('DATATYPE: ', dataType);
6470
dataArray = dataArray.map(value => (value / 1000000).toFixed(2));
6571
}
6672
// create the plotly object
@@ -74,6 +80,7 @@ const HealthChart: React.FC<HealthChartProps> = React.memo(props => {
7480
colors: ['#fc4039', '#4b54ea', '#32b44f', '#3788fc', '#9c27b0', '#febc2c'],
7581
},
7682
};
83+
console.log('PLOTLYDATAOBJECT: ', plotlyDataObject)
7784
// push the dataObject into the arrayOfPlotlyDataObjects
7885
arrayOfPlotlyDataObjects.push(plotlyDataObject);
7986
}

app/containers/HealthContainer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ const HealthContainer: React.FC<HealthContainerProps> = React.memo(props => {
133133
typeGroupedObject[metricType][serviceName][metric] = metrics[metric];
134134
}
135135
}
136-
console.log('typeGroupedObject: ', typeGroupedObject);
136+
137137
return typeGroupedObject;
138138
};
139139

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import KafkaModel from '../models/KafkaModel';
22
import HealthModelFunc from '../models/HealthModel';
3+
import { Pool } from 'pg';
34

4-
const fetchData = {};
5+
interface fetchData {
6+
mongoFetch: (serviceName: string) => Promise<Array<{ [key: string]: any[] }>>;
7+
postgresFetch: (serviceName: string, pool: Pool) => Promise<Array<{ [key: string]: any[] }>>;
8+
}
59

6-
const aggregator = [
10+
const aggregator: any[] = [
711
{
812
$setWindowFields: {
913
partitionBy: '$metric',
@@ -24,10 +28,9 @@ const aggregator = [
2428
},
2529
];
2630

27-
// healthModelFunc creates a model based on the serviceName
28-
// Create an aggregator based on the aggregator variable
29-
// return the result
30-
fetchData.mongoFetch = async function (serviceName) {
31+
const mongoFetch = async (
32+
serviceName: string
33+
): Promise<Array<{ [key: string]: any[] }> | undefined> => {
3134
try {
3235
const testModel = HealthModelFunc(serviceName);
3336
let result = await testModel.aggregate(aggregator);
@@ -38,17 +41,18 @@ fetchData.mongoFetch = async function (serviceName) {
3841
}
3942
};
4043

41-
fetchData.postgresFetch = async function (serviceName, pool) {
44+
const postgresFetch = async (
45+
serviceName: string,
46+
pool: Pool
47+
): Promise<Array<{ [key: string]: any[] }> | undefined> => {
4248
const query = `
43-
WITH
44-
temp
45-
AS (
49+
WITH temp AS (
4650
SELECT
4751
metric, value, category, time,
4852
row_number() OVER(PARTITION BY metric ORDER BY time DESC) AS rowNumber
4953
FROM
5054
${serviceName}
51-
)
55+
)
5256
SELECT
5357
metric, value, category, time
5458
FROM
@@ -57,12 +61,19 @@ fetchData.postgresFetch = async function (serviceName, pool) {
5761
rowNumber <= 50
5862
;`;
5963

60-
let result = await pool.query(query);
61-
// console.log('result.rows in dataHelpers postgresFetch:', JSON.stringify(result.rows));
62-
result = result.rows;
63-
result = [{ [serviceName]: result }];
64-
// console.log('result with servicename in dataHelpers postgresFetch:', JSON.stringify(result));
65-
return result;
64+
try {
65+
let result = await pool.query(query);
66+
result = result.rows;
67+
result = [{ [serviceName]: result }];
68+
return result;
69+
} catch (error) {
70+
console.log('Query error in postgresFetch(): ', error);
71+
}
72+
};
73+
74+
const fetchData = {
75+
mongoFetch,
76+
postgresFetch,
6677
};
6778

6879
export { fetchData };

0 commit comments

Comments
 (0)