Java 类org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos 实例源码

项目:ditb    文件:ReplicationLoad.java   
/**
 * sourceToString
 * @return a string contains sourceReplicationLoad information
 */
public String sourceToString() {
  if (this.sourceMetricsList == null) return null;

  StringBuilder sb = new StringBuilder();

  for (ClusterStatusProtos.ReplicationLoadSource rls : this.replicationLoadSourceList) {

    sb = Strings.appendKeyValue(sb, "\n           PeerID", rls.getPeerID());
    sb = Strings.appendKeyValue(sb, "AgeOfLastShippedOp", rls.getAgeOfLastShippedOp());
    sb = Strings.appendKeyValue(sb, "SizeOfLogQueue", rls.getSizeOfLogQueue());
    sb =
        Strings.appendKeyValue(sb, "TimeStampsOfLastShippedOp",
          (new Date(rls.getTimeStampOfLastShippedOp()).toString()));
    sb = Strings.appendKeyValue(sb, "Replication Lag", rls.getReplicationLag());
  }

  return sb.toString();
}
项目:ditb    文件:TestServerLoad.java   
private ClusterStatusProtos.ServerLoad createServerLoadProto() {
  HBaseProtos.RegionSpecifier rSpecOne =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("ASDFGQWERT")).build();
  HBaseProtos.RegionSpecifier rSpecTwo =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("QWERTYUIOP")).build();

  ClusterStatusProtos.RegionLoad rlOne =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecOne).setStores(10)
          .setStorefiles(101).setStoreUncompressedSizeMB(106).setStorefileSizeMB(520)
          .setStorefileIndexSizeMB(42).setRootIndexSizeKB(201).setReadRequestsCount(Integer.MAX_VALUE).setWriteRequestsCount(Integer.MAX_VALUE).build();
  ClusterStatusProtos.RegionLoad rlTwo =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecTwo).setStores(3)
          .setStorefiles(13).setStoreUncompressedSizeMB(23).setStorefileSizeMB(300)
          .setStorefileIndexSizeMB(40).setRootIndexSizeKB(303).setReadRequestsCount(Integer.MAX_VALUE).setWriteRequestsCount(Integer.MAX_VALUE).build();

  ClusterStatusProtos.ServerLoad sl =
      ClusterStatusProtos.ServerLoad.newBuilder().addRegionLoads(rlOne).
        addRegionLoads(rlTwo).build();
  return sl;
}
项目:ditb    文件:ServerLoad.java   
public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {
  this.serverLoad = serverLoad;
  for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {
    stores += rl.getStores();
    storefiles += rl.getStorefiles();
    storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();
    storefileSizeMB += rl.getStorefileSizeMB();
    memstoreSizeMB += rl.getMemstoreSizeMB();
    storefileIndexSizeMB += rl.getStorefileIndexSizeMB();
    readRequestsCount += rl.getReadRequestsCount();
    writeRequestsCount += rl.getWriteRequestsCount();
    rootIndexSizeKB += rl.getRootIndexSizeKB();
    totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();
    totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();
    totalCompactingKVs += rl.getTotalCompactingKVs();
    currentCompactedKVs += rl.getCurrentCompactedKVs();
  }

}
项目:ditb    文件:ZKUtil.java   
/**
 * @param regionLastFlushedSequenceId the flushed sequence id of a region which is the min of its
 *          store max seq ids
 * @param storeSequenceIds column family to sequence Id map
 * @return Serialized protobuf of <code>RegionSequenceIds</code> with pb magic prefix prepended
 *         suitable for use to filter wal edits in distributedLogReplay mode
 */
public static byte[] regionSequenceIdsToByteArray(final Long regionLastFlushedSequenceId,
    final Map<byte[], Long> storeSequenceIds) {
  ClusterStatusProtos.RegionStoreSequenceIds.Builder regionSequenceIdsBuilder =
      ClusterStatusProtos.RegionStoreSequenceIds.newBuilder();
  ClusterStatusProtos.StoreSequenceId.Builder storeSequenceIdBuilder =
      ClusterStatusProtos.StoreSequenceId.newBuilder();
  if (storeSequenceIds != null) {
    for (Map.Entry<byte[], Long> e : storeSequenceIds.entrySet()){
      byte[] columnFamilyName = e.getKey();
      Long curSeqId = e.getValue();
      storeSequenceIdBuilder.setFamilyName(ByteStringer.wrap(columnFamilyName));
      storeSequenceIdBuilder.setSequenceId(curSeqId);
      regionSequenceIdsBuilder.addStoreSequenceId(storeSequenceIdBuilder.build());
      storeSequenceIdBuilder.clear();
    }
  }
  regionSequenceIdsBuilder.setLastFlushedSequenceId(regionLastFlushedSequenceId);
  byte[] result = regionSequenceIdsBuilder.build().toByteArray();
  return ProtobufUtil.prependPBMagic(result);
}
项目:ditb    文件:ZKUtil.java   
/**
 * @param bytes Content of serialized data of RegionStoreSequenceIds
 * @return a RegionStoreSequenceIds object
 * @throws DeserializationException
 */
