Просмотр исходного кода

Java/armeria: /fortunes exposed to test (#9179)

Scala/vertx-web-scala-postgres: /json endpoint exposed to test
 (makes them appear in composite scoring also)
Gyula Bibernáth 1 год назад
Родитель
Сommit
f496311ba1

+ 1 - 0
frameworks/Java/armeria/benchmark_config.json

@@ -7,6 +7,7 @@
       "db_url": "/db",
       "query_url": "/queries/",
       "update_url": "/updates/",
+      "fortune_url": "/fortunes",
       "port": 8080,
       "approach": "Realistic",
       "classification": "Micro",

+ 1 - 0
frameworks/Scala/vertx-web-scala/benchmark_config.json

@@ -8,6 +8,7 @@
         "fortune_url": "/fortunes",
         "update_url": "/updates?queries=",
         "plaintext_url": "/plaintext",
+        "json_url": "/json",
         "port": 8080,
         "approach": "Realistic",
         "classification": "Micro",

+ 13 - 17
frameworks/Scala/vertx-web-scala/src/main/scala/vertx/App.scala

@@ -26,7 +26,7 @@ import scala.util.{Failure, Sorting, Success, Try}
 case class Header(name: CharSequence, value: String)
 
 class App extends ScalaVerticle {
-
+  import App._
   private val HELLO_WORLD = "Hello, world!"
   private val HELLO_WORLD_BUFFER = Buffer.buffer(HELLO_WORLD, "UTF-8")
   private val SERVER = "vert.x"
@@ -116,8 +116,7 @@ class App extends ScalaVerticle {
                 .end(World(row.getInteger(0), row.getInteger(1)).encode())
             }
           } else {
-            App.logger.error("Failed to handle request", ar.cause())
-            request.response.setStatusCode(500).end(ar.cause.getMessage)
+            sendError(request, ar.cause, "Failed to handle Db request")
           }
         }
       )
@@ -136,7 +135,7 @@ class App extends ScalaVerticle {
             if (!failed) {
               if (ar.failed) {
                 failed = true
-                request.response.setStatusCode(500).end(ar.cause.getMessage)
+                sendError(request, ar.cause, "Failed to handle Queries request")
                 return
               }
               // we need a final reference
@@ -155,11 +154,6 @@ class App extends ScalaVerticle {
   }
 
   private def handleUpdates(request: HttpServerRequest): Unit = {
-    def sendError(err: Throwable): Unit = {
-      App.logger.error("", err)
-      request.response.setStatusCode(500).end(err.getMessage)
-    }
-
     def handleUpdates(conn: SqlConnection, worlds: Array[World]): Unit = {
       Sorting.quickSort(worlds)
 
@@ -170,7 +164,7 @@ class App extends ScalaVerticle {
           batch,
           (ar: AsyncResult[RowSet[Row]]) => {
             if (ar.failed) {
-              sendError(ar.cause)
+              sendError(request, ar.cause, "handleUpdates: failed to update DB")
               return
             }
 
@@ -197,7 +191,7 @@ class App extends ScalaVerticle {
             if (!failed) {
               if (ar2.failed) {
                 failed = true
-                sendError(ar2.cause)
+                sendError(request, ar2.cause, "handleUpdates: failed to read DB")
                 return
               }
               worlds(index) = World(ar2.result.iterator.next.getInteger(0), App.randomWorld())
@@ -206,7 +200,6 @@ class App extends ScalaVerticle {
             }
           }
         )
-
       i += 1
     }
   }
@@ -230,9 +223,7 @@ class App extends ScalaVerticle {
             responseWithHeaders(request.response, contentTypeHtml)
               .end(html.fortune(fortunes).body)
           } else {
-            val err = ar.cause
-            App.logger.error("", err)
-            response.setStatusCode(500).end(err.getMessage)
+            sendError(request, ar.cause, "handleFortunes failed to update DB")
           }
         }
       )
@@ -241,9 +232,9 @@ class App extends ScalaVerticle {
 
 object App {
   val logger: Logger = Logger[App]
-
+  val defaultConfigPath = "src/main/conf/config.json"
   def main(args: Array[String]): Unit = {
-    val config = new JsonObject(Files.readString(new File(args(0)).toPath))
+    val config = new JsonObject(Files.readString(new File(if(args.length < 1) defaultConfigPath else args(0)).toPath))
     val vertx = Vertx.vertx(VertxOptions().setPreferNativeTransport(true))
 
     printConfig(vertx)
@@ -299,4 +290,9 @@ object App {
     logger.info("Event Loop Size: {}", JVertxOptions.DEFAULT_EVENT_LOOP_POOL_SIZE)
     logger.info("Native transport: {}", vertx.isNativeTransportEnabled)
   }
+
+  def sendError(request: HttpServerRequest, err: Throwable, msg: String = ""): Unit = {
+    App.logger.error(msg, err)
+    request.response.setStatusCode(500).end(err.getMessage)
+  }
 }