aboutsummaryrefslogtreecommitdiff
path: root/ui/src/frontend/aggregation_panel.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/frontend/aggregation_panel.ts')
-rw-r--r--ui/src/frontend/aggregation_panel.ts63
1 files changed, 7 insertions, 56 deletions
diff --git a/ui/src/frontend/aggregation_panel.ts b/ui/src/frontend/aggregation_panel.ts
index 409fda28e..fdcea9409 100644
--- a/ui/src/frontend/aggregation_panel.ts
+++ b/ui/src/frontend/aggregation_panel.ts
@@ -15,12 +15,7 @@
import * as m from 'mithril';
import {Actions} from '../common/actions';
-import {
- AggregateData,
- Column,
- ThreadStateExtra
-} from '../common/aggregation_data';
-import {colorForState, textColorForState} from '../common/colorizer';
+import {AggregateData, Column} from '../common/aggregation_data';
import {translateState} from '../common/thread_state';
import {globals} from './globals';
@@ -36,19 +31,10 @@ export class AggregationPanel extends Panel<AggregationPanelAttrs> {
return m(
'.details-panel',
m('.details-panel-heading.aggregation',
- attrs.data.extra !== undefined &&
- attrs.data.extra.kind === 'THREAD_STATE' ?
- this.showStateSummary(attrs.data.extra) :
- null,
- this.showTimeRange(),
m('table',
m('tr',
attrs.data.columns.map(
- col => this.formatColumnHeading(col, attrs.kind))),
- m('tr.sum', attrs.data.columnSums.map(sum => {
- const sumClass = sum === '' ? 'td' : 'td.sum-data';
- return m(sumClass, sum);
- })))),
+ col => this.formatColumnHeading(col, attrs.kind))))),
m(
'.details-table.aggregation',
m('table', this.getRows(attrs.data)),
@@ -90,51 +76,16 @@ export class AggregationPanel extends Panel<AggregationPanelAttrs> {
getFormattedData(data: AggregateData, rowIndex: number, columnIndex: number) {
switch (data.columns[columnIndex].kind) {
case 'STRING':
- return data.strings[data.columns[columnIndex].data[rowIndex]];
+ return `${data.strings[data.columns[columnIndex].data[rowIndex]]}`;
case 'TIMESTAMP_NS':
return `${data.columns[columnIndex].data[rowIndex] / 1000000}`;
- case 'STATE': {
- const concatState =
- data.strings[data.columns[columnIndex].data[rowIndex]];
- const split = concatState.split(',');
- const ioWait =
- split[1] === 'NULL' ? undefined : !!Number.parseInt(split[1], 10);
- return translateState(split[0], ioWait);
- }
+ case 'STATE':
+ return translateState(
+ `${data.strings[data.columns[columnIndex].data[rowIndex]]}`);
case 'NUMBER':
default:
- return data.columns[columnIndex].data[rowIndex];
- }
- }
-
- showTimeRange() {
- const selection = globals.state.currentSelection;
- if (selection === null || selection.kind !== 'AREA') return undefined;
- const selectedArea = globals.state.areas[selection.areaId];
- const rangeDurationMs = (selectedArea.endSec - selectedArea.startSec) * 1e3;
- return m('.time-range', `Selected range: ${rangeDurationMs.toFixed(6)} ms`);
- }
-
- // Thread state aggregation panel only
- showStateSummary(data: ThreadStateExtra) {
- if (data === undefined) return undefined;
- const states = [];
- for (let i = 0; i < data.states.length; i++) {
- const color = colorForState(data.states[i]);
- const textColor = textColorForState(data.states[i]);
- const width = data.values[i] / data.totalMs * 100;
- states.push(
- m('.state',
- {
- style: {
- background: `hsl(${color.h},${color.s}%,${color.l}%)`,
- color: `${textColor}`,
- width: `${width}%`
- }
- },
- `${data.states[i]}: ${data.values[i]} ms`));
+ return `${data.columns[columnIndex].data[rowIndex]}`;
}
- return m('.states', states);
}
renderCanvas() {}