public static RegionStoreSequenceIds parseRegionStoreSequenceIds(final byte[] bytes)
    throws DeserializationException {
  if (bytes == null || !ProtobufUtil.isPBMagicPrefix(bytes)) {
    throw new DeserializationException("Unable to parse RegionStoreSequenceIds.");
  }
  RegionStoreSequenceIds.Builder regionSequenceIdsBuilder =
      ClusterStatusProtos.RegionStoreSequenceIds.newBuilder();
  int pblen = ProtobufUtil.lengthOfPBMagic();
  RegionStoreSequenceIds storeIds = null;
  try {
    ProtobufUtil.mergeFrom(regionSequenceIdsBuilder, bytes, pblen, bytes.length - pblen);
    storeIds = regionSequenceIdsBuilder.build();
  } catch (IOException e) {
    throw new DeserializationException(e);
  }
  return storeIds;
}
项目:pbase    文件:ReplicationLoad.java   
/**
 * sourceToString
 * @return a string contains sourceReplicationLoad information
 */
public String sourceToString() {
  if (this.sourceMetricsList == null) return null;

  StringBuilder sb = new StringBuilder();

  for (ClusterStatusProtos.ReplicationLoadSource rls : this.replicationLoadSourceList) {

    sb = Strings.appendKeyValue(sb, "\n           PeerID", rls.getPeerID());
    sb = Strings.appendKeyValue(sb, "AgeOfLastShippedOp", rls.getAgeOfLastShippedOp());
    sb = Strings.appendKeyValue(sb, "SizeOfLogQueue", rls.getSizeOfLogQueue());
    sb =
        Strings.appendKeyValue(sb, "TimeStampsOfLastShippedOp",
          (new Date(rls.getTimeStampOfLastShippedOp()).toString()));
    sb = Strings.appendKeyValue(sb, "Replication Lag", rls.getReplicationLag());
  }

  return sb.toString();
}
项目:pbase    文件:TestServerLoad.java   
private ClusterStatusProtos.ServerLoad createServerLoadProto() {
  HBaseProtos.RegionSpecifier rSpecOne =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("ASDFGQWERT")).build();
  HBaseProtos.RegionSpecifier rSpecTwo =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("QWERTYUIOP")).build();

  ClusterStatusProtos.RegionLoad rlOne =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecOne).setStores(10)
          .setStorefiles(101).setStoreUncompressedSizeMB(106).setStorefileSizeMB(520)
          .setStorefileIndexSizeMB(42).setRootIndexSizeKB(201).build();
  ClusterStatusProtos.RegionLoad rlTwo =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecTwo).setStores(3)
          .setStorefiles(13).setStoreUncompressedSizeMB(23).setStorefileSizeMB(300)
          .setStorefileIndexSizeMB(40).setRootIndexSizeKB(303).build();

  ClusterStatusProtos.ServerLoad sl =
      ClusterStatusProtos.ServerLoad.newBuilder().addRegionLoads(rlOne).
        addRegionLoads(rlTwo).build();
  return sl;
}
项目:pbase    文件:ServerLoad.java   
public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {
  this.serverLoad = serverLoad;
  for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {
    stores += rl.getStores();
    storefiles += rl.getStorefiles();
    storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();
    storefileSizeMB += rl.getStorefileSizeMB();
    memstoreSizeMB += rl.getMemstoreSizeMB();
    storefileIndexSizeMB += rl.getStorefileIndexSizeMB();
    readRequestsCount += rl.getReadRequestsCount();
    writeRequestsCount += rl.getWriteRequestsCount();
    rootIndexSizeKB += rl.getRootIndexSizeKB();
    totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();
    totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();
    totalCompactingKVs += rl.getTotalCompactingKVs();
    currentCompactedKVs += rl.getCurrentCompactedKVs();
  }

}
项目:HIndex    文件:HMaster.java   
@Override
public RegionServerReportResponse regionServerReport(
    RpcController controller, RegionServerReportRequest request) throws ServiceException {
  try {
    ClusterStatusProtos.ServerLoad sl = request.getLoad();
    ServerName serverName = ProtobufUtil.toServerName(request.getServer());
    ServerLoad oldLoad = serverManager.getLoad(serverName);
    this.serverManager.regionServerReport(serverName, new ServerLoad(sl));
    if (sl != null && this.metricsMaster != null) {
      // Up our metrics.
      this.metricsMaster.incrementRequests(sl.getTotalNumberOfRequests()
        - (oldLoad != null ? oldLoad.getTotalNumberOfRequests() : 0));
    }
  } catch (IOException ioe) {
    throw new ServiceException(ioe);
  }

  return RegionServerReportResponse.newBuilder().build();
}
项目:HIndex    文件:TestServerLoad.java   
private ClusterStatusProtos.ServerLoad createServerLoadProto() {
  HBaseProtos.RegionSpecifier rSpecOne =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("ASDFGQWERT")).build();
  HBaseProtos.RegionSpecifier rSpecTwo =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("QWERTYUIOP")).build();

  ClusterStatusProtos.RegionLoad rlOne =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecOne).setStores(10)
          .setStorefiles(101).setStoreUncompressedSizeMB(106).setStorefileSizeMB(520)
          .setStorefileIndexSizeMB(42).setRootIndexSizeKB(201).build();
  ClusterStatusProtos.RegionLoad rlTwo =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecTwo).setStores(3)
          .setStorefiles(13).setStoreUncompressedSizeMB(23).setStorefileSizeMB(300)
          .setStorefileIndexSizeMB(40).setRootIndexSizeKB(303).build();

  ClusterStatusProtos.ServerLoad sl =
      ClusterStatusProtos.ServerLoad.newBuilder().addRegionLoads(rlOne).
        addRegionLoads(rlTwo).build();
  return sl;
}
项目:HIndex    文件:ServerLoad.java   
public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {
  this.serverLoad = serverLoad;
  for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {
    stores += rl.getStores();
    storefiles += rl.getStorefiles();
    storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();
    storefileSizeMB += rl.getStorefileSizeMB();
    memstoreSizeMB += rl.getMemstoreSizeMB();
    storefileIndexSizeMB += rl.getStorefileIndexSizeMB();
    readRequestsCount += rl.getReadRequestsCount();
    writeRequestsCount += rl.getWriteRequestsCount();
    rootIndexSizeKB += rl.getRootIndexSizeKB();
    totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();
    totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();
    totalCompactingKVs += rl.getTotalCompactingKVs();
    currentCompactedKVs += rl.getCurrentCompactedKVs();
  }

}
项目:PyroDB    文件:MasterRpcServices.java   
@Override
public RegionServerReportResponse regionServerReport(
    RpcController controller, RegionServerReportRequest request) throws ServiceException {
  try {
    master.checkServiceStarted();
    ClusterStatusProtos.ServerLoad sl = request.getLoad();
    ServerName serverName = ProtobufUtil.toServerName(request.getServer());
    ServerLoad oldLoad = master.serverManager.getLoad(serverName);
    master.serverManager.regionServerReport(serverName, new ServerLoad(sl));
    if (sl != null && master.metricsMaster != null) {
      // Up our metrics.
      master.metricsMaster.incrementRequests(sl.getTotalNumberOfRequests()
        - (oldLoad != null ? oldLoad.getTotalNumberOfRequests() : 0));
    }
  } catch (IOException ioe) {
    throw new ServiceException(ioe);
  }
  return RegionServerReportResponse.newBuilder().build();
}
项目:PyroDB    文件:TestServerLoad.java   
private ClusterStatusProtos.ServerLoad createServerLoadProto() {
  HBaseProtos.RegionSpecifier rSpecOne =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("ASDFGQWERT")).build();
  HBaseProtos.RegionSpecifier rSpecTwo =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("QWERTYUIOP")).build();

  ClusterStatusProtos.RegionLoad rlOne =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecOne).setStores(10)
          .setStorefiles(101).setStoreUncompressedSizeMB(106).setStorefileSizeMB(520)
          .setStorefileIndexSizeMB(42).setRootIndexSizeKB(201).build();
  ClusterStatusProtos.RegionLoad rlTwo =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecTwo).setStores(3)
          .setStorefiles(13).setStoreUncompressedSizeMB(23).setStorefileSizeMB(300)
          .setStorefileIndexSizeMB(40).setRootIndexSizeKB(303).build();

  ClusterStatusProtos.ServerLoad sl =
      ClusterStatusProtos.ServerLoad.newBuilder().addRegionLoads(rlOne).
        addRegionLoads(rlTwo).build();
  return sl;
}
项目:PyroDB    文件:ServerLoad.java   
public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {
  this.serverLoad = serverLoad;
  for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {
    stores += rl.getStores();
    storefiles += rl.getStorefiles();
    storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();
    storefileSizeMB += rl.getStorefileSizeMB();
    memstoreSizeMB += rl.getMemstoreSizeMB();
    storefileIndexSizeMB += rl.getStorefileIndexSizeMB();
    readRequestsCount += rl.getReadRequestsCount();
    writeRequestsCount += rl.getWriteRequestsCount();
    rootIndexSizeKB += rl.getRootIndexSizeKB();
    totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();
    totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();
    totalCompactingKVs += rl.getTotalCompactingKVs();
    currentCompactedKVs += rl.getCurrentCompactedKVs();
  }

}
项目:c5    文件:HMaster.java   
@Override
public RegionServerReportResponse regionServerReport(
    RpcController controller, RegionServerReportRequest request) throws ServiceException {
  try {
    ClusterStatusProtos.ServerLoad sl = request.getLoad();
    this.serverManager.regionServerReport(ProtobufUtil.toServerName(request.getServer()), new ServerLoad(sl));
    if (sl != null && this.metricsMaster != null) {
      // Up our metrics.
      this.metricsMaster.incrementRequests(sl.getTotalNumberOfRequests());
    }
  } catch (IOException ioe) {
    throw new ServiceException(ioe);
  }

  return RegionServerReportResponse.newBuilder().build();
}
项目:c5    文件:TestMasterMetrics.java   
@Test(timeout = 300000)
public void testClusterRequests() throws Exception {

  // sending fake request to master to see how metric value has changed
  RegionServerStatusProtos.RegionServerReportRequest.Builder request =
      RegionServerStatusProtos.RegionServerReportRequest.newBuilder();
  HRegionServer rs = cluster.getRegionServer(0);
  request.setServer(ProtobufUtil.toServerName(rs.getServerName()));

  ClusterStatusProtos.ServerLoad sl = ClusterStatusProtos.ServerLoad.newBuilder()
                                         .setTotalNumberOfRequests(10000)
                                         .build();
  master.getMetrics().getMetricsSource().init();
  request.setLoad(sl);
  master.regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 10000,
      master.getMetrics().getMetricsSource());
  master.stopMaster();
}
项目:c5    文件:TestServerLoad.java   
private ClusterStatusProtos.ServerLoad createServerLoadProto() {
  HBaseProtos.RegionSpecifier rSpecOne =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("ASDFGQWERT")).build();
  HBaseProtos.RegionSpecifier rSpecTwo =
      HBaseProtos.RegionSpecifier.newBuilder()
          .setType(HBaseProtos.RegionSpecifier.RegionSpecifierType.ENCODED_REGION_NAME)
          .setValue(ByteString.copyFromUtf8("QWERTYUIOP")).build();

  ClusterStatusProtos.RegionLoad rlOne =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecOne).setStores(10)
          .setStorefiles(101).setStoreUncompressedSizeMB(106).setStorefileSizeMB(520)
          .setStorefileIndexSizeMB(42).setRootIndexSizeKB(201).build();
  ClusterStatusProtos.RegionLoad rlTwo =
      ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(rSpecTwo).setStores(3)
          .setStorefiles(13).setStoreUncompressedSizeMB(23).setStorefileSizeMB(300)
          .setStorefileIndexSizeMB(40).setRootIndexSizeKB(303).build();

  ClusterStatusProtos.ServerLoad sl =
      ClusterStatusProtos.ServerLoad.newBuilder().addRegionLoads(rlOne).
        addRegionLoads(rlTwo).build();
  return sl;
}
项目:c5    文件:ServerLoad.java   
public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {
  this.serverLoad = serverLoad;
  for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {
    stores += rl.getStores();
    storefiles += rl.getStorefiles();
    storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();
    storefileSizeMB += rl.getStorefileSizeMB();
    memstoreSizeMB += rl.getMemstoreSizeMB();
    storefileIndexSizeMB += rl.getStorefileIndexSizeMB();
    readRequestsCount += rl.getReadRequestsCount();
    writeRequestsCount += rl.getWriteRequestsCount();
    rootIndexSizeKB += rl.getRootIndexSizeKB();
    totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();
    totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();
    totalCompactingKVs += rl.getTotalCompactingKVs();
    currentCompactedKVs += rl.getCurrentCompactedKVs();
  }

}
项目:ditb    文件:HRegionServer.java   
@VisibleForTesting protected void tryRegionServerReport(long reportStartTime, long reportEndTime)
    throws IOException {
  RegionServerStatusService.BlockingInterface rss = rssStub;
  if (rss == null) {
    // the current server could be stopping.
    return;
  }
  ClusterStatusProtos.ServerLoad sl = buildServerLoad(reportStartTime, reportEndTime);
  try {
    RegionServerReportRequest.Builder request = RegionServerReportRequest.newBuilder();
    ServerName sn = ServerName.parseVersionedServerName(this.serverName.getVersionedBytes());
    request.setServer(ProtobufUtil.toServerName(sn));
    request.setLoad(sl);
    rss.regionServerReport(null, request.build());
  } catch (ServiceException se) {
    IOException ioe = ProtobufUtil.getRemoteException(se);
    if (ioe instanceof YouAreDeadException) {
      // This will be caught and handled as a fatal error in run()
      throw ioe;
    }
    if (rssStub == rss) {
      rssStub = null;
    }
    // Couldn't connect to the master, get location from zk and reconnect
    // Method blocks until new master is found or we are stopped
    createRegionServerStatusStub();
  }
}
项目:ditb    文件:TestMasterMetrics.java   
@Test(timeout = 300000)
public void testClusterRequests() throws Exception {

  // sending fake request to master to see how metric value has changed
  RegionServerStatusProtos.RegionServerReportRequest.Builder request =
      RegionServerStatusProtos.RegionServerReportRequest.newBuilder();
  ServerName serverName = cluster.getMaster(0).getServerName();
  request.setServer(ProtobufUtil.toServerName(serverName));

  MetricsMasterSource masterSource = master.getMasterMetrics().getMetricsSource();
  ClusterStatusProtos.ServerLoad sl = ClusterStatusProtos.ServerLoad.newBuilder()
                                         .setTotalNumberOfRequests(10000)
                                         .build();
  masterSource.init();
  request.setLoad(sl);
  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 10000, masterSource);

  sl = ClusterStatusProtos.ServerLoad.newBuilder()
      .setTotalNumberOfRequests(15000)
      .build();
  request.setLoad(sl);
  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 15000, masterSource);

  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 15000, masterSource);
  master.stopMaster();
}
项目:ditb    文件:TestRegionState.java   
@Test
public void test() {
  RegionState state1 = new RegionState(
          new HRegionInfo(TableName.valueOf("table")), RegionState.State.OPENING);
  ClusterStatusProtos.RegionState protobuf1 = state1.convert();
  RegionState state2 = RegionState.convert(protobuf1);
  ClusterStatusProtos.RegionState protobuf2 = state1.convert();

  assertEquals(state1, state2);
  assertEquals(protobuf1, protobuf2);
}
项目:ditb    文件:ServerLoad.java   
/**
 * @return region load metrics
 */
public Map<byte[], RegionLoad> getRegionsLoad() {
  Map<byte[], RegionLoad> regionLoads =
    new TreeMap<byte[], RegionLoad>(Bytes.BYTES_COMPARATOR);
  for (ClusterStatusProtos.RegionLoad rl : serverLoad.getRegionLoadsList()) {
    RegionLoad regionLoad = new RegionLoad(rl);
    regionLoads.put(regionLoad.getName(), regionLoad);
  }
  return regionLoads;
}
项目:ditb    文件:ProtobufUtil.java   
public static List<ReplicationLoadSource> toReplicationLoadSourceList(
    List<ClusterStatusProtos.ReplicationLoadSource> clsList) {
  ArrayList<ReplicationLoadSource> rlsList = new ArrayList<ReplicationLoadSource>();
  for (ClusterStatusProtos.ReplicationLoadSource cls : clsList) {
    rlsList.add(toReplicationLoadSource(cls));
  }
  return rlsList;
}
项目:ditb    文件:ClusterStatusListener.java   
@Override
protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket dp) throws Exception {
  ByteBufInputStream bis = new ByteBufInputStream(dp.content());
  try {
    ClusterStatusProtos.ClusterStatus csp = ClusterStatusProtos.ClusterStatus.parseFrom(bis);
    ClusterStatus ncs = ClusterStatus.convert(csp);
    receive(ncs);
  } finally {
    bis.close();
  }
}
项目:ditb    文件:RegionState.java   
/**
 * Convert a RegionState to an HBaseProtos.RegionState
 *
 * @return the converted HBaseProtos.RegionState
 */
public ClusterStatusProtos.RegionState convert() {
  ClusterStatusProtos.RegionState.Builder regionState = ClusterStatusProtos.RegionState.newBuilder();
  regionState.setRegionInfo(HRegionInfo.convert(hri));
  regionState.setState(state.convert());
  regionState.setStamp(getStamp());
  return regionState.build();
}
项目:pbase    文件:HRegionServer.java   
@VisibleForTesting
protected void tryRegionServerReport(long reportStartTime, long reportEndTime)
        throws IOException {
    RegionServerStatusService.BlockingInterface rss = rssStub;
    if (rss == null) {
        // the current server could be stopping.
        return;
    }
    ClusterStatusProtos.ServerLoad sl = buildServerLoad(reportStartTime, reportEndTime);
    try {
        RegionServerReportRequest.Builder request = RegionServerReportRequest.newBuilder();
        ServerName sn = ServerName.parseVersionedServerName(
                this.serverName.getVersionedBytes());
        request.setServer(ProtobufUtil.toServerName(sn));
        request.setLoad(sl);
        rss.regionServerReport(null, request.build());
    } catch (ServiceException se) {
        IOException ioe = ProtobufUtil.getRemoteException(se);
        if (ioe instanceof YouAreDeadException) {
            // This will be caught and handled as a fatal error in run()
            throw ioe;
        }
        if (rssStub == rss) {
            rssStub = null;
        }
        // Couldn't connect to the master, get location from zk and reconnect
        // Method blocks until new master is found or we are stopped
        createRegionServerStatusStub();
    }
}
项目:pbase    文件:TestMasterMetrics.java   
@Test(timeout = 300000)
public void testClusterRequests() throws Exception {

  // sending fake request to master to see how metric value has changed
  RegionServerStatusProtos.RegionServerReportRequest.Builder request =
      RegionServerStatusProtos.RegionServerReportRequest.newBuilder();
  ServerName serverName = cluster.getMaster(0).getServerName();
  request.setServer(ProtobufUtil.toServerName(serverName));

  MetricsMasterSource masterSource = master.getMasterMetrics().getMetricsSource();
  ClusterStatusProtos.ServerLoad sl = ClusterStatusProtos.ServerLoad.newBuilder()
                                         .setTotalNumberOfRequests(10000)
                                         .build();
  masterSource.init();
  request.setLoad(sl);
  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 10000, masterSource);

  sl = ClusterStatusProtos.ServerLoad.newBuilder()
      .setTotalNumberOfRequests(15000)
      .build();
  request.setLoad(sl);
  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 15000, masterSource);

  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 15000, masterSource);
  master.stopMaster();
}
项目:pbase    文件:TestRegionState.java   
@Test
public void test() {
  RegionState state1 = new RegionState(
          new HRegionInfo(TableName.valueOf("table")), RegionState.State.OPENING);
  ClusterStatusProtos.RegionState protobuf1 = state1.convert();
  RegionState state2 = RegionState.convert(protobuf1);
  ClusterStatusProtos.RegionState protobuf2 = state1.convert();

  assertEquals(state1, state2);
  assertEquals(protobuf1, protobuf2);
}
项目:pbase    文件:ServerLoad.java   
/**
 * @return region load metrics
 */
