Search in sources :

Example 1 with Metric

use of org.apache.hadoop.hbase.metrics.Metric in project hbase by apache.

the class TestMetricRegistryImpl method testGetMetrics.

@Test
public void testGetMetrics() {
    CounterImpl counter = new CounterImpl();
    registry.register("mycounter", counter);
    Gauge gauge = registry.register("mygauge", () -> 42L);
    Timer timer = registry.timer("mytimer");
    Map<String, Metric> metrics = registry.getMetrics();
    assertEquals(3, metrics.size());
    assertEquals(counter, metrics.get("mycounter"));
    assertEquals(gauge, metrics.get("mygauge"));
    assertEquals(timer, metrics.get("mytimer"));
}
Also used : Timer(org.apache.hadoop.hbase.metrics.Timer) Metric(org.apache.hadoop.hbase.metrics.Metric) Gauge(org.apache.hadoop.hbase.metrics.Gauge) Test(org.junit.Test)

Example 2 with Metric

use of org.apache.hadoop.hbase.metrics.Metric in project hbase by apache.

the class TestMetricRegistryImpl method testCounter.

@Test
public void testCounter() {
    Counter counter = registry.counter("mycounter");
    assertNotNull(counter);
    counter.increment(42L);
    Optional<Metric> metric = registry.get("mycounter");
    assertTrue(metric.isPresent());
    assertEquals(42L, (long) ((Counter) metric.get()).getCount());
}
Also used : Counter(org.apache.hadoop.hbase.metrics.Counter) Metric(org.apache.hadoop.hbase.metrics.Metric) Test(org.junit.Test)

Example 3 with Metric

use of org.apache.hadoop.hbase.metrics.Metric in project hbase by apache.

the class TestCoprocessorMetrics method assertPreGetRequestsCounter.

/**
   * Helper for below tests
   */
private void assertPreGetRequestsCounter(Class<?> coprocClass) {
    // Find out the MetricRegistry used by the CP using the global registries
    MetricRegistryInfo info = MetricsCoprocessor.createRegistryInfoForRegionCoprocessor(coprocClass.getName());
    Optional<MetricRegistry> registry = MetricRegistries.global().get(info);
    assertTrue(registry.isPresent());
    Optional<Metric> metric = registry.get().get("preGetRequests");
    assertTrue(metric.isPresent());
    Counter preGetRequests = (Counter) metric.get();
    assertEquals(2, preGetRequests.getCount());
}
Also used : Counter(org.apache.hadoop.hbase.metrics.Counter) MetricRegistry(org.apache.hadoop.hbase.metrics.MetricRegistry) Metric(org.apache.hadoop.hbase.metrics.Metric) MetricRegistryInfo(org.apache.hadoop.hbase.metrics.MetricRegistryInfo)

Example 4 with Metric

use of org.apache.hadoop.hbase.metrics.Metric in project hbase by apache.

the class TestCoprocessorMetrics method testRegionServerObserver.

@Test
public void testRegionServerObserver() throws IOException {
    try (Connection connection = ConnectionFactory.createConnection(UTIL.getConfiguration());
        Admin admin = connection.getAdmin()) {
        LOG.info("Rolling WALs");
        admin.rollWALWriter(UTIL.getMiniHBaseCluster().getServerHoldingMeta());
    }
    // Find out the MetricRegistry used by the CP using the global registries
    MetricRegistryInfo info = MetricsCoprocessor.createRegistryInfoForRSCoprocessor(CustomRegionServerObserver.class.getName());
    Optional<MetricRegistry> registry = MetricRegistries.global().get(info);
    assertTrue(registry.isPresent());
    Optional<Metric> metric = registry.get().get("rollWALRequests");
    assertTrue(metric.isPresent());
    Counter rollWalRequests = (Counter) metric.get();
    assertEquals(1, rollWalRequests.getCount());
}
Also used : Counter(org.apache.hadoop.hbase.metrics.Counter) MetricRegistry(org.apache.hadoop.hbase.metrics.MetricRegistry) Connection(org.apache.hadoop.hbase.client.Connection) Metric(org.apache.hadoop.hbase.metrics.Metric) Admin(org.apache.hadoop.hbase.client.Admin) MetricRegistryInfo(org.apache.hadoop.hbase.metrics.MetricRegistryInfo) Test(org.junit.Test)

