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) ;
+ }
+
+}
+