You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/05/21 17:32:33 UTC

svn commit: r1484836 - in /jena/trunk/jena-fuseki: src-dev/dev/ src/main/java/org/apache/jena/fuseki/mgt/ src/main/java/org/apache/jena/fuseki/server/ src/main/java/org/apache/jena/fuseki/servlets/

Author: andy
Date: Tue May 21 15:32:33 2013
New Revision: 1484836

URL: http://svn.apache.org/r1484836
Log:
Add a placeholder stats page under the management functions.

Added:
    jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/StatsServlet.java
Modified:
    jena/trunk/jena-fuseki/src-dev/dev/RunFuseki.java
    jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java
    jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
    jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java

Modified: jena/trunk/jena-fuseki/src-dev/dev/RunFuseki.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src-dev/dev/RunFuseki.java?rev=1484836&r1=1484835&r2=1484836&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src-dev/dev/RunFuseki.java (original)
+++ jena/trunk/jena-fuseki/src-dev/dev/RunFuseki.java Tue May 21 15:32:33 2013
@@ -52,7 +52,7 @@ public class RunFuseki
     private static void main1()
     {
         FusekiCmd.main(
-                     "--update", "--mem", "/ds"
+                     "--update", "--mem", "--mgtPort=3131", "/ds"
                      
                      //"--update", "--mem", "/ds"
                      

Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java?rev=1484836&r1=1484835&r2=1484836&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java Tue May 21 15:32:33 2013
@@ -26,6 +26,8 @@ import javax.servlet.http.HttpServlet ;
 
 import org.apache.jena.fuseki.Fuseki ;
 import org.apache.jena.fuseki.server.FusekiErrorHandler ;
+import org.apache.jena.fuseki.servlets.DumpServlet ;
+import org.apache.jena.fuseki.servlets.StatsServlet ;
 import org.eclipse.jetty.server.Connector ;
 import org.eclipse.jetty.server.Server ;
 import org.eclipse.jetty.server.nio.BlockingChannelConnector ;
@@ -56,7 +58,9 @@ public class ManagementServer
         server.setHandler(context);
         
         // Add the server control servlet
-        addServlet(context, new MgtCmdServlet(), "/mgt") ;
+        addServlet(context, new MgtCmdServlet(),    "/mgt") ;
+        addServlet(context, new DumpServlet(),      "/dump") ;
+        addServlet(context, new StatsServlet(),     "/stats") ;
         
         return server ; 
         // Old plan

Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java?rev=1484836&r1=1484835&r2=1484836&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java Tue May 21 15:32:33 2013
@@ -188,6 +188,7 @@ public class SPARQLServer
             HttpServlet validateData = new DataValidator() ;    
             HttpServlet validateIRI = new IRIValidator() ;
             
+            HttpServlet statsService = new StatsServlet() ;
             HttpServlet dumpService = new DumpServlet() ;
             HttpServlet generalQueryService = new SPARQL_QueryGeneral() ;
             // TODO Name management 
@@ -195,7 +196,7 @@ public class SPARQLServer
             addServlet(context, validateUpdate, validationRoot+"/update", false) ;
             addServlet(context, validateData, validationRoot+"/data", false) ;
             addServlet(context, validateIRI, validationRoot+"/iri", false) ;
-            addServlet(context, dumpService, "/dump", false) ;
+            
             // general query processor.
             addServlet(context, generalQueryService, sparqlProcessor, enableCompression) ;
         }

Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java?rev=1484836&r1=1484835&r2=1484836&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java Tue May 21 15:32:33 2013
@@ -239,10 +239,8 @@ public class DumpServlet extends HttpSer
     
     /**
      * <code>dumpEnvironment</code>
-     * @return String that is the HTML of the System properties as 
-name/value pairs.
-     * The values are with single quotes independent of whether or not 
-the value has
+     * @return String that is the HTML of the System properties as name/value pairs.
+     * The values are with single quotes independent of whether or not the value has
      * single quotes in it.
      */
     static public String dumpEnvironment()

Added: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/StatsServlet.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/StatsServlet.java?rev=1484836&view=auto
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/StatsServlet.java (added)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/StatsServlet.java Tue May 21 15:32:33 2013
@@ -0,0 +1,82 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.fuseki.servlets;
+
+import java.io.IOException ;
+import java.io.PrintWriter ;
+import java.util.Iterator ;
+
+import javax.servlet.http.HttpServlet ;
+import javax.servlet.http.HttpServletRequest ;
+import javax.servlet.http.HttpServletResponse ;
+
+import org.apache.jena.fuseki.server.DatasetRef ;
+import org.apache.jena.fuseki.server.DatasetRegistry ;
+
+public class StatsServlet extends HttpServlet
+{
+    @Override
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+        //throws ServletException, IOException
+    {
+        try {
+            PrintWriter out = resp.getWriter() ;
+            resp.setContentType("text/plain");
+            
+            Iterator<String> iter = DatasetRegistry.get().keys() ;
+            
+            while(iter.hasNext())
+            {
+                String ds = iter.next() ;
+                DatasetRef desc = DatasetRegistry.get().get(ds) ;
+                stats(out, desc) ;
+                if ( iter.hasNext() )
+                    out.println() ;
+            }
+            
+            out.flush() ;
+        } catch (IOException e)
+        { }
+    }
+    
+    private void stats(PrintWriter out, DatasetRef desc)
+    {
+        out.println("Dataset: "+desc.name) ;
+        out.println("    Requests   = "+desc.countServiceRequests) ;
+        out.println("    Good       = "+desc.countServiceRequestsOK) ;
+        out.println("    Bad        = "+desc.countServiceRequestsBad) ;
+        out.println("  SPARQL Query:") ;
+        out.println("    OK         = "+desc.countQueryOK) ;
+        out.println("    Bad Syntax = "+desc.countQueryBadSyntax) ;
+        out.println("    Timeouts   = "+desc.countQueryTimeout) ;
+        out.println("    Bad exec   = "+desc.countQueryBadExecution);
+        out.println("  SPARQL Update:") ;
+        out.println("    Updates    = "+desc.countUpdate) ;    
+        out.println("  Upload:") ;
+        out.println("    Uploads    = "+desc.countUpload) ;
+        out.println("  SPARQL Graph Store Protocol:") ;
+        out.println("    GETs       = "+desc.countGET) ;
+        out.println("    POSTs      = "+desc.countPOST) ;
+        out.println("    PUTs       = "+desc.countPUT) ;
+        out.println("    DELETEs    = "+desc.countDELETE) ;
+        //out.println("   HEADs     = "+desc.countHEAD) ;
+    }
+    
+}
+