Skip to content
Snippets Groups Projects
Commit 40761467 authored by Jörn Künsemöller's avatar Jörn Künsemöller
Browse files

TMSS-2731: refactoring

parent 4d808e5c
No related branches found
No related tags found
1 merge request!1166TMSS-2731: Add annotation plugin and indicate resource usage beyond granted...
......@@ -71,6 +71,10 @@ class ProjectReport extends Component {
const projectLTAStorage = projectResources["LTA Storage"]?projectResources["LTA Storage"].value:0;
const timeFactor = UnitConverter.resourceUnitMap["time"].conversionFactor;
const dataSizeFactor = UnitConverter.resourceUnitMap["bytes"].conversionFactor;
const toDisplayedPercent = function(value, total) {return ((value || 0) / total * 100).toFixed(2);}
const toDisplayedValue = function (value, factor) {return ((value || 0) / factor).toFixed(2);}
const toDisplayedSize = function(value) {return toDisplayedValue(value, dataSizeFactor);}
const toDisplayedTime = function(value) {return toDisplayedValue(value, timeFactor);}
let totalSUBObsTime = 0, totalProcessTime = 0, totalLTAStorage = 0;
for (const subStatus of _.keys(projectReport["SUBs"])) {
let subs = projectReport["SUBs"][subStatus];
......@@ -83,61 +87,61 @@ class ProjectReport extends Component {
suStatsList = _.orderBy(suStatsList, ['stop']);
for (const reportSub of suStatsList) {
if (reportSub.observed_duration) {
reportSub.observingTime = (reportSub.observed_duration/timeFactor).toFixed(2);
reportSub.observingTime = toDisplayedTime(reportSub.observed_duration);
if (reportSub.acceptance_status != 'failed'){
totalSUBObsTime += reportSub.observed_duration;
}
reportSub.observingTimeInc = (totalSUBObsTime / timeFactor).toFixed(2);
reportSub.observingTimeLeft = ((projectObservingTime - totalSUBObsTime)/timeFactor).toFixed(2);
reportSub.observingTimeIncPercent = (totalSUBObsTime/projectObservingTime*100).toFixed(2);
reportSub.observingTimeInc = toDisplayedTime(totalSUBObsTime);
reportSub.observingTimeLeft = toDisplayedTime(projectObservingTime - totalSUBObsTime);
reportSub.observingTimeIncPercent = toDisplayedPercent(totalSUBObsTime, projectObservingTime);
}
if (reportSub.CPU_time_used_duration) {
reportSub.processTime = (reportSub.CPU_time_used_duration/timeFactor).toFixed(2);
reportSub.processTime = toDisplayedTime(reportSub.CPU_time_used_duration);
if (reportSub.acceptance_status != 'failed'){
totalProcessTime += reportSub.CPU_time_used_duration;
}
reportSub.processTimeInc = (totalProcessTime / timeFactor).toFixed(2);
reportSub.processTimeLeft = ((projectProcessTime - totalProcessTime)/timeFactor).toFixed(2);
reportSub.processTimeIncPercent = (totalProcessTime / projectProcessTime *100).toFixed(2);
reportSub.processTimeInc = toDisplayedTime(totalProcessTime);
reportSub.processTimeLeft = toDisplayedTime(projectProcessTime - totalProcessTime);
reportSub.processTimeIncPercent = toDisplayedPercent(totalProcessTime, projectProcessTime);
}
reportSub.ingestDataSize = ((reportSub["ingested_data_size"] || 0)/dataSizeFactor).toFixed(2);
reportSub.ingestDataSize = toDisplayedSize(reportSub["ingested_data_size"]);
if (reportSub.acceptance_status != 'failed'){
totalLTAStorage += reportSub["ingested_data_size"];
}
reportSub.ingestDataIncPercent = (totalLTAStorage / projectLTAStorage * 100).toFixed(2);
reportSub.ingestDataIncPercent = toDisplayedPercent(totalLTAStorage, projectLTAStorage);
reportSub.ingestDate = reportSub.ingested_date?moment.utc(reportSub.ingested_date).format(UIConstants.CALENDAR_DEFAULTDATE_FORMAT):"";
reportSub.execDate = moment.utc(reportSub.start).format(UIConstants.CALENDAR_DEFAULTDATE_FORMAT);
reportSub.observationSASId = reportSub["SAS ID"]["observation control"].join();
reportSub.pipelinseSASId = (reportSub["SAS ID"]["preprocessing pipeline"].concat(reportSub["SAS ID"]["pulsar pipeline"])).join(", ");
}
let observTimeUtilization = {type: 'Observing', value: (projectReport.durations.total_observed/timeFactor).toFixed(2),
percent: (totalSUBObsTime/projectObservingTime*100).toFixed(2),
succeeded: (projectReport.durations.total_observed_succeeded/projectObservingTime*100).toFixed(2),
succeededValue:((projectReport.durations.total_observed_succeeded || 0)/timeFactor).toFixed(2),
acceptancePending: (projectReport.durations.total_observed_acceptance_pending/projectObservingTime*100).toFixed(2),
acceptancePendingValue: ((projectReport.durations.total_observed_acceptance_pending || 0)/timeFactor).toFixed(2),
failed: (projectReport.durations.total_observed_failed/projectObservingTime*100).toFixed(2),
failedValue: ((projectReport.durations.total_observed_failed || 0)/timeFactor).toFixed(2),
let observTimeUtilization = {type: 'Observing', value: toDisplayedTime(projectReport.durations.total_observed),
percent: toDisplayedPercent(totalSUBObsTime, projectObservingTime),
succeeded: toDisplayedPercent(projectReport.durations.total_observed_succeeded, projectObservingTime),
succeededValue: toDisplayedTime(projectReport.durations.total_observed_succeeded),
acceptancePending: toDisplayedPercent(projectReport.durations.total_observed_acceptance_pending, projectObservingTime),
acceptancePendingValue: toDisplayedTime(projectReport.durations.total_observed_acceptance_pending),
failed: toDisplayedPercent(projectReport.durations.total_observed_failed, projectObservingTime),
failedValue: toDisplayedTime(projectReport.durations.total_observed_failed),
unit: 'hrs'};
resourceUtilization.push(observTimeUtilization);
let processTimeUtilization = {type: 'CEP Processing', value: ((projectReport.processing_resources.CPU_time_used||0)/timeFactor).toFixed(2),
percent: (totalProcessTime/projectProcessTime*100).toFixed(2),
succeeded: ((projectReport.processing_resources.CPU_time_used_succeeded||0)/projectProcessTime*100).toFixed(2),
succeededValue: ((projectReport.processing_resources.CPU_time_used_succeeded||0)/timeFactor).toFixed(2),
acceptancePending: ((projectReport.processing_resources.CPU_time_used_acceptance_pending||0)/projectProcessTime*100).toFixed(2),
acceptancePendingValue: ((projectReport.processing_resources.CPU_time_used_acceptance_pending||0)/timeFactor).toFixed(2),
failed: ((projectReport.processing_resources.CPU_time_used_failed||0)/projectProcessTime*100).toFixed(2),
failedValue: ((projectReport.processing_resources.CPU_time_used_failed||0)/timeFactor).toFixed(2),
let processTimeUtilization = {type: 'CEP Processing', value: toDisplayedTime(projectReport.processing_resources.CPU_time_used),
percent: toDisplayedPercent(totalProcessTime, projectProcessTime),
succeeded: toDisplayedPercent(projectReport.processing_resources.CPU_time_used_succeeded, projectProcessTime),
succeededValue: toDisplayedTime(projectReport.processing_resources.CPU_time_used_succeeded),
acceptancePending: toDisplayedPercent(projectReport.processing_resources.CPU_time_used_acceptance_pending, projectProcessTime),
acceptancePendingValue: toDisplayedTime(projectReport.processing_resources.CPU_time_used_acceptance_pending),
failed: toDisplayedPercent(projectReport.processing_resources.CPU_time_used_failed, projectProcessTime),
failedValue: toDisplayedTime(projectReport.processing_resources.CPU_time_used_failed),
unit: 'hrs'};
resourceUtilization.push(processTimeUtilization);
let ltaStorageUtilization = {type: 'LTA Storage', value: ((projectReport.LTA_dataproducts.size||0)/dataSizeFactor).toFixed(2),
percent: (totalLTAStorage/projectLTAStorage*100).toFixed(2),
succeeded: ((projectReport.LTA_dataproducts.size_succeeded||0)/projectLTAStorage*100).toFixed(2),
succeededValue: ((projectReport.LTA_dataproducts.size_succeeded||0)/dataSizeFactor).toFixed(2),
acceptancePending: ((projectReport.LTA_dataproducts.size_acceptance_pending||0)/projectLTAStorage*100).toFixed(2),
acceptancePendingValue: ((projectReport.LTA_dataproducts.size_acceptance_pending||0)/dataSizeFactor).toFixed(2),
failed: ((projectReport.LTA_dataproducts.size_failed||0)/projectLTAStorage*100).toFixed(2),
failedValue: ((projectReport.LTA_dataproducts.size_failed||0)/dataSizeFactor).toFixed(2),
let ltaStorageUtilization = {type: 'LTA Storage', value: toDisplayedSize(projectReport.LTA_dataproducts.size),
percent: toDisplayedPercent(totalLTAStorage, projectLTAStorage),
succeeded: toDisplayedPercent(projectReport.LTA_dataproducts.size_succeeded, projectLTAStorage),
succeededValue: toDisplayedSize(projectReport.LTA_dataproducts.size_succeeded),
acceptancePending: toDisplayedPercent(projectReport.LTA_dataproducts.size_acceptance_pending, projectLTAStorage),
acceptancePendingValue: toDisplayedSize(projectReport.LTA_dataproducts.size_acceptance_pending),
failed: toDisplayedPercent(projectReport.LTA_dataproducts.size_failed, projectLTAStorage),
failedValue: toDisplayedSize(projectReport.LTA_dataproducts.size_failed),
unit: 'TB'};
resourceUtilization.push (ltaStorageUtilization);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment