5252import org .eclipse .swt .widgets .Display ;
5353import org .eclipse .swt .widgets .Label ;
5454import org .eclipse .tracecompass .common .core .log .TraceCompassLog ;
55- import org .eclipse .tracecompass .common .core .log .TraceCompassLogUtils ;
56- import org .eclipse .tracecompass .common .core .log .TraceCompassLogUtils .ScopeLog ;
5755import org .eclipse .tracecompass .internal .tmf .ui .views .histogram .HistogramTimeAdapter ;
5856import org .eclipse .tracecompass .tmf .core .signal .TmfSignalHandler ;
5957import org .eclipse .tracecompass .tmf .core .signal .TmfSignalManager ;
7371import org .eclipse .tracecompass .tmf .ui .widgets .timegraph .widgets .ITimeDataProvider ;
7472import org .eclipse .tracecompass .tmf .ui .widgets .timegraph .widgets .TimeGraphColorScheme ;
7573import org .eclipse .tracecompass .tmf .ui .widgets .timegraph .widgets .TimeGraphScale ;
74+ import org .eclipse .tracecompass .traceeventlogger .LogUtils ;
75+ import org .eclipse .tracecompass .traceeventlogger .LogUtils .ScopeLog ;
76+
77+ import com .google .common .base .Objects ;
7678
7779/**
7880 * Re-usable histogram widget.
@@ -661,12 +663,12 @@ protected void moveCursor(final int keyCode) {
661663 */
662664 @ Override
663665 public void modelUpdated () {
664- try (TraceCompassLogUtils .FlowScopeLog fs = new TraceCompassLogUtils .FlowScopeLogBuilder (LOGGER , Level .FINER , "Histogram:ModelUpdated" ).setCategory ("Histogram" ).build ()) { //$NON-NLS-1$ //$NON-NLS-2$
666+ try (LogUtils .FlowScopeLog fs = new LogUtils .FlowScopeLogBuilder (LOGGER , Level .FINER , "Histogram:ModelUpdated" ).setCategory ("Histogram" ).build ()) { //$NON-NLS-1$ //$NON-NLS-2$
665667 if (!fCanvas .isDisposed () && fCanvas .getDisplay () != null ) {
666668 fCanvas .getDisplay ().asyncExec (() -> {
667669 int canvasWidth = -1 ;
668670 int canvasHeight = -1 ;
669- try (TraceCompassLogUtils .FlowScopeLog fs1 = new TraceCompassLogUtils .FlowScopeLogBuilder (LOGGER , Level .FINER , "Histogram:getbounds " ).setParentScope (fs ).build ()) { //$NON-NLS-1$
671+ try (LogUtils .FlowScopeLog fs1 = new LogUtils .FlowScopeLogBuilder (LOGGER , Level .FINER , "Histogram:getBounds " ).setParentScope (fs ).build ()) { //$NON-NLS-1$
670672 if (!fCanvas .isDisposed ()) {
671673 // Retrieve and normalize the data
672674 canvasWidth = fCanvas .getBounds ().width ;
@@ -678,8 +680,14 @@ public void modelUpdated() {
678680 return ;
679681 }
680682 fDataModel .setSelection (fSelectionBegin , fSelectionEnd );
681- fScaledData = fDataModel .scaleTo (canvasWidth , canvasHeight , 1 );
682- try (TraceCompassLogUtils .FlowScopeLog fs1 = new TraceCompassLogUtils .FlowScopeLogBuilder (LOGGER , Level .FINER , "Histogram:ui" ).setParentScope (fs ).build ()) { //$NON-NLS-1$
683+ try (LogUtils .FlowScopeLog fs1 = new LogUtils .FlowScopeLogBuilder (LOGGER , Level .FINER , "Histogram:scaleData" ).setParentScope (fs ).build ()) { //$NON-NLS-1$
684+ HistogramScaledData scaledData = fDataModel .scaleTo (canvasWidth , canvasHeight , 1 );
685+ if (Objects .equal (scaledData , fScaledData )) {
686+ return ;
687+ }
688+ fScaledData = scaledData ;
689+ }
690+ try (LogUtils .FlowScopeLog fs1 = new LogUtils .FlowScopeLogBuilder (LOGGER , Level .FINER , "Histogram:redraw" ).setParentScope (fs ).build ()) { //$NON-NLS-1$
683691 synchronized (fDataModel ) {
684692 if (fScaledData != null ) {
685693 fCanvas .redraw ();
0 commit comments