本文整理汇总了Java中org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics.getLong方法的典型用法代码示例。如果您正苦于以下问题:Java SchemaMetrics.getLong方法的具体用法?Java SchemaMetrics.getLong怎么用?Java SchemaMetrics.getLong使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics
的用法示例。
在下文中一共展示了SchemaMetrics.getLong方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: verifyDataAndIndexBlockRead
import org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics; //导入方法依赖的package包/类
private void verifyDataAndIndexBlockRead(Map<String, Long> previousMetricSnapshot,
SchemaMetrics schemaMetrics, long expectDataBlockRead, long expectedIndexBlockRead){
Map<String, Long> currentMetricsSnapshot = SchemaMetrics.getMetricsSnapshot();
Map<String, Long> diffs =
SchemaMetrics.diffMetrics(previousMetricSnapshot, currentMetricsSnapshot);
long dataBlockRead = SchemaMetrics.getLong(diffs,
schemaMetrics.getBlockMetricName(BlockCategory.DATA, false, BlockMetricType.READ_COUNT));
long indexBlockRead = SchemaMetrics.getLong(diffs,
schemaMetrics.getBlockMetricName(BlockCategory.INDEX, false, BlockMetricType.READ_COUNT));
Assert.assertEquals(expectDataBlockRead, dataBlockRead);
Assert.assertEquals(expectedIndexBlockRead, indexBlockRead);
}
示例2: testScannerSelection
import org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics; //导入方法依赖的package包/类
@Test
public void testScannerSelection() throws IOException {
Configuration conf = TEST_UTIL.getConfiguration();
conf.setBoolean("hbase.store.delete.expired.storefile", false);
HColumnDescriptor hcd =
new HColumnDescriptor(FAMILY_BYTES)
.setMaxVersions(Integer.MAX_VALUE)
.setTimeToLive(TTL_SECONDS);
HTableDescriptor htd = new HTableDescriptor(TABLE);
htd.addFamily(hcd);
HRegionInfo info = new HRegionInfo(Bytes.toBytes(TABLE));
HRegion region =
HRegion.createHRegion(info, TEST_UTIL.getClusterTestDir(),
conf, htd);
for (int iFile = 0; iFile < totalNumFiles; ++iFile) {
if (iFile == NUM_EXPIRED_FILES) {
Threads.sleepWithoutInterrupt(TTL_MS);
}
for (int iRow = 0; iRow < NUM_ROWS; ++iRow) {
Put put = new Put(Bytes.toBytes("row" + iRow));
for (int iCol = 0; iCol < NUM_COLS_PER_ROW; ++iCol) {
put.add(FAMILY_BYTES, Bytes.toBytes("col" + iCol),
Bytes.toBytes("value" + iFile + "_" + iRow + "_" + iCol));
}
region.put(put);
}
region.flushcache();
}
Scan scan = new Scan();
scan.setMaxVersions(Integer.MAX_VALUE);
CacheConfig cacheConf = new CacheConfig(conf);
LruBlockCache cache = (LruBlockCache) cacheConf.getBlockCache();
cache.clearCache();
InternalScanner scanner = region.getScanner(scan);
List<KeyValue> results = new ArrayList<KeyValue>();
final int expectedKVsPerRow = numFreshFiles * NUM_COLS_PER_ROW;
int numReturnedRows = 0;
LOG.info("Scanning the entire table");
while (scanner.next(results) || results.size() > 0) {
assertEquals(expectedKVsPerRow, results.size());
++numReturnedRows;
results.clear();
}
assertEquals(NUM_ROWS, numReturnedRows);
Set<String> accessedFiles = cache.getCachedFileNamesForTest();
LOG.debug("Files accessed during scan: " + accessedFiles);
Map<String, Long> metricsBeforeCompaction =
SchemaMetrics.getMetricsSnapshot();
// Exercise both compaction codepaths.
if (explicitCompaction) {
region.getStore(FAMILY_BYTES).compactRecentForTesting(totalNumFiles);
} else {
region.compactStores();
}
SchemaMetrics.validateMetricChanges(metricsBeforeCompaction);
Map<String, Long> compactionMetrics =
SchemaMetrics.diffMetrics(metricsBeforeCompaction,
SchemaMetrics.getMetricsSnapshot());
long compactionDataBlocksRead = SchemaMetrics.getLong(
compactionMetrics,
SchemaMetrics.getInstance(TABLE, FAMILY).getBlockMetricName(
BlockCategory.DATA, true, BlockMetricType.READ_COUNT));
assertEquals("Invalid number of blocks accessed during compaction. " +
"We only expect non-expired files to be accessed.",
numFreshFiles, compactionDataBlocksRead);
region.close();
}
示例3: testScannerSelection
import org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics; //导入方法依赖的package包/类
@Test
public void testScannerSelection() throws IOException {
Configuration conf = TEST_UTIL.getConfiguration();
conf.setInt("hbase.hstore.compactionThreshold", 10000);
HColumnDescriptor hcd = new HColumnDescriptor(FAMILY_BYTES).setBlockCacheEnabled(true)
.setBloomFilterType(bloomType);
HTableDescriptor htd = new HTableDescriptor(TABLE);
htd.addFamily(hcd);
HRegionInfo info = new HRegionInfo(Bytes.toBytes(TABLE));
HRegion region = HRegion.createHRegion(info, TEST_UTIL.getClusterTestDir(), conf, htd);
for (int iFile = 0; iFile < NUM_FILES; ++iFile) {
for (int iRow = 0; iRow < NUM_ROWS; ++iRow) {
Put put = new Put(Bytes.toBytes("row" + iRow));
for (int iCol = 0; iCol < NUM_COLS_PER_ROW; ++iCol) {
put.add(FAMILY_BYTES, Bytes.toBytes("col" + iCol),
Bytes.toBytes("value" + iFile + "_" + iRow + "_" + iCol));
}
region.put(put);
}
region.flushcache();
}
Scan scan = new Scan(Bytes.toBytes("aaa"), Bytes.toBytes("aaz"));
CacheConfig cacheConf = new CacheConfig(conf);
LruBlockCache cache = (LruBlockCache) cacheConf.getBlockCache();
cache.clearCache();
Map<String, Long> metricsBefore = SchemaMetrics.getMetricsSnapshot();
SchemaMetrics.validateMetricChanges(metricsBefore);
InternalScanner scanner = region.getScanner(scan);
List<KeyValue> results = new ArrayList<KeyValue>();
while (scanner.next(results)) {
}
scanner.close();
assertEquals(0, results.size());
Set<String> accessedFiles = cache.getCachedFileNamesForTest();
assertEquals(accessedFiles.size(), 0);
//assertEquals(cache.getBlockCount(), 0);
Map<String, Long> diffMetrics = SchemaMetrics.diffMetrics(metricsBefore,
SchemaMetrics.getMetricsSnapshot());
SchemaMetrics schemaMetrics = SchemaMetrics.getInstance(TABLE, FAMILY);
long dataBlockRead = SchemaMetrics.getLong(diffMetrics,
schemaMetrics.getBlockMetricName(BlockCategory.DATA, false, BlockMetricType.READ_COUNT));
assertEquals(dataBlockRead, 0);
region.close();
}