public Map<byte[], RegionLoad> getRegionsLoad() {
  Map<byte[], RegionLoad> regionLoads =
    new TreeMap<byte[], RegionLoad>(Bytes.BYTES_COMPARATOR);
  for (ClusterStatusProtos.RegionLoad rl : serverLoad.getRegionLoadsList()) {
    RegionLoad regionLoad = new RegionLoad(rl);
    regionLoads.put(regionLoad.getName(), regionLoad);
  }
  return regionLoads;
}
项目:pbase    文件:ProtobufUtil.java   
public static List<ReplicationLoadSource> toReplicationLoadSourceList(
    List<ClusterStatusProtos.ReplicationLoadSource> clsList) {
  ArrayList<ReplicationLoadSource> rlsList = new ArrayList<ReplicationLoadSource>();
  for (ClusterStatusProtos.ReplicationLoadSource cls : clsList) {
    rlsList.add(toReplicationLoadSource(cls));
  }
  return rlsList;
}
项目:pbase    文件:ClusterStatusListener.java   
@Override
protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket dp) throws Exception {
  ByteBufInputStream bis = new ByteBufInputStream(dp.content());
  try {
    ClusterStatusProtos.ClusterStatus csp = ClusterStatusProtos.ClusterStatus.parseFrom(bis);
    ClusterStatus ncs = ClusterStatus.convert(csp);
    receive(ncs);
  } finally {
    bis.close();
  }
}
项目:pbase    文件:RegionState.java   
/**
 * Convert a RegionState to an HBaseProtos.RegionState
 *
 * @return the converted HBaseProtos.RegionState
 */
