⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 metricscontext.java

📁 hadoop:Nutch集群平台
💻 JAVA
字号:
/*
 * MetricsContext.java
 *
 * Copyright 2006 The Apache Software Foundation
 *
 * Licensed 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.hadoop.metrics;

import java.io.IOException;

/**
 * The main interface to the metrics package. 
 */
public interface MetricsContext {
    
    /**
     * Default period in seconds at which data is sent to the metrics system.
     */
    public static final int DEFAULT_PERIOD = 5;
    
    /**
     * Returns the context name.
     *
     * @return the context name
     */
    public abstract String getContextName();
    
    /**
     * Starts or restarts monitoring, the emitting of metrics records as they are 
     * updated. 
     */
    public abstract void startMonitoring()
        throws IOException;

    /**
     * Stops monitoring.  This does not free any data that the implementation
     * may have buffered for sending at the next timer event. It
     * is OK to call <code>startMonitoring()</code> again after calling 
     * this.
     * @see #close()
     */
    public abstract void stopMonitoring();
    
    /**
     * Returns true if monitoring is currently in progress.
     */
    public abstract boolean isMonitoring();
    
    /**
     * Stops monitoring and also frees any buffered data, returning this 
     * object to its initial state.  
     */
    public abstract void close();
    
    /**
     * Creates a new MetricsRecord instance with the given <code>recordName</code>.
     * Throws an exception if the metrics implementation is configured with a fixed
     * set of record names and <code>recordName</code> is not in that set.
     *
     * @param recordName the name of the record
     * @throws MetricsException if recordName conflicts with configuration data
     */
    public abstract MetricsRecord createRecord(String recordName);
    
    /**
     * Registers a callback to be called at regular time intervals, as 
     * determined by the implementation-class specific configuration.
     *
     * @param updater object to be run periodically; it should updated
     * some metrics records and then return
     */
    public abstract void registerUpdater(Updater updater);

    /**
     * Removes a callback, if it exists.
     * 
     * @param updater object to be removed from the callback list
     */
    public abstract void unregisterUpdater(Updater updater);
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -