1 package org.e2etrace.config; 2 3 /* 4 * Copyright 2006 Gunther Popp 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 import org.e2etrace.trace.ITraceStepId; 20 21 /** 22 * Represents configuration settings of e2etrace. 23 * <p> 24 * 25 * @author Gunther Popp 26 * 27 */ 28 public interface ITraceConfig { 29 30 /** 31 * Is tracing enabled at all? 32 * <p> 33 * 34 * If this method returns <code>false</code> e2etrace does not collect any 35 * trace information. All potential time consuming methods of e2etrace will 36 * immediately return. 37 * 38 * @return true / false 39 */ 40 boolean isTraceEnabled(); 41 42 /** 43 * Is tracing enabled for the given trace step id? 44 * <p> 45 * 46 * If this method returns <code>false</code> for the given id, e2etrace does 47 * not collect any trace information for this specific trace id. Basically, 48 * this reduces the amount of collected data but not the general overhead of 49 * the trace mechanismn itself. 50 * 51 * Note: If tracing is disabled for a trace session id, no trace 52 * data will be collected for the complete session.<p> 53 * <p> 54 * 55 * @param id the trace id 56 * @return true / false 57 */ 58 boolean isTraceEnabledForId(ITraceStepId id); 59 }