001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.engine;
020
021import java.util.Map;
022
023import lucee.runtime.PageContext;
024import lucee.runtime.debug.DebugEntry;
025
026public class DebugExecutionLog extends ExecutionLogSupport {
027        
028        private PageContext pc;
029
030
031        protected void _init(PageContext pc, Map<String, String> arguments) {
032                this.pc=pc;
033        }
034        
035        @Override
036        protected void _log(int startPos, int endPos, long startTime, long endTime) {
037
038                if(!pc.getConfig().debug()) return;
039
040                long diff=endTime-startTime;
041                if(unit==UNIT_MICRO)diff/=1000;
042                else if(unit==UNIT_MILLI)diff/=1000000;
043
044                DebugEntry de = pc.getDebugger().getEntry(pc, pc.getCurrentPageSource(), startPos, endPos);
045                de.updateExeTime((int) diff);
046        }
047
048
049        @Override
050        protected void _release() {
051        }
052
053}