public ClusterStatusProtos.RegionState convert() {
  ClusterStatusProtos.RegionState.Builder regionState = ClusterStatusProtos.RegionState.newBuilder();
  regionState.setRegionInfo(HRegionInfo.convert(hri));
  regionState.setState(state.convert());
  regionState.setStamp(getStamp());
  return regionState.build();
}
项目:HIndex    文件:HRegionServer.java   
@VisibleForTesting
protected void tryRegionServerReport(long reportStartTime, long reportEndTime)
throws IOException {
  if (this.rssStub == null) {
    // the current server is stopping.
    return;
  }
  ClusterStatusProtos.ServerLoad sl = buildServerLoad(reportStartTime, reportEndTime);
  try {
    RegionServerReportRequest.Builder request = RegionServerReportRequest.newBuilder();
    ServerName sn = ServerName.parseVersionedServerName(
      this.serverNameFromMasterPOV.getVersionedBytes());
    request.setServer(ProtobufUtil.toServerName(sn));
    request.setLoad(sl);
    this.rssStub.regionServerReport(null, request.build());
  } catch (ServiceException se) {
    IOException ioe = ProtobufUtil.getRemoteException(se);
    if (ioe instanceof YouAreDeadException) {
      // This will be caught and handled as a fatal error in run()
      throw ioe;
    }
    // Couldn't connect to the master, get location from zk and reconnect
    // Method blocks until new master is found or we are stopped
    Pair<ServerName, RegionServerStatusService.BlockingInterface> p =
      createRegionServerStatusStub();
    this.rssStub = p.getSecond();
  }
}
项目:HIndex    文件:HRegionServer.java   
ClusterStatusProtos.ServerLoad buildServerLoad(long reportStartTime, long reportEndTime) {
  // We're getting the MetricsRegionServerWrapper here because the wrapper computes requests
  // per second, and other metrics  As long as metrics are part of ServerLoad it's best to use
  // the wrapper to compute those numbers in one place.
  // In the long term most of these should be moved off of ServerLoad and the heart beat.
  // Instead they should be stored in an HBase table so that external visibility into HBase is
  // improved; Additionally the load balancer will be able to take advantage of a more complete
  // history.
  MetricsRegionServerWrapper regionServerWrapper = this.metricsRegionServer.getRegionServerWrapper();
  Collection<HRegion> regions = getOnlineRegionsLocalContext();
  MemoryUsage memory =
    ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();

  ClusterStatusProtos.ServerLoad.Builder serverLoad =
    ClusterStatusProtos.ServerLoad.newBuilder();
  serverLoad.setNumberOfRequests((int) regionServerWrapper.getRequestsPerSecond());
  serverLoad.setTotalNumberOfRequests((int) regionServerWrapper.getTotalRequestCount());
  serverLoad.setUsedHeapMB((int)(memory.getUsed() / 1024 / 1024));
  serverLoad.setMaxHeapMB((int) (memory.getMax() / 1024 / 1024));
  Set<String> coprocessors = this.hlog.getCoprocessorHost().getCoprocessors();
  for (String coprocessor : coprocessors) {
    serverLoad.addCoprocessors(
      Coprocessor.newBuilder().setName(coprocessor).build());
  }
  RegionLoad.Builder regionLoadBldr = RegionLoad.newBuilder();
  RegionSpecifier.Builder regionSpecifier = RegionSpecifier.newBuilder();
  for (HRegion region : regions) {
    serverLoad.addRegionLoads(createRegionLoad(region, regionLoadBldr, regionSpecifier));
  }
  serverLoad.setReportStartTime(reportStartTime);
  serverLoad.setReportEndTime(reportEndTime);
  if (this.infoServer != null) {
    serverLoad.setInfoServerPort(this.infoServer.getPort());
  } else {
    serverLoad.setInfoServerPort(-1);
  }
  return serverLoad.build();
}
项目:HIndex    文件:TestMasterMetrics.java   
@Test(timeout = 300000)
public void testClusterRequests() throws Exception {

  // sending fake request to master to see how metric value has changed
  RegionServerStatusProtos.RegionServerReportRequest.Builder request =
      RegionServerStatusProtos.RegionServerReportRequest.newBuilder();
  ServerName serverName = cluster.getRegionServer(0).getServerName();
  request.setServer(ProtobufUtil.toServerName(serverName));

  MetricsMasterSource masterSource = master.getMetrics().getMetricsSource();
  ClusterStatusProtos.ServerLoad sl = ClusterStatusProtos.ServerLoad.newBuilder()
                                         .setTotalNumberOfRequests(10000)
                                         .build();
  masterSource.init();
  request.setLoad(sl);
  master.regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 10000, masterSource);

  sl = ClusterStatusProtos.ServerLoad.newBuilder()
      .setTotalNumberOfRequests(15000)
      .build();
  request.setLoad(sl);
  master.regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 15000, masterSource);

  master.regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 15000, masterSource);
  master.stopMaster();
}
项目:HIndex    文件:ServerLoad.java   
/**
 * @return region load metrics
 */
