From: <bra...@us...> - 2010-03-24 00:20:44
|
Revision: 3002 http://archive-access.svn.sourceforge.net/archive-access/?rev=3002&view=rev Author: bradtofel Date: 2010-03-24 00:20:31 +0000 (Wed, 24 Mar 2010) Log Message: ----------- TWEAK: added simplistic PerformanceLogger Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/PerformanceLogger.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java 2010-03-23 23:46:12 UTC (rev 3001) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java 2010-03-24 00:20:31 UTC (rev 3002) @@ -424,7 +424,9 @@ throws IOException, ServletException, WaybackException { Resource resource = null; try { + PerformanceLogger p = new PerformanceLogger("replay"); SearchResults results = collection.getResourceIndex().query(wbRequest); + p.queried(); if(!(results instanceof CaptureSearchResults)) { throw new ResourceNotAvailableException("Bad results..."); } @@ -434,9 +436,12 @@ CaptureSearchResult closest = captureResults.getClosest(wbRequest, useAnchorWindow); resource = collection.getResourceStore().retrieveResource(closest); + p.retrieved(); ReplayRenderer renderer = replay.getRenderer(wbRequest, closest, resource); renderer.renderResource(httpRequest, httpResponse, wbRequest, closest, resource, uriConverter, captureResults); + p.rendered(); + p.write(wbRequest.getReplayTimestamp() + " " + wbRequest.getRequestUrl()); } finally { if(resource != null) { resource.close(); @@ -448,7 +453,9 @@ HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws ServletException, IOException, WaybackException { + PerformanceLogger p = new PerformanceLogger("query"); SearchResults results = collection.getResourceIndex().query(wbRequest); + p.queried(); if(results instanceof CaptureSearchResults) { CaptureSearchResults cResults = (CaptureSearchResults) results; cResults.markClosest(wbRequest); @@ -462,6 +469,8 @@ } else { throw new WaybackException("Unknown index format"); } + p.rendered(); + p.write(wbRequest.getRequestUrl()); } /** Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/PerformanceLogger.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/PerformanceLogger.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/PerformanceLogger.java 2010-03-24 00:20:31 UTC (rev 3002) @@ -0,0 +1,71 @@ +/* PerformanceLogger + * + * $Id$: + * + * Created on Mar 19, 2010. + * + * Copyright (C) 2006 Internet Archive. + * + * This file is part of Wayback. + * + * Wayback is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * any later version. + * + * Wayback is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser Public License for more details. + * + * You should have received a copy of the GNU Lesser Public License + * along with Wayback; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +package org.archive.wayback.webapp; + +import org.apache.log4j.Logger; + +/** + * @author brad + * + */ +public class PerformanceLogger { + private static final Logger LOGGER = Logger.getLogger( + PerformanceLogger.class.getName()); + + private static char delim = '\t'; + + private String type = null; + private long start = 0; + private long query = 0; + private long retrieve = -1; + private long render = 0; + public PerformanceLogger(String type) { + this.type = type; + this.start = System.currentTimeMillis(); + } + public void queried() { + this.query = System.currentTimeMillis(); + } + public void retrieved() { + this.retrieve = System.currentTimeMillis(); + } + public void rendered() { + this.render = System.currentTimeMillis(); + } + public void write(String info) { + StringBuilder sb = new StringBuilder(40); + sb.append(type).append(delim); + sb.append(query - start).append(delim); + if(retrieve == -1) { + sb.append(render - query).append(delim); + } else { + sb.append(retrieve - query).append(delim); + sb.append(render - retrieve).append(delim); + } + sb.append(info); + LOGGER.debug(sb.toString()); + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/PerformanceLogger.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |