RpcMgtMBean.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:3k
源码类别:

网格计算

开发平台:

Java

  1. /**
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  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. package org.apache.hadoop.ipc.metrics;
  19. /**
  20.  * 
  21.  * This is the JMX management interface for the RPC layer.
  22.  * Many of the statistics are sampled and averaged on an interval 
  23.  * which can be specified in the metrics config file.
  24.  * <p>
  25.  * For the statistics that are sampled and averaged, one must specify 
  26.  * a metrics context that does periodic update calls. Most do.
  27.  * The default Null metrics context however does NOT. So if you aren't
  28.  * using any other metrics context then you can turn on the viewing and averaging
  29.  * of sampled metrics by  specifying the following two lines
  30.  *  in the hadoop-meterics.properties file:
  31.  *  <pre>
  32.  *        rpc.class=org.apache.hadoop.metrics.spi.NullContextWithUpdateThread
  33.  *        rpc.period=10
  34.  *  </pre>
  35.  *<p>
  36.  * Note that the metrics are collected regardless of the context used.
  37.  * The context with the update thread is used to average the data periodically
  38.  *
  39.  */
  40. public interface RpcMgtMBean {
  41.   
  42.   /**
  43.    * Number of RPC Operations in the last interval
  44.    * @return number of operations
  45.    */
  46.   int getRpcOpsNumber();
  47.   
  48.   /**
  49.    * Average time for RPC Operations in last interval
  50.    * @return time in msec
  51.    */
  52.   long getRpcOpsAvgProcessingTime();
  53.   
  54.   /**
  55.    * The Minimum RPC Operation Processing Time since reset was called
  56.    * @return time in msec
  57.    */
  58.   long getRpcOpsAvgProcessingTimeMin();
  59.   
  60.   
  61.   /**
  62.    * The Maximum RPC Operation Processing Time since reset was called
  63.    * @return time in msec
  64.    */
  65.   long getRpcOpsAvgProcessingTimeMax();
  66.   
  67.   
  68.   /**
  69.    * The Average RPC Operation Queued Time in the last interval
  70.    * @return time in msec
  71.    */
  72.   long getRpcOpsAvgQueueTime();
  73.   
  74.   
  75.   /**
  76.    * The Minimum RPC Operation Queued Time since reset was called
  77.    * @return time in msec
  78.    */
  79.   long getRpcOpsAvgQueueTimeMin();
  80.   
  81.   /**
  82.    * The Maximum RPC Operation Queued Time since reset was called
  83.    * @return time in msec
  84.    */
  85.   long getRpcOpsAvgQueueTimeMax();
  86.   
  87.   /**
  88.    * Reset all min max times
  89.    */
  90.   void resetAllMinMax();
  91.   
  92.   /**
  93.    * The number of open RPC conections
  94.    * @return the number of open rpc connections
  95.    */
  96.   public int getNumOpenConnections();
  97.   
  98.   /**
  99.    * The number of rpc calls in the queue.
  100.    * @return The number of rpc calls in the queue.
  101.    */
  102.   public int getCallQueueLen();
  103. }