-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConversorJSON.js
More file actions
94 lines (83 loc) · 2.38 KB
/
Copy pathConversorJSON.js
File metadata and controls
94 lines (83 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
function convertJSON(json) {
let quadros = json.frames;
let arrayQuadros = [];
let arrayTotalPercent = [];
let arrayCalls = [];
let arrayTotalTime = [];
let arrayGCMemory = [];
let objetoFinal = {
"quadrosTotal": [],
"quadrosTotalPercent": [],
"totalPercent": [],
"quadrosCalls": [],
"calls": [],
"quadrosTotalTime": [],
"totalTime": [],
"quadrosGCMemory": [],
"gcMemory": []
};
let contadorFrames = 1;
for (let i = 0; i < quadros.length; i++) {
if (contadorFrames == 10) {
arrayQuadros.push((i + 1));
contadorFrames = 1;
}
else {
arrayQuadros.push('');
contadorFrames++;
}
if (quadros[i].functions.length == 0) {
arrayTotalPercent.push('');
arrayCalls.push('');
arrayTotalTime.push('');
arrayGCMemory.push('');
}
else {
let array = quadros[i].functions[0].values;
for (let j = 0; j < array.length; j++) {
switch (array[j].column) {
case 'TotalPercent':
arrayTotalPercent.push(array[j].value);
break;
case 'Calls':
arrayCalls.push(array[j].value);
break;
case 'TotalTime':
arrayTotalTime.push(array[j].value);
break;
case 'GCMemory':
let unidade = array[j].value.replace(/(.*)\s/g, '');
let valor = parseFloat(array[j].value.replace(/\s(.*)/g, ''));
switch (unidade) {
case 'B':
valor = valor * 1;
break;
case 'KB':
valor = valor * 1000;
break;
case 'MB':
valor = valor * 1000000;
break;
}
arrayGCMemory.push(valor.toString());
break;
}
}
}
}
arrayQuadros.push('END');
arrayTotalPercent.push('END');
arrayCalls.push('END');
arrayTotalTime.push('END');
arrayGCMemory.push('END');
objetoFinal.quadrosTotal = arrayQuadros;
objetoFinal.quadrosTotalPercent = arrayQuadros;
objetoFinal.totalPercent = arrayTotalPercent;
objetoFinal.quadrosCalls = arrayQuadros;
objetoFinal.calls = arrayCalls;
objetoFinal.quadrosTotalTime = arrayQuadros;
objetoFinal.totalTime = arrayTotalTime;
objetoFinal.quadrosGCMemory = arrayQuadros;
objetoFinal.gcMemory = arrayGCMemory;
console.log(JSON.stringify(objetoFinal));
}