Example 5 with Metric

use of org.apache.hadoop.hbase.metrics.Metric in project hbase by apache.

the class TestCoprocessorMetrics method testWALObserver.

@Test
public void testWALObserver() throws IOException {
    // Find out the MetricRegistry used by the CP using the global registries
    MetricRegistryInfo info = MetricsCoprocessor.createRegistryInfoForWALCoprocessor(CustomWALObserver.class.getName());
    Optional<MetricRegistry> registry = MetricRegistries.global().get(info);
    assertTrue(registry.isPresent());
    Optional<Metric> metric = registry.get().get("walEditsCount");
    assertTrue(metric.isPresent());
    try (Connection connection = ConnectionFactory.createConnection(UTIL.getConfiguration());
        Admin admin = connection.getAdmin()) {
        admin.createTable(new HTableDescriptor(TableName.valueOf(name.getMethodName())).addFamily(new HColumnDescriptor("foo")));
        Counter rollWalRequests = (Counter) metric.get();
        long prevCount = rollWalRequests.getCount();
        assertTrue(prevCount > 0);
        try (Table table = connection.getTable(TableName.valueOf(name.getMethodName()))) {
            table.put(new Put(foo).addColumn(foo, foo, foo));
        }
        assertEquals(1, rollWalRequests.getCount() - prevCount);
    }
}
Also used : Table(org.apache.hadoop.hbase.client.Table) HColumnDescriptor(org.apache.hadoop.hbase.HColumnDescriptor) MetricRegistry(org.apache.hadoop.hbase.metrics.MetricRegistry) Connection(org.apache.hadoop.hbase.client.Connection) Admin(org.apache.hadoop.hbase.client.Admin) Put(org.apache.hadoop.hbase.client.Put) HTableDescriptor(org.apache.hadoop.hbase.HTableDescriptor) Counter(org.apache.hadoop.hbase.metrics.Counter) Metric(org.apache.hadoop.hbase.metrics.Metric) MetricRegistryInfo(org.apache.hadoop.hbase.metrics.MetricRegistryInfo) Test(org.junit.Test)

Aggregations

Metric (org.apache.hadoop.hbase.metrics.Metric)9 Test (org.junit.Test)7 Counter (org.apache.hadoop.hbase.metrics.Counter)6 MetricRegistry (org.apache.hadoop.hbase.metrics.MetricRegistry)5 MetricRegistryInfo (org.apache.hadoop.hbase.metrics.MetricRegistryInfo)5 Admin (org.apache.hadoop.hbase.client.Admin)4 Connection (org.apache.hadoop.hbase.client.Connection)4 Timer (org.apache.hadoop.hbase.metrics.Timer)4 HColumnDescriptor (org.apache.hadoop.hbase.HColumnDescriptor)3 HTableDescriptor (org.apache.hadoop.hbase.HTableDescriptor)3 Gauge (org.apache.hadoop.hbase.metrics.Gauge)3 Put (org.apache.hadoop.hbase.client.Put)2 Table (org.apache.hadoop.hbase.client.Table)2 Map (java.util.Map)1 TableName (org.apache.hadoop.hbase.TableName)1 Mutation (org.apache.hadoop.hbase.client.Mutation)1 CoprocessorRpcChannel (org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel)1 Histogram (org.apache.hadoop.hbase.metrics.Histogram)1 Meter (org.apache.hadoop.hbase.metrics.Meter)1 MultiRowMutationService (org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationService)1