Class FederationRPCPerformanceMonitor

java.lang.Object
org.apache.hadoop.hdfs.server.federation.metrics.FederationRPCPerformanceMonitor
All Implemented Interfaces:
RouterRpcMonitor

public class FederationRPCPerformanceMonitor extends Object implements RouterRpcMonitor
Customizable RPC performance monitor. Receives events from the RPC server and aggregates them via JMX.
  • Field Details

  • Constructor Details

    • FederationRPCPerformanceMonitor

      public FederationRPCPerformanceMonitor()
  • Method Details

    • init

      public void init(org.apache.hadoop.conf.Configuration configuration, RouterRpcServer rpcServer, StateStoreService stateStore)
      Description copied from interface: RouterRpcMonitor
      Initialize the monitor.
      Specified by:
      init in interface RouterRpcMonitor
      Parameters:
      configuration - Configuration for the monitor.
      rpcServer - RPC server.
      stateStore - State Store.
    • close

      public void close()
      Description copied from interface: RouterRpcMonitor
      Close the monitor.
      Specified by:
      close in interface RouterRpcMonitor
    • resetPerfCounters

      public void resetPerfCounters()
      Resets all RPC service performance counters to their defaults.
    • startOp

      public void startOp()
      Description copied from interface: RouterRpcMonitor
      Start processing an operation on the Router.
      Specified by:
      startOp in interface RouterRpcMonitor
    • getStartOpTime

      public static long getStartOpTime()
    • setStartOpTime

      public static void setStartOpTime(long startOpTime)
    • proxyOp

      public long proxyOp()
      Description copied from interface: RouterRpcMonitor
      Start proxying an operation to the Namenode.
      Specified by:
      proxyOp in interface RouterRpcMonitor
      Returns:
      id of the thread doing the proxying.
    • getProxyOpTime

      public static long getProxyOpTime()
    • setProxyOpTime

      public static void setProxyOpTime(long proxyOpTime)
    • proxyOpComplete

      public void proxyOpComplete(boolean success, String nsId, FederationNamenodeServiceState state)
      Description copied from interface: RouterRpcMonitor
      Mark a proxy operation as completed.
      Specified by:
      proxyOpComplete in interface RouterRpcMonitor
      Parameters:
      success - if the operation was successful.
      nsId - nameservice id.
      state - namenode state in the federation.
    • proxyOpFailureStandby

      public void proxyOpFailureStandby(String nsId)
      Description copied from interface: RouterRpcMonitor
      Failed to proxy an operation to a namenode because it was in standby.
      Specified by:
      proxyOpFailureStandby in interface RouterRpcMonitor
      Parameters:
      nsId - nameservice id.
    • proxyOpFailureCommunicate

      public void proxyOpFailureCommunicate(String nsId)
      Description copied from interface: RouterRpcMonitor
      Failed to proxy an operation to a namenode because of an unexpected exception.
      Specified by:
      proxyOpFailureCommunicate in interface RouterRpcMonitor
      Parameters:
      nsId - nameservice id.
    • proxyOpPermitRejected

      public void proxyOpPermitRejected(String nsId)
      Description copied from interface: RouterRpcMonitor
      Rejected to proxy an operation to a namenode.
      Specified by:
      proxyOpPermitRejected in interface RouterRpcMonitor
      Parameters:
      nsId - nameservice id.
    • proxyOpPermitAccepted

      public void proxyOpPermitAccepted(String nsId)
      Description copied from interface: RouterRpcMonitor
      Accepted to proxy an operation to a namenode.
      Specified by:
      proxyOpPermitAccepted in interface RouterRpcMonitor
      Parameters:
      nsId - nameservice id.
    • proxyOpFailureClientOverloaded

      public void proxyOpFailureClientOverloaded()
      Description copied from interface: RouterRpcMonitor
      Failed to proxy an operation to a Namenode because the client was overloaded.
      Specified by:
      proxyOpFailureClientOverloaded in interface RouterRpcMonitor
    • proxyOpNotImplemented

      public void proxyOpNotImplemented()
      Description copied from interface: RouterRpcMonitor
      Failed to proxy an operation because it is not implemented.
      Specified by:
      proxyOpNotImplemented in interface RouterRpcMonitor
    • proxyOpRetries

      public void proxyOpRetries()
      Description copied from interface: RouterRpcMonitor
      Retry to proxy an operation to a Namenode because of an unexpected exception.
      Specified by:
      proxyOpRetries in interface RouterRpcMonitor
    • proxyOpNoNamenodes

      public void proxyOpNoNamenodes(String nsId)
      Description copied from interface: RouterRpcMonitor
      Failed to proxy an operation because of no namenodes available.
      Specified by:
      proxyOpNoNamenodes in interface RouterRpcMonitor
      Parameters:
      nsId - nameservice id.
    • routerFailureStateStore

      public void routerFailureStateStore()
      Description copied from interface: RouterRpcMonitor
      If the Router cannot contact the State Store in an operation.
      Specified by:
      routerFailureStateStore in interface RouterRpcMonitor
    • routerFailureSafemode

      public void routerFailureSafemode()
      Description copied from interface: RouterRpcMonitor
      If the Router is in safe mode.
      Specified by:
      routerFailureSafemode in interface RouterRpcMonitor
    • routerFailureReadOnly

      public void routerFailureReadOnly()
      Description copied from interface: RouterRpcMonitor
      If a path is in a read only mount point.
      Specified by:
      routerFailureReadOnly in interface RouterRpcMonitor
    • routerFailureLocked

      public void routerFailureLocked()
      Description copied from interface: RouterRpcMonitor
      If a path is locked.
      Specified by:
      routerFailureLocked in interface RouterRpcMonitor
    • getRPCMetrics

      public FederationRPCMetrics getRPCMetrics()
      Description copied from interface: RouterRpcMonitor
      Get Router RPC metrics info.
      Specified by:
      getRPCMetrics in interface RouterRpcMonitor
      Returns:
      The instance of FederationRPCMetrics.