View Javadoc

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  }