• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java MetricsSourceBuilder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.hadoop.metrics2.lib.MetricsSourceBuilder的典型用法代码示例。如果您正苦于以下问题:Java MetricsSourceBuilder类的具体用法?Java MetricsSourceBuilder怎么用?Java MetricsSourceBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MetricsSourceBuilder类属于org.apache.hadoop.metrics2.lib包,在下文中一共展示了MetricsSourceBuilder类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: register

import org.apache.hadoop.metrics2.lib.MetricsSourceBuilder; //导入依赖的package包/类
@Override public synchronized <T>
T register(String name, String desc, T source) {
  MetricsSourceBuilder sb = MetricsAnnotations.newSourceBuilder(source);
  final MetricsSource s = sb.build();
  MetricsInfo si = sb.info();
  String name2 = name == null ? si.name() : name;
  final String finalDesc = desc == null ? si.description() : desc;
  final String finalName = // be friendly to non-metrics tests
      DefaultMetricsSystem.sourceName(name2, !monitoring);
  allSources.put(finalName, s);
  LOG.debug(finalName +", "+ finalDesc);
  if (monitoring) {
    registerSource(finalName, finalDesc, s);
  }
  // We want to re-register the source to pick up new config when the
  // metrics system restarts.
  register(finalName, new AbstractCallback() {
    @Override public void postStart() {
      registerSource(finalName, finalDesc, s);
    }
  });
  return source;
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:24,代码来源:MetricsSystemImpl.java


示例2: register

import org.apache.hadoop.metrics2.lib.MetricsSourceBuilder; //导入依赖的package包/类
@Override public synchronized <T>
T register(String name, String desc, T source) {
  MetricsSourceBuilder sb = MetricsAnnotations.newSourceBuilder(source);
  final MetricsSource s = sb.build();
  MetricsInfo si = sb.info();
  String name2 = name == null ? si.name() : name;
  final String finalDesc = desc == null ? si.description() : desc;
  final String finalName = // be friendly to non-metrics tests
      DefaultMetricsSystem.sourceName(name2, !monitoring);
  allSources.put(finalName, s);
  LOG.debug(finalName +", "+ finalDesc);
  if (monitoring) {
    registerSource(finalName, finalDesc, s);
  }
  // We want to re-register the source to pick up new config when the
  // metrics system restarts.
  register(new AbstractCallback() {
    @Override public void postStart() {
      registerSource(finalName, finalDesc, s);
    }
  });
  return source;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:24,代码来源:MetricsSystemImpl.java


示例3: testGetMetricsAndJmx

import org.apache.hadoop.metrics2.lib.MetricsSourceBuilder; //导入依赖的package包/类
@Test
public void testGetMetricsAndJmx() throws Exception {
  // create test source with a single metric counter of value 0
  TestSource source = new TestSource("test");
  MetricsSourceBuilder sb = MetricsAnnotations.newSourceBuilder(source);
  final MetricsSource s = sb.build();

  List<MetricsTag> injectedTags = new ArrayList<MetricsTag>();
  MetricsSourceAdapter sa = new MetricsSourceAdapter(
      "test", "test", "test desc", s, injectedTags, null, null, 1, false);

  // all metrics are initially assumed to have changed
  MetricsCollectorImpl builder = new MetricsCollectorImpl();
  Iterable<MetricsRecordImpl> metricsRecords = sa.getMetrics(builder, true);

  // Validate getMetrics and JMX initial values
  MetricsRecordImpl metricsRecord = metricsRecords.iterator().next();
  assertEquals(0L,
      metricsRecord.metrics().iterator().next().value().longValue());

  Thread.sleep(100); // skip JMX cache TTL
  assertEquals(0L, (Number)sa.getAttribute("C1"));

  // change metric value
  source.incrementCnt();

  // validate getMetrics and JMX
  builder = new MetricsCollectorImpl();
  metricsRecords = sa.getMetrics(builder, true);
  metricsRecord = metricsRecords.iterator().next();
  assertTrue(metricsRecord.metrics().iterator().hasNext());
  Thread.sleep(100); // skip JMX cache TTL
  assertEquals(1L, (Number)sa.getAttribute("C1"));
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:35,代码来源:TestMetricsSourceAdapter.java


示例4: create

import org.apache.hadoop.metrics2.lib.MetricsSourceBuilder; //导入依赖的package包/类
static CleanerMetrics create() {
  MetricsSystem ms = DefaultMetricsSystem.instance();

  CleanerMetrics metricObject = new CleanerMetrics();
  MetricsSourceBuilder sb = MetricsAnnotations.newSourceBuilder(metricObject);
  final MetricsSource s = sb.build();
  ms.register("cleaner", "The cleaner service of truly shared cache", s);
  metricObject.metricSource = s;
  return metricObject;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:11,代码来源:CleanerMetrics.java


示例5: testMetricCacheUpdateRace

import org.apache.hadoop.metrics2.lib.MetricsSourceBuilder; //导入依赖的package包/类
/**
 * Test a race condition when updating the JMX cache (HADOOP-12482):
 * 1. Thread A reads the JMX metric every 2 JMX cache TTL. It marks the JMX
 *    cache to be updated by marking lastRecs to null. After this it adds a
 *    new key to the metrics. The next call to read should pick up this new
 *    key.
 * 2. Thread B triggers JMX metric update every 1 JMX cache TTL. It assigns
 *    lastRecs to a new object (not null any more).
 * 3. Thread A tries to read JMX metric again, sees lastRecs is not null and
 *    does not update JMX cache. As a result the read does not pickup the new
 *    metric.
 * @throws Exception
 */
@Test
public void testMetricCacheUpdateRace() throws Exception {
  // Create test source with a single metric counter of value 1.
  TestMetricsSource source = new TestMetricsSource();
  MetricsSourceBuilder sourceBuilder =
      MetricsAnnotations.newSourceBuilder(source);

  final long JMX_CACHE_TTL = 250; // ms
  List<MetricsTag> injectedTags = new ArrayList<>();
  MetricsSourceAdapter sourceAdapter =
      new MetricsSourceAdapter("test", "test",
          "test JMX cache update race condition", sourceBuilder.build(),
          injectedTags, null, null, JMX_CACHE_TTL, false);

  ScheduledExecutorService updaterExecutor =
      Executors.newScheduledThreadPool(1, new ThreadFactoryBuilder().build());
  ScheduledExecutorService readerExecutor =
      Executors.newScheduledThreadPool(1, new ThreadFactoryBuilder().build());

  final AtomicBoolean hasError = new AtomicBoolean(false);

  // Wake up every 1 JMX cache TTL to set lastRecs before updateJmxCache() is
  // called.
  SourceUpdater srcUpdater = new SourceUpdater(sourceAdapter, hasError);
  ScheduledFuture<?> updaterFuture =
      updaterExecutor.scheduleAtFixedRate(srcUpdater,
          sourceAdapter.getJmxCacheTTL(), sourceAdapter.getJmxCacheTTL(),
          TimeUnit.MILLISECONDS);
  srcUpdater.setFuture(updaterFuture);

  // Wake up every 2 JMX cache TTL so updateJmxCache() will try to update
  // JMX cache.
  SourceReader srcReader = new SourceReader(source, sourceAdapter, hasError);
  ScheduledFuture<?> readerFuture =
      readerExecutor.scheduleAtFixedRate(srcReader,
          0, // set JMX info cache at the beginning
          2 * sourceAdapter.getJmxCacheTTL(), TimeUnit.MILLISECONDS);
  srcReader.setFuture(readerFuture);

  // Let the threads do their work.
  Thread.sleep(RACE_TEST_RUNTIME);

  assertFalse("Hit error", hasError.get());

  // cleanup
  updaterExecutor.shutdownNow();
  readerExecutor.shutdownNow();
  updaterExecutor.awaitTermination(1000, TimeUnit.MILLISECONDS);
  readerExecutor.awaitTermination(1000, TimeUnit.MILLISECONDS);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:64,代码来源:TestMetricsSourceAdapter.java



注:本文中的org.apache.hadoop.metrics2.lib.MetricsSourceBuilder类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Account类代码示例发布时间:2022-05-22
下一篇:
Java ToolInstaller类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap