@@ -58,7 +58,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
58
58
import { upperFirst } from ' lodash'
59
59
import {
60
60
formatDuration ,
61
- formatHeader
61
+ formatHeader ,
62
+ formatChartLabels ,
62
63
} from ' @/utils/tasks'
63
64
import {
64
65
initialOptions ,
@@ -131,61 +132,74 @@ export default {
131
132
computed: {
132
133
shownHeaders () {
133
134
const times = upperFirst (this .timingOption )
134
- const timingHeaders = [
135
- {
136
- title: ` Mean ${ times} ` ,
137
- key: ` ${ formatHeader (' mean' , times)} ` ,
138
- formatter: formatDuration,
139
- allowZeros: false ,
140
- timingOption: this .timingOption
141
- },
142
- {
143
- title: ` Min ${ times} ` ,
144
- key: ` ${ formatHeader (' min' , times)} ` ,
145
- formatter: formatDuration,
146
- allowZeros: false ,
147
- timingOption: this .timingOption
148
- },
149
- {
150
- title: ` Q1 ${ times} ` ,
151
- key: ` ${ formatHeader (' quartiles' , times)} Quartiles.0` ,
152
- formatter: formatDuration,
153
- allowZeros: false ,
154
- timingOption: this .timingOption
155
- },
156
- {
157
- title: ` Median ${ times} ` ,
158
- key: ` ${ formatHeader (' quartiles' , times)} Quartiles.1` ,
159
- formatter: formatDuration,
160
- allowZeros: false ,
161
- timingOption: this .timingOption
162
- },
163
- {
164
- title: ` Q3 ${ times} ` ,
165
- key: ` ${ formatHeader (' quartiles' , times)} Quartiles.2` ,
166
- formatter: formatDuration,
167
- allowZeros: false ,
168
- timingOption: this .timingOption
169
- },
170
- {
171
- title: ` Max ${ times} ` ,
172
- key: ` ${ formatHeader (' max' , times)} ` ,
173
- formatter: formatDuration,
174
- allowZeros: false ,
175
- timingOption: this .timingOption
135
+ const timingHeaders = []
136
+ // Check if there are any stats to show
137
+ let stats = false
138
+ for (let i = 0 ; i < this .tasks .length ; i++ ) {
139
+ if (this .tasks [i].count > 1 ) {
140
+ stats = true
141
+ break
176
142
}
177
- ]
178
- if (this .timingOption === ' cpuTime' ) {
179
- timingHeaders .push ({
180
- title: ' Total CPU Time' ,
181
- key: ' totalCpuTime' ,
182
- formatter: formatDuration,
183
- allowZeros: false ,
184
- timingOption: this .timingOption
185
- })
186
143
}
144
+ if (stats) {
145
+ timingHeaders .push (
146
+ {
147
+ title: ` Mean ${ formatChartLabels (times)} ` ,
148
+ key: ` ${ formatHeader (' mean' , times)} ` ,
149
+ formatter: formatDuration,
150
+ allowZeros: false ,
151
+ timingOption: this .timingOption
152
+ },
153
+ {
154
+ title: ` Min ${ formatChartLabels (times)} ` ,
155
+ key: ` ${ formatHeader (' min' , times)} ` ,
156
+ formatter: formatDuration,
157
+ allowZeros: false ,
158
+ timingOption: this .timingOption
159
+ },
160
+ {
161
+ title: ` Q1 ${ formatChartLabels (times)} ` ,
162
+ key: ` ${ formatHeader (' quartiles' , times)} Quartiles.0` ,
163
+ formatter: formatDuration,
164
+ allowZeros: false ,
165
+ timingOption: this .timingOption
166
+ },
167
+ {
168
+ title: ` Median ${ formatChartLabels (times)} ` ,
169
+ key: ` ${ formatHeader (' quartiles' , times)} Quartiles.1` ,
170
+ formatter: formatDuration,
171
+ allowZeros: false ,
172
+ timingOption: this .timingOption
173
+ },
174
+ {
175
+ title: ` Q3 ${ formatChartLabels (times)} ` ,
176
+ key: ` ${ formatHeader (' quartiles' , times)} Quartiles.2` ,
177
+ formatter: formatDuration,
178
+ allowZeros: false ,
179
+ timingOption: this .timingOption
180
+ },
181
+ {
182
+ title: ` Max ${ formatChartLabels (times)} ` ,
183
+ key: ` ${ formatHeader (' max' , times)} ` ,
184
+ formatter: formatDuration,
185
+ allowZeros: false ,
186
+ timingOption: this .timingOption
187
+ }
188
+ )
189
+ } else {
190
+ timingHeaders .push (
191
+ {
192
+ title: ` ${ formatChartLabels (times)} ` ,
193
+ key: ` ${ formatHeader (' mean' , times)} ` ,
194
+ formatter: formatDuration,
195
+ allowZeros: false ,
196
+ timingOption: this .timingOption
197
+ }
198
+ )
199
+ }
200
+
187
201
// Don't show std dev for cpuTime or maxRss
188
- if (this .timingOption !== ' cpuTime' && this .timingOption !== ' maxRss' ) {
202
+ if (this .timingOption !== ' cpuTime' && this .timingOption !== ' maxRss' && stats ) {
189
203
timingHeaders .push ({
190
204
title: ` Std Dev ${ times} ` ,
191
205
key: ` ${ formatHeader (' stdDev' , times)} ` ,
0 commit comments