From 25432945daf5cc2ccc28493f691e153c1674a80b Mon Sep 17 00:00:00 2001
From: Daniel <daniel@harvey>
Date: Thu, 24 Oct 2019 17:30:49 +0200
Subject: [PATCH] DEBUG: Added more benchmarking.

---
 src/main/java/caosdb/server/query/Query.java         |  3 +++
 .../caosdb/server/resource/ScriptingResource.java    |  6 +++---
 .../server/resource/transaction/EntityResource.java  |  5 +++++
 .../scripting/TestServerSideScriptingCaller.java     | 12 +++---------
 4 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/main/java/caosdb/server/query/Query.java b/src/main/java/caosdb/server/query/Query.java
index c9bff5a5..d3e0e927 100644
--- a/src/main/java/caosdb/server/query/Query.java
+++ b/src/main/java/caosdb/server/query/Query.java
@@ -415,6 +415,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac
   }
 
   public void parse() throws ParsingException {
+    final long t1 = System.currentTimeMillis();
     CQLLexer lexer;
     lexer = new CQLLexer(CharStreams.fromString(this.query));
     final CommonTokenStream tokens = new CommonTokenStream(lexer);
@@ -434,6 +435,8 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac
     this.type = cq.t;
     this.filter = cq.filter;
     this.selections = cq.s;
+    final long t2 = System.currentTimeMillis();
+    addBenchmark("parse (" + this.query + ")", t2 - t1);
   }
 
   private String executeStrategy() throws QueryException {
diff --git a/src/main/java/caosdb/server/resource/ScriptingResource.java b/src/main/java/caosdb/server/resource/ScriptingResource.java
index 43e11cf6..d82df5c7 100644
--- a/src/main/java/caosdb/server/resource/ScriptingResource.java
+++ b/src/main/java/caosdb/server/resource/ScriptingResource.java
@@ -83,7 +83,7 @@ public class ScriptingResource extends AbstractCaosDBServerResource {
   @Override
   protected Representation httpPostInChildClass(Representation entity) throws Exception {
 
-    if(isAnonymous()) {
+    if (isAnonymous()) {
       throw ServerMessages.AUTHORIZATION_ERROR;
     }
     MediaType mediaType = entity.getMediaType();
@@ -205,12 +205,12 @@ public class ScriptingResource extends AbstractCaosDBServerResource {
   public Object generateAuthToken() {
     return SessionToken.generate((Principal) getUser().getPrincipal(), null);
   }
-  
+
   boolean isAnonymous() {
     boolean ret = getUser().hasRole(UserSources.ANONYMOUS_ROLE);
     return ret;
   }
-  
+
   public int callScript(
       List<String> commandLine, Integer timeoutMs, List<FileProperties> files, Object authToken)
       throws Message {
diff --git a/src/main/java/caosdb/server/resource/transaction/EntityResource.java b/src/main/java/caosdb/server/resource/transaction/EntityResource.java
index 0e78c46a..f55c2b7a 100644
--- a/src/main/java/caosdb/server/resource/transaction/EntityResource.java
+++ b/src/main/java/caosdb/server/resource/transaction/EntityResource.java
@@ -99,6 +99,7 @@ public class EntityResource extends AbstractCaosDBServerResource {
       throws ConnectionException, IOException, SQLException, CaosDBException,
           NoSuchAlgorithmException, Exception {
 
+    final long t1 = System.currentTimeMillis();
     if (!this.get) {
       getResponse().setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED);
       return null;
@@ -112,6 +113,10 @@ public class EntityResource extends AbstractCaosDBServerResource {
     final Retrieve retrieve = new Retrieve(entityContainer);
     retrieve.execute();
 
+    final long t2 = System.currentTimeMillis();
+    entityContainer
+        .getTransactionBenchmark()
+        .addBenchmark(getClass().getSimpleName() + ".httpGetInChildClass", t2 - t1);
     final Element rootElem = generateRootElement();
     entityContainer.addToElement(rootElem);
     doc.setRootElement(rootElem);
diff --git a/src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java b/src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java
index e66c646a..f752c29c 100644
--- a/src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java
+++ b/src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java
@@ -613,9 +613,7 @@ public class TestServerSideScriptingCaller extends CaosDBTestClass {
     caller.cleanup();
   }
 
-/**
- * Does the order of directory creation matter?
- */
+  /** Does the order of directory creation matter? */
   @Test
   public void testDirectoriesInWrongOrder() throws Message {
     final String[] cmd = {testExecutable.getAbsolutePath()};
@@ -645,9 +643,7 @@ public class TestServerSideScriptingCaller extends CaosDBTestClass {
     caller.cleanup();
   }
 
-  /**
-   * Is the new home directory created correctly?
-   */
+  /** Is the new home directory created correctly? */
   @Test
   public void testWorkingDirCreation() throws Exception {
     final String[] cmd = {testExecutable.getAbsolutePath()};
@@ -660,9 +656,7 @@ public class TestServerSideScriptingCaller extends CaosDBTestClass {
     caller.cleanup();
   }
 
-  /**
-   * Does copying files over to the new home directory work?
-   */
+  /** Does copying files over to the new home directory work? */
   @Test
   public void testWorkingDirCopying() throws Exception {
     final String[] cmd = {testExecutable.getAbsolutePath()};
-- 
GitLab