Skip to content

Commit 3b0aaee

Browse files
committed
add job
1 parent b541c3d commit 3b0aaee

File tree

2 files changed

+47
-6
lines changed

2 files changed

+47
-6
lines changed

src/js/MapSetting.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ let MapSetting = function () {
336336
};
337337

338338
function handleData() {
339-
console.log(scheme.data)
339+
// console.log(scheme.data)
340340
jobsObj = {};
341341
computersObj = {};
342342
usersObj = {};
@@ -416,7 +416,7 @@ let MapSetting = function () {
416416
tableData[d.key].id = d.key;
417417
d.order = i
418418
})
419-
console.log(_computers,jobsObj,computersObj,usersObj,linkob,tableData,users,jobs,computers,linkdata)
419+
// console.log(_computers,jobsObj,computersObj,usersObj,linkob,tableData,users,jobs,computers,linkdata)
420420
}
421421

422422
function handleCollapseJobs(u) {
@@ -499,7 +499,7 @@ let MapSetting = function () {
499499

500500
});
501501
});
502-
console.log('compute_tsnedata',compute_tsnedata)
502+
// console.log('compute_tsnedata',compute_tsnedata)
503503
let summary = serviceFullList.map((s, si) => {
504504
let min = Infinity;
505505
let max = -Infinity;
@@ -574,7 +574,9 @@ let MapSetting = function () {
574574
// add link to job
575575
jobsObj[jobKey]._node_list = jobsObj[jobKey].node_list.slice();
576576
jobsObj[jobKey].node_list = [compKey];
577+
jobsObj[jobKey].job_ids = job_ids;
577578
jobsObj[jobKey].links[compKey] = compKey + '|' + jobKey;
579+
// console.log('collapse job', u.key, jobsObj[jobKey], computersObj[compKey], linkob[compKey + '|' + jobKey]);
578580
}
579581
jobs = d3.values(jobsObj);
580582
computers = d3.values(computersObj);
@@ -605,6 +607,7 @@ let MapSetting = function () {
605607
g.select('.job_title').classed('hide', true);
606608
}
607609
let jobNode = nodeg.selectAll('.jobNode').data(jobs, function (d) {
610+
// console.log('jobNode', d)
608611
return d.key
609612
});
610613
jobNode.exit().remove();
@@ -643,8 +646,8 @@ let MapSetting = function () {
643646
}
644647
});
645648
jobNode.select('.lelftext').text(d => `#Computes: ${d.node_list.length}`)
646-
jobNode.select('.righttext').text(d => d.values ? `#Jobs: ${d.values.length}` : '')
647-
649+
jobNode.select('.righttext').text(d => d.key ? `Job ID: ${d.key}` : '')
650+
// console.log('jobNode', jobNode)
648651
jobNode.selectAll('path').style('stroke', 'black').style('stroke-width', d => d.values ? Jobscale(d.values.length) : 1.5);
649652
return jobNode;
650653
}
@@ -1546,7 +1549,7 @@ let MapSetting = function () {
15461549
}
15471550
});
15481551
alldataPoint.sort((a, b) => Math.abs(b.value) - Math.abs(a.value));
1549-
console.log(alldataPoint)
1552+
// console.log(alldataPoint)
15501553
for (let i = 0; i < 10; i++) {
15511554
const step = alldataPoint[i].timestep;
15521555
computersObj[alldataPoint[i].name].highlightData.notEmpty = true;

src/js/main.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -979,12 +979,50 @@ function handleInputSlumrData(data) {
979979
// initTimeElement();
980980
// // queryLayout().then(()=>request.request());
981981
// });
982+
function updateServiceRanges(data) {
983+
const metrics = serviceListattr; // like ["system_power", "cpu_power", ...]
984+
const rangeMap = {};
985+
986+
// Initialize min/max for each metric
987+
for (const metric of metrics) {
988+
rangeMap[metric] = { min: Infinity, max: -Infinity };
989+
}
990+
991+
// Loop through nodes and update min/max values
992+
for (const node in data.nodes_info) {
993+
const info = data.nodes_info[node];
994+
metrics.forEach(metric => {
995+
const values = (info[metric] || []).flat(); // Flatten 2D array if needed
996+
for (const v of values) {
997+
if (v != null && !isNaN(v)) {
998+
rangeMap[metric].min = Math.min(rangeMap[metric].min, v);
999+
rangeMap[metric].max = Math.max(rangeMap[metric].max, v);
1000+
}
1001+
}
1002+
});
1003+
}
1004+
1005+
// Update serviceLists.sub.range
1006+
for (const service of serviceLists) {
1007+
const metric = service.text;
1008+
const r = rangeMap[metric];
1009+
if (r.min !== Infinity && r.max !== -Infinity) {
1010+
service.sub[0].range = [Math.floor(r.min), Math.ceil(r.max)];
1011+
}
1012+
}
1013+
1014+
console.log("Updated ranges:", serviceLists.map(s => ({
1015+
metric: s.text,
1016+
range: s.sub[0].range
1017+
})));
1018+
}
9821019

9831020
function initTimeElement() {
9841021
// request.onFinishQuery.push(queryData);
9851022
request.onDataChange.push((data) => {
9861023
updateProcess({percentage: 50, text: 'Preprocess data'})
9871024
setTimeout(() => {
1025+
updateServiceRanges(data);
9881026
d3.select('#dataTime').text(new Date(data.time_stamp[0]).toDateString());
9891027
serviceControl();
9901028
handleRankingData(data);

0 commit comments

Comments
 (0)