public Map<byte[], RegionLoad> getRegionsLoad() {
  Map<byte[], RegionLoad> regionLoads =
    new TreeMap<byte[], RegionLoad>(Bytes.BYTES_COMPARATOR);
  for (ClusterStatusProtos.RegionLoad rl : serverLoad.getRegionLoadsList()) {
    RegionLoad regionLoad = new RegionLoad(rl);
    regionLoads.put(regionLoad.getName(), regionLoad);
  }
  return regionLoads;
}
项目:HIndex    文件:ClusterStatusListener.java   
@Override
public void connect(Configuration conf) throws IOException {
  // Can't be NiO with Netty today => not implemented in Netty.
  DatagramChannelFactory f = new OioDatagramChannelFactory(service);

  ConnectionlessBootstrap b = new ConnectionlessBootstrap(f);
  b.setPipeline(Channels.pipeline(
      new ProtobufDecoder(ClusterStatusProtos.ClusterStatus.getDefaultInstance()),
      new ClusterStatusHandler()));

  String mcAddress = conf.get(HConstants.STATUS_MULTICAST_ADDRESS,
      HConstants.DEFAULT_STATUS_MULTICAST_ADDRESS);
  String bindAddress = conf.get(HConstants.STATUS_MULTICAST_BIND_ADDRESS,
    HConstants.DEFAULT_STATUS_MULTICAST_BIND_ADDRESS);
  int port = conf.getInt(HConstants.STATUS_MULTICAST_PORT,
      HConstants.DEFAULT_STATUS_MULTICAST_PORT);

  channel = (DatagramChannel) b.bind(new InetSocketAddress(bindAddress, port));

  channel.getConfig().setReuseAddress(true);

  InetAddress ina;
  try {
    ina = InetAddress.getByName(mcAddress);
  } catch (UnknownHostException e) {
    throw new IOException("Can't connect to " + mcAddress, e);
  }
  channel.joinGroup(ina);
}
项目:PyroDB    文件:HRegionServer.java   
@VisibleForTesting
protected void tryRegionServerReport(long reportStartTime, long reportEndTime)
throws IOException {
  if (this.rssStub == null) {
    // the current server is stopping.
    return;
  }
  ClusterStatusProtos.ServerLoad sl = buildServerLoad(reportStartTime, reportEndTime);
  try {
    RegionServerReportRequest.Builder request = RegionServerReportRequest.newBuilder();
    ServerName sn = ServerName.parseVersionedServerName(
      this.serverName.getVersionedBytes());
    request.setServer(ProtobufUtil.toServerName(sn));
    request.setLoad(sl);
    this.rssStub.regionServerReport(null, request.build());
  } catch (ServiceException se) {
    IOException ioe = ProtobufUtil.getRemoteException(se);
    if (ioe instanceof YouAreDeadException) {
      // This will be caught and handled as a fatal error in run()
      throw ioe;
    }
    // Couldn't connect to the master, get location from zk and reconnect
    // Method blocks until new master is found or we are stopped
    Pair<ServerName, RegionServerStatusService.BlockingInterface> p =
      createRegionServerStatusStub();
    this.rssStub = p.getSecond();
  }
}
项目:PyroDB    文件:HRegionServer.java   
ClusterStatusProtos.ServerLoad buildServerLoad(long reportStartTime, long reportEndTime) {
  // We're getting the MetricsRegionServerWrapper here because the wrapper computes requests
  // per second, and other metrics  As long as metrics are part of ServerLoad it's best to use
  // the wrapper to compute those numbers in one place.
  // In the long term most of these should be moved off of ServerLoad and the heart beat.
  // Instead they should be stored in an HBase table so that external visibility into HBase is
  // improved; Additionally the load balancer will be able to take advantage of a more complete
  // history.
  MetricsRegionServerWrapper regionServerWrapper = this.metricsRegionServer.getRegionServerWrapper();
  Collection<HRegion> regions = getOnlineRegionsLocalContext();
  MemoryUsage memory =
    ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();

  ClusterStatusProtos.ServerLoad.Builder serverLoad =
    ClusterStatusProtos.ServerLoad.newBuilder();
  serverLoad.setNumberOfRequests((int) regionServerWrapper.getRequestsPerSecond());
  serverLoad.setTotalNumberOfRequests((int) regionServerWrapper.getTotalRequestCount());
  serverLoad.setUsedHeapMB((int)(memory.getUsed() / 1024 / 1024));
  serverLoad.setMaxHeapMB((int) (memory.getMax() / 1024 / 1024));
  Set<String> coprocessors = this.hlog.getCoprocessorHost().getCoprocessors();
  for (String coprocessor : coprocessors) {
    serverLoad.addCoprocessors(
      Coprocessor.newBuilder().setName(coprocessor).build());
  }
  RegionLoad.Builder regionLoadBldr = RegionLoad.newBuilder();
  RegionSpecifier.Builder regionSpecifier = RegionSpecifier.newBuilder();
  for (HRegion region : regions) {
    serverLoad.addRegionLoads(createRegionLoad(region, regionLoadBldr, regionSpecifier));
  }
  serverLoad.setReportStartTime(reportStartTime);
  serverLoad.setReportEndTime(reportEndTime);
  if (this.infoServer != null) {
    serverLoad.setInfoServerPort(this.infoServer.getPort());
  } else {
    serverLoad.setInfoServerPort(-1);
  }
  return serverLoad.build();
}
项目:PyroDB    文件:TestMasterMetrics.java   
@Test(timeout = 300000)
public void testClusterRequests() throws Exception {

  // sending fake request to master to see how metric value has changed
  RegionServerStatusProtos.RegionServerReportRequest.Builder request =
      RegionServerStatusProtos.RegionServerReportRequest.newBuilder();
  ServerName serverName = cluster.getMaster(0).getServerName();
  request.setServer(ProtobufUtil.toServerName(serverName));

  MetricsMasterSource masterSource = master.getMasterMetrics().getMetricsSource();
  ClusterStatusProtos.ServerLoad sl = ClusterStatusProtos.ServerLoad.newBuilder()
                                         .setTotalNumberOfRequests(10000)
                                         .build();
  masterSource.init();
  request.setLoad(sl);
  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 10000, masterSource);

  sl = ClusterStatusProtos.ServerLoad.newBuilder()
      .setTotalNumberOfRequests(15000)
      .build();
  request.setLoad(sl);
  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 15000, masterSource);

  master.getMasterRpcServices().regionServerReport(null, request.build());

  metricsHelper.assertCounter("cluster_requests", 15000, masterSource);
  master.stopMaster();
}