adding timestamps for measuring time spent in recalculating the classmember panel
1.1 --- a/java.navigation/src/org/netbeans/modules/java/navigation/ClassMemberPanelUI.java
1.2 +++ b/java.navigation/src/org/netbeans/modules/java/navigation/ClassMemberPanelUI.java
1.3 @@ -19,6 +19,8 @@
1.4 import java.beans.PropertyChangeListener;
1.5 import java.beans.PropertyVetoException;
1.6 import java.io.IOException;
1.7 +import java.util.logging.Level;
1.8 +import java.util.logging.Logger;
1.9 import javax.lang.model.element.Element;
1.10 import javax.swing.BorderFactory;
1.11 import javax.swing.SwingUtilities;
1.12 @@ -32,8 +34,6 @@
1.13 import org.netbeans.api.java.source.ElementHandle;
1.14 import org.netbeans.api.java.source.JavaSource;
1.15 import org.netbeans.api.java.source.ui.ElementJavadoc;
1.16 -import org.netbeans.modules.java.navigation.ClassMemberFilters;
1.17 -import org.netbeans.modules.java.navigation.ElementNode;
1.18 import org.netbeans.modules.java.navigation.ElementNode.Description;
1.19 import org.netbeans.modules.java.navigation.actions.FilterSubmenuAction;
1.20 import org.netbeans.modules.java.navigation.actions.SortActionSupport.SortByNameAction;
1.21 @@ -70,6 +70,8 @@
1.22
1.23 private static final Rectangle ZERO = new Rectangle(0,0,1,1);
1.24
1.25 + private long lastShowWaitNodeTime = -1;
1.26 + private static final Logger PERF_LOG = Logger.getLogger(ClassMemberPanelUI.class.getName() + ".perf"); //NOI18N
1.27
1.28 /** Creates new form ClassMemberPanelUi */
1.29 public ClassMemberPanelUI() {
1.30 @@ -135,6 +137,7 @@
1.31 public void run() {
1.32 elementView.setRootVisible(true);
1.33 manager.setRootContext(ElementNode.getWaitNode());
1.34 + lastShowWaitNodeTime = System.currentTimeMillis();
1.35 }
1.36 });
1.37 }
1.38 @@ -177,6 +180,15 @@
1.39 setScrollOnExpand( false );
1.40 elementView.expandAll();
1.41 setScrollOnExpand( scrollOnExpand );
1.42 +
1.43 + if (PERF_LOG.isLoggable(Level.FINE)) {
1.44 + final long tm2 = System.currentTimeMillis();
1.45 + final long tm1 = lastShowWaitNodeTime;
1.46 + if (tm1 != -1) {
1.47 + lastShowWaitNodeTime = -1;
1.48 + PERF_LOG.fine(String.format("ClassMemberPanelUI refresh took: %d ms", (tm2 - tm1))); //NOI18N
1.49 + }
1.50 + }
1.51 }
1.52 } );
1.53