< prev index next >

application/org.openjdk.jmc.flightrecorder.ext.jfx/src/main/java/org/openjdk/jmc/flightrecorder/ext/jfx/JfxPage.java

Print this page

        

*** 54,63 **** --- 54,64 ---- import org.openjdk.jmc.common.item.IItemCollection; import org.openjdk.jmc.common.item.IItemFilter; import org.openjdk.jmc.common.unit.IQuantity; import org.openjdk.jmc.common.unit.IRange; import org.openjdk.jmc.flightrecorder.JfrAttributes; + import org.openjdk.jmc.flightrecorder.ext.jfx.JfxVersionUtil.JavaFxEventAvailability; import org.openjdk.jmc.flightrecorder.ui.IDataPageFactory; import org.openjdk.jmc.flightrecorder.ui.IDisplayablePage; import org.openjdk.jmc.flightrecorder.ui.IPageContainer; import org.openjdk.jmc.flightrecorder.ui.IPageDefinition; import org.openjdk.jmc.flightrecorder.ui.IPageUI;
*** 113,138 **** } } private static final ItemHistogramBuilder BY_PULSE_HISTOGRAM = new ItemHistogramBuilder(); private static final ItemHistogramBuilder INPUT_HISTOGRAM = new ItemHistogramBuilder(); ! private static final ItemListBuilder PHASE_LIST = new ItemListBuilder(); private static final String TOTAL_DURATION = "totalDuration"; //$NON-NLS-1$ private static final String PULSE_START = "pulseStart"; //$NON-NLS-1$ static { BY_PULSE_HISTOGRAM.addCountColumn(); BY_PULSE_HISTOGRAM.addColumn(TOTAL_DURATION, Aggregators.sum(JfrAttributes.DURATION)); BY_PULSE_HISTOGRAM.addColumn(PULSE_START, JfxConstants.PULSE_START); - PHASE_LIST.addColumn(JfrAttributes.DURATION); - PHASE_LIST.addColumn(JfrAttributes.START_TIME); - PHASE_LIST.addColumn(JfxConstants.PHASE_NAME); - PHASE_LIST.addColumn(JfrAttributes.EVENT_THREAD); - PHASE_LIST.addColumn(JfxConstants.PULSE_ID); - INPUT_HISTOGRAM.addCountColumn(); INPUT_HISTOGRAM.addColumn(TOTAL_DURATION, Aggregators.sum(JfrAttributes.DURATION)); } private class JfxUI implements IPageUI { --- 114,133 ---- } } private static final ItemHistogramBuilder BY_PULSE_HISTOGRAM = new ItemHistogramBuilder(); private static final ItemHistogramBuilder INPUT_HISTOGRAM = new ItemHistogramBuilder(); ! private final ItemListBuilder phaseList = new ItemListBuilder(); private static final String TOTAL_DURATION = "totalDuration"; //$NON-NLS-1$ private static final String PULSE_START = "pulseStart"; //$NON-NLS-1$ static { BY_PULSE_HISTOGRAM.addCountColumn(); BY_PULSE_HISTOGRAM.addColumn(TOTAL_DURATION, Aggregators.sum(JfrAttributes.DURATION)); BY_PULSE_HISTOGRAM.addColumn(PULSE_START, JfxConstants.PULSE_START); INPUT_HISTOGRAM.addCountColumn(); INPUT_HISTOGRAM.addColumn(TOTAL_DURATION, Aggregators.sum(JfrAttributes.DURATION)); } private class JfxUI implements IPageUI {
*** 169,197 **** String name, Image icon) { this.pageContainer = editor; this.items = items; Form form = DataPageToolkit.createForm(parent, toolkit, name, icon); mainSash = new SashForm(form.getBody(), SWT.VERTICAL | SWT.SMOOTH); toolkit.adapt(mainSash); tableSash = new SashForm(mainSash, SWT.HORIZONTAL | SWT.SMOOTH); toolkit.adapt(tableSash); Section phases = CompositeToolkit.createSection(tableSash, toolkit, Messages.JfxPage_PHASES); phasesSash = new SashForm(phases, SWT.HORIZONTAL | SWT.SMOOTH); phases.setClient(phasesSash); ! pulsesTable = BY_PULSE_HISTOGRAM.buildWithoutBorder(phasesSash, JfxConstants.PULSE_ID, getPulseTableSettings(state.getChild(PULSES_TABLE))); pulsesFilter = FilterComponent.createFilterComponent(pulsesTable, pulsesTableFilter, getItems().apply(JfxConstants.JFX_PULSE_FILTER), pageContainer.getSelectionStore()::getSelections, this::onPulsesFilterChange); pulsesTable.getManager().getViewer().addSelectionChangedListener(e -> onPulsesSelected()); DataPageToolkit.addContextMenus(pageContainer, pulsesTable, Messages.JfxPage_PULSE_HISTOGRAM_SELECTION, pulsesFilter.getShowSearchAction(), pulsesFilter.getShowFilterAction()); pulsesFilter.loadState(state.getChild(PULSES_FILTER)); ! phasesTable = PHASE_LIST.buildWithoutBorder(phasesSash, getPhaseListSettings(state.getChild(PHASES_TABLE))); phasesFilter = FilterComponent.createFilterComponent(phasesTable, phasesTableFilter, getItems().apply(JfxConstants.JFX_PULSE_FILTER), pageContainer.getSelectionStore()::getSelections, this::onPhasesFilterChange); phasesTable.getManager().getViewer() .addSelectionChangedListener(e -> onPhasesSelected(!e.getSelection().isEmpty())); --- 164,200 ---- String name, Image icon) { this.pageContainer = editor; this.items = items; Form form = DataPageToolkit.createForm(parent, toolkit, name, icon); + JavaFxEventAvailability availability = JfxVersionUtil.getAvailability(getItems()); + mainSash = new SashForm(form.getBody(), SWT.VERTICAL | SWT.SMOOTH); toolkit.adapt(mainSash); tableSash = new SashForm(mainSash, SWT.HORIZONTAL | SWT.SMOOTH); toolkit.adapt(tableSash); Section phases = CompositeToolkit.createSection(tableSash, toolkit, Messages.JfxPage_PHASES); phasesSash = new SashForm(phases, SWT.HORIZONTAL | SWT.SMOOTH); phases.setClient(phasesSash); ! pulsesTable = BY_PULSE_HISTOGRAM.buildWithoutBorder(phasesSash, JfxVersionUtil.getPulseIdAttribute(availability), getPulseTableSettings(state.getChild(PULSES_TABLE))); pulsesFilter = FilterComponent.createFilterComponent(pulsesTable, pulsesTableFilter, getItems().apply(JfxConstants.JFX_PULSE_FILTER), pageContainer.getSelectionStore()::getSelections, this::onPulsesFilterChange); pulsesTable.getManager().getViewer().addSelectionChangedListener(e -> onPulsesSelected()); DataPageToolkit.addContextMenus(pageContainer, pulsesTable, Messages.JfxPage_PULSE_HISTOGRAM_SELECTION, pulsesFilter.getShowSearchAction(), pulsesFilter.getShowFilterAction()); pulsesFilter.loadState(state.getChild(PULSES_FILTER)); ! phaseList.addColumn(JfrAttributes.DURATION); ! phaseList.addColumn(JfrAttributes.START_TIME); ! phaseList.addColumn(JfxVersionUtil.getPhaseNameAttribute(availability)); ! phaseList.addColumn(JfrAttributes.EVENT_THREAD); ! phaseList.addColumn(JfxVersionUtil.getPulseIdAttribute(availability)); ! ! phasesTable = phaseList.buildWithoutBorder(phasesSash, getPhaseListSettings(state.getChild(PHASES_TABLE))); phasesFilter = FilterComponent.createFilterComponent(phasesTable, phasesTableFilter, getItems().apply(JfxConstants.JFX_PULSE_FILTER), pageContainer.getSelectionStore()::getSelections, this::onPhasesFilterChange); phasesTable.getManager().getViewer() .addSelectionChangedListener(e -> onPhasesSelected(!e.getSelection().isEmpty()));
*** 368,380 **** public IItemFilter getDefaultSelectionFilter() { return JfxConstants.JFX_FILTER; } private static IXDataRenderer buildThreadRenderer(Object threadName, IItemCollection items) { IXDataRenderer phaseRenderer = DataPageToolkit.buildSpanRenderer(items, ! DataPageToolkit.getAttributeValueColor(JfxConstants.PHASE_NAME)); ! return new ItemRow(String.valueOf(threadName), JfxConstants.PHASE_NAME.getDescription(), phaseRenderer, items); } private static TableSettings getPulseTableSettings(IState state) { if (state == null) { return new TableSettings(TOTAL_DURATION, --- 371,384 ---- public IItemFilter getDefaultSelectionFilter() { return JfxConstants.JFX_FILTER; } private static IXDataRenderer buildThreadRenderer(Object threadName, IItemCollection items) { + // Attribute only used for looking up color and name information here IXDataRenderer phaseRenderer = DataPageToolkit.buildSpanRenderer(items, ! DataPageToolkit.getAttributeValueColor(JfxConstants.ATTRIBUTE_PHASE_NAME_12)); ! return new ItemRow(String.valueOf(threadName), JfxConstants.ATTRIBUTE_PHASE_NAME_12.getDescription(), phaseRenderer, items); } private static TableSettings getPulseTableSettings(IState state) { if (state == null) { return new TableSettings(TOTAL_DURATION,
*** 388,399 **** private static TableSettings getPhaseListSettings(IState state) { if (state == null) { return new TableSettings(JfrAttributes.DURATION.getIdentifier(), Arrays.asList(new ColumnSettings(JfrAttributes.DURATION.getIdentifier(), false, 100, false), new ColumnSettings(JfrAttributes.DURATION.getIdentifier(), false, 200, false), ! new ColumnSettings(JfxConstants.PHASE_NAME.getIdentifier(), false, 100, false), ! new ColumnSettings(JfxConstants.PULSE_ID.getIdentifier(), false, 100, false), new ColumnSettings(JfrAttributes.EVENT_THREAD.getIdentifier(), false, 200, false))); } else { return new TableSettings(state); } } --- 392,403 ---- private static TableSettings getPhaseListSettings(IState state) { if (state == null) { return new TableSettings(JfrAttributes.DURATION.getIdentifier(), Arrays.asList(new ColumnSettings(JfrAttributes.DURATION.getIdentifier(), false, 100, false), new ColumnSettings(JfrAttributes.DURATION.getIdentifier(), false, 200, false), ! new ColumnSettings(JfxConstants.ATTRIBUTE_PHASE_NAME_12.getIdentifier(), false, 100, false), ! new ColumnSettings(JfxConstants.ATTRIBUTE_PULSE_ID_12.getIdentifier(), false, 100, false), new ColumnSettings(JfrAttributes.EVENT_THREAD.getIdentifier(), false, 200, false))); } else { return new TableSettings(state); } }
< prev index next >