From 21afa61a6b48a3ee26f0cc07a12a3f06f557d601 Mon Sep 17 00:00:00 2001 From: Lukas Steiner Date: Mon, 23 Nov 2020 17:32:07 +0100 Subject: [PATCH 1/4] Add splitters. --- DRAMSys/traceAnalyzer/tracefiletab.ui | 534 +++++++++++++------------- 1 file changed, 264 insertions(+), 270 deletions(-) diff --git a/DRAMSys/traceAnalyzer/tracefiletab.ui b/DRAMSys/traceAnalyzer/tracefiletab.ui index 182c410e..781cc1fd 100644 --- a/DRAMSys/traceAnalyzer/tracefiletab.ui +++ b/DRAMSys/traceAnalyzer/tracefiletab.ui @@ -15,281 +15,275 @@ - - - - - - - - 3 - 4 - - - - - 0 - 0 - - - - Qt::StrongFocus - - - - - - - - 4 - 1 - - - - - 0 - 150 - - - - - - - - - - - - - 0 - 500 - - - - 0 - - - - Selected Transaction - - - - - - - - - 3 - 3 - - - - - 300 - 0 - - - - - 16777215 - 16777215 - - - - true - - - false - - - false - - - 0 - - - true - - - - - - - - 2 - 1 - - - - - 300 - 200 - - - - - 16777215 - 16777215 - - - - - 1 - - - - - - - - true - - - - 2 - 1 - - - - - 300 - 0 - - - - - 16777215 - 16777215 - - - - true - - - - - - - - - - Latency Analysis - - - - - - - - Start Analysis - - - - - - - 0 - - - - - - - - 16777215 - 200 - - - - - - - - QAbstractItemView::NoEditTriggers - - - - - - - - - - true - - - - 0 - 0 - - - - - 467 - 0 - - - - - - - Power and Bandwidth Analysis - - - - + + + Qt::Horizontal + + + + Qt::Vertical + + + + + 3 + 4 + + + + + 0 + 0 + + + + Qt::StrongFocus + + + + + + 4 + 1 + + + + + 0 + 150 + + + + + + + + 0 + 500 + + + + 2 + + + + Selected Transaction + + + + + + + + + 3 + 3 + + + + + 300 + 0 + + + + + 16777215 + 16777215 + + + + true + + + false + + + false + + + 0 + + + true + + + + + + + + 2 + 1 + + + + + 300 + 200 + + + + + 16777215 + 16777215 + + + - Start Analysis + 1 - - - - + + + + + + + true + + + + 2 + 1 + + + + + 300 + 0 + + + + + 16777215 + 16777215 + + + + true + + + + + + + + + + Latency Analysis + + + + + + + + Start Analysis + + + + + + + 0 + + + + + + + + 16777215 + 200 + + + + + + + + QAbstractItemView::NoEditTriggers + + + + + + + + + + true + + + + 0 + 0 + + + + + 467 + 0 + + + + + + + Power and Bandwidth Analysis + + + + + + Start Analysis + + + + + + + + + Power: + + - - - Power: - - - - - - - - - - - - Bandwidth: - - - - - - - - - - - - Buffer Analysis: - - - - - - - + - - - - - - - - + + + + + + Bandwidth: + + + + + + + + + + + + Buffer Analysis: + + + + + + + + + + + + + + From 09eed96338756056c76cabcad118e117c50e6f3e Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Wed, 25 Nov 2020 11:02:48 +0100 Subject: [PATCH 2/4] New delayed metric --- DRAMSys/traceAnalyzer/scripts/metrics.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/DRAMSys/traceAnalyzer/scripts/metrics.py b/DRAMSys/traceAnalyzer/scripts/metrics.py index cc4e8e5e..c3a9f50f 100644 --- a/DRAMSys/traceAnalyzer/scripts/metrics.py +++ b/DRAMSys/traceAnalyzer/scripts/metrics.py @@ -90,6 +90,13 @@ def memory_idle(connection): return (idle[0]/clk) +@metric +def memory_delayed(connection): + total = memory_total(connection) + active = memory_active(connection) + idle = memory_idle(connection) + return total - active - idle + @metric def memory_utilisation_percent_new(connection): total = memory_total(connection) From 2e652deaf47ecc640f6431f1e19586bb5eb366fc Mon Sep 17 00:00:00 2001 From: Lukas Steiner Date: Wed, 25 Nov 2020 15:02:08 +0100 Subject: [PATCH 3/4] Fix checkboxes in metrics window. --- DRAMSys/traceAnalyzer/evaluationtool.cpp | 44 +++++++++++++++--------- DRAMSys/traceAnalyzer/evaluationtool.ui | 17 +++++---- DRAMSys/traceAnalyzer/tracefiletab.ui | 2 +- 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/DRAMSys/traceAnalyzer/evaluationtool.cpp b/DRAMSys/traceAnalyzer/evaluationtool.cpp index 09b96b13..83223bdd 100644 --- a/DRAMSys/traceAnalyzer/evaluationtool.cpp +++ b/DRAMSys/traceAnalyzer/evaluationtool.cpp @@ -143,20 +143,25 @@ void EvaluationTool::runTests() ui->traceTestTreeWidget->clear(); ui->testLight->setGray(); - if (traceFilesModel->rowCount() == 0) - return; - bool allTestsPassed = true; + bool boxesChecked = false; - for (int row = 0; row < traceFilesModel->rowCount(); ++row) { + for (int row = 0; row < traceFilesModel->rowCount(); ++row) + { TraceFileItem *item = static_cast(traceFilesModel->item(row)); - TraceTestResults traceTestResult = pythonCaller.runTestsOnTrace( - item->getPath()); - if (!traceTestResult.hasPassedAllTests()) - allTestsPassed = false; - ui->traceTestTreeWidget->addTraceTestResult(traceTestResult); + if (item->checkState() == Qt::Checked) + { + boxesChecked = true; + TraceTestResults traceTestResult = pythonCaller.runTestsOnTrace(item->getPath()); + if (!traceTestResult.hasPassedAllTests()) + allTestsPassed = false; + ui->traceTestTreeWidget->addTraceTestResult(traceTestResult); + } } + if (!boxesChecked) + return; + ui->traceTestTreeWidget->expandAll(); if (allTestsPassed) @@ -186,10 +191,13 @@ void EvaluationTool::calculateMetrics(vector selectedMetrics) ui->traceMetricTreeWidget->clear(); for (int row = 0; row < traceFilesModel->rowCount(); ++row) { TraceFileItem *item = static_cast(traceFilesModel->item(row)); - TraceCalculatedMetrics result = pythonCaller.calculateMetricsOnTrace( - item->getPath(), selectedMetrics); - calculatedMetrics.push_back(result); - ui->traceMetricTreeWidget->addTraceMetricResults(result); + if (item->checkState() == Qt::Checked) + { + TraceCalculatedMetrics result = pythonCaller.calculateMetricsOnTrace( + item->getPath(), selectedMetrics); + calculatedMetrics.push_back(result); + ui->traceMetricTreeWidget->addTraceMetricResults(result); + } } ui->traceMetricTreeWidget->expandAll(); } @@ -203,7 +211,7 @@ EvaluationTool::TraceFileItem::TraceFileItem(const QString &path) { this->path = path; setText(QFileInfo(this->path).baseName()); - setCheckable( false ); + setCheckable(true); setCheckState(Qt::Checked); setEditable(false); } @@ -238,11 +246,15 @@ void EvaluationTool::genPlots() if (traceFilesModel->rowCount() == 0) return; - for (int row = 0; row < traceFilesModel->rowCount(); ++row) { + for (int row = 0; row < traceFilesModel->rowCount(); ++row) + { TraceFileItem *item = static_cast(traceFilesModel->item(row)); - ui->traceMetricTreeWidget->addTracePlotResults(QFileInfo( + if (item->checkState() == Qt::Checked) + { + ui->traceMetricTreeWidget->addTracePlotResults(QFileInfo( item->getPath()).baseName(), pythonCaller.generatePlotsOnTrace(item->getPath())); + } } ui->traceMetricTreeWidget->expandAll(); } diff --git a/DRAMSys/traceAnalyzer/evaluationtool.ui b/DRAMSys/traceAnalyzer/evaluationtool.ui index cec14f63..a54f5938 100644 --- a/DRAMSys/traceAnalyzer/evaluationtool.ui +++ b/DRAMSys/traceAnalyzer/evaluationtool.ui @@ -24,6 +24,9 @@ 0 + + QAbstractItemView::NoSelection + @@ -43,7 +46,7 @@ 0 0 702 - 432 + 436 @@ -106,7 +109,7 @@ 0 0 702 - 432 + 436 @@ -138,11 +141,11 @@ - - - Generate plots - - + + + Generate plots + + diff --git a/DRAMSys/traceAnalyzer/tracefiletab.ui b/DRAMSys/traceAnalyzer/tracefiletab.ui index 781cc1fd..cb7e5d1d 100644 --- a/DRAMSys/traceAnalyzer/tracefiletab.ui +++ b/DRAMSys/traceAnalyzer/tracefiletab.ui @@ -63,7 +63,7 @@ - 2 + 0 From e11420cecd25119d06e3392e49376536b547d543 Mon Sep 17 00:00:00 2001 From: Lukas Steiner Date: Wed, 25 Nov 2020 15:27:47 +0100 Subject: [PATCH 4/4] Change initial splitter size in TA. --- DRAMSys/traceAnalyzer/tracefiletab.ui | 34 +++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/DRAMSys/traceAnalyzer/tracefiletab.ui b/DRAMSys/traceAnalyzer/tracefiletab.ui index cb7e5d1d..73006015 100644 --- a/DRAMSys/traceAnalyzer/tracefiletab.ui +++ b/DRAMSys/traceAnalyzer/tracefiletab.ui @@ -16,10 +16,28 @@ + + + 0 + 0 + + + + + 1000 + 0 + + Qt::Horizontal + + + 1 + 0 + + Qt::Vertical @@ -56,6 +74,12 @@ + + + 0 + 0 + + 0 @@ -169,6 +193,12 @@ + + + 0 + 0 + + Latency Analysis @@ -215,14 +245,14 @@ true - + 0 0 - 467 + 0 0