aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
diff options
context:
space:
mode:
authorJonatan Kronqvist <jonatan.kronqvist@itmill.com>2012-04-19 06:33:34 +0000
committerJonatan Kronqvist <jonatan.kronqvist@itmill.com>2012-04-19 06:33:34 +0000
commitc558076a1981adabbe99c1ec3dbf869ecb27cace (patch)
tree2859bbc2f3bb030eb08d20a19e9ebd31943551b3 /src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
parent5b9baad920779278f9e24f22e45499604ef6f7bf (diff)
downloadvaadin-framework-c558076a1981adabbe99c1ec3dbf869ecb27cace.tar.gz
vaadin-framework-c558076a1981adabbe99c1ec3dbf869ecb27cace.zip
Implemented #8694 - API providing profiling info for TestBench 3.x
svn changeset:23582/svn branch:6.8
Diffstat (limited to 'src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java')
-rw-r--r--src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
index c0654359a1..9a6bccebb8 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
@@ -912,7 +912,7 @@ public abstract class AbstractCommunicationManager implements
repaintAll = true;
}
- writeUidlResponce(callback, repaintAll, outWriter, window,
+ writeUidlResponse(request, callback, repaintAll, outWriter, window,
analyzeLayouts);
}
@@ -922,9 +922,9 @@ public abstract class AbstractCommunicationManager implements
}
- public void writeUidlResponce(Callback callback, boolean repaintAll,
- final PrintWriter outWriter, Window window, boolean analyzeLayouts)
- throws PaintException {
+ public void writeUidlResponse(Request request, Callback callback,
+ boolean repaintAll, final PrintWriter outWriter, Window window,
+ boolean analyzeLayouts) throws PaintException {
outWriter.print("\"changes\":[");
ArrayList<Paintable> paintables = null;
@@ -1205,6 +1205,20 @@ public abstract class AbstractCommunicationManager implements
if (dragAndDropService != null) {
dragAndDropService.printJSONResponse(outWriter);
}
+
+ writePerformanceDataForTestBench(request, outWriter);
+ }
+
+ /**
+ * Adds the performance timing data used by TestBench 3 to the UIDL
+ * response.
+ */
+ private void writePerformanceDataForTestBench(final Request request,
+ final PrintWriter outWriter) {
+ Long totalTime = (Long) request.getAttribute("TOTAL");
+ Long lastRequestTime = (Long) request.getAttribute("LASTREQUEST");
+ outWriter.write(String.format(", \"tbss\":[%d, %d]", totalTime,
+ lastRequestTime));
}
private int getTimeoutInterval() {