diff --git a/changes.d/2100.feat.md b/changes.d/2100.feat.md
new file mode 100644
index 000000000..9a40cc43d
--- /dev/null
+++ b/changes.d/2100.feat.md
@@ -0,0 +1 @@
+Adding CPU time and Max RSS to Analysis Tools
diff --git a/src/components/cylc/analysis/AnalysisTable.vue b/src/components/cylc/analysis/AnalysisTable.vue
index d122f3ccd..d68d717e4 100644
--- a/src/components/cylc/analysis/AnalysisTable.vue
+++ b/src/components/cylc/analysis/AnalysisTable.vue
@@ -56,7 +56,11 @@ along with this program. If not, see .
diff --git a/tests/e2e/specs/analysis.cy.js b/tests/e2e/specs/analysis.cy.js
index fa880f492..e129bed7d 100644
--- a/tests/e2e/specs/analysis.cy.js
+++ b/tests/e2e/specs/analysis.cy.js
@@ -135,6 +135,20 @@ describe('Analysis view', () => {
cy
.get('.c-analysis table > tbody > tr')
.should('have.length', numTasks)
+ // Show Max RSS
+ cy
+ .get('#c-analysis-filter-task-timings')
+ .click({ force: true })
+ cy
+ .get('.v-list-item')
+ .contains('Max RSS')
+ .click({ force: true })
+ cy
+ .get('td')
+ .contains('MB')
+ cy
+ .get('.c-analysis table > tbody > tr')
+ .should('have.length', numTasks)
})
it('Should filter by task name, platform and timings', () => {
@@ -207,6 +221,43 @@ describe('Analysis view', () => {
.should('have.length', 1)
.should('be.visible')
})
+ it('Should show Max RSS', () => {
+ cy
+ .get('#c-analysis-filter-task-timings')
+ .click({ force: true })
+ cy
+ .get('.v-list-item')
+ .contains('Max RSS')
+ .click({ force: true })
+ cy
+ .get('td')
+ .contains('MB')
+ .should('be.visible')
+ cy
+ .get('.c-analysis table > tbody > tr')
+ .should('have.length', numTasks)
+ .should('be.visible')
+ cy
+ .get('.v-chip__content')
+ .should('not.exist')
+ })
+ it('Should show CPU Time', () => {
+ cy
+ .get('#c-analysis-filter-task-timings')
+ .click({ force: true })
+ cy
+ .get('.v-list-item')
+ .contains('CPU Time')
+ .click({ force: true })
+ cy
+ .get('td')
+ .contains('00:00:10')
+ .should('be.visible')
+ cy
+ .get('.v-chip__content')
+ .should('exist')
+ .contains('CPU Time')
+ })
})
})
@@ -232,6 +283,38 @@ describe('Analysis view', () => {
.get('.vue-apexcharts')
.should('not.exist')
})
+ it('Should show Max RSS', () => {
+ cy
+ .get('#c-analysis-filter-task-timings')
+ .click({ force: true })
+ cy
+ .get('.v-list-item')
+ .contains('Max RSS')
+ .click({ force: true })
+ cy
+ .get('.apexcharts-yaxis-label')
+ .should('have.length', numTasks)
+ cy
+ .get('.apexcharts-xaxis-label')
+ .contains('MB')
+ .should('be.visible')
+ })
+ it('Should show CPU Time', () => {
+ cy
+ .get('#c-analysis-filter-task-timings')
+ .click({ force: true })
+ cy
+ .get('.v-list-item')
+ .contains('CPU Time')
+ .click({ force: true })
+ cy
+ .get('.apexcharts-yaxis-label')
+ .should('have.length', numTasks)
+ cy
+ .get('.apexcharts-xaxis-label')
+ .contains('00:00:00')
+ .should('be.visible')
+ })
it('refreshes without getting bogus apexcharts error', () => {
// https://github.com/apexcharts/vue3-apexcharts/issues/79