当前位置: 首页>>代码示例>>Java>>正文


Java Instrumentation.incr方法代码示例

本文整理汇总了Java中org.apache.hadoop.lib.service.Instrumentation.incr方法的典型用法代码示例。如果您正苦于以下问题:Java Instrumentation.incr方法的具体用法?Java Instrumentation.incr怎么用?Java Instrumentation.incr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.lib.service.Instrumentation的用法示例。


在下文中一共展示了Instrumentation.incr方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: schedule

import org.apache.hadoop.lib.service.Instrumentation; //导入方法依赖的package包/类
@Override
public void schedule(final Callable<?> callable, long delay, long interval, TimeUnit unit) {
  Check.notNull(callable, "callable");
  if (!scheduler.isShutdown()) {
    LOG.debug("Scheduling callable [{}], interval [{}] seconds, delay [{}] in [{}]",
              new Object[]{callable, delay, interval, unit});
    Runnable r = new Runnable() {
      @Override
      public void run() {
        String instrName = callable.getClass().getSimpleName();
        Instrumentation instr = getServer().get(Instrumentation.class);
        if (getServer().getStatus() == Server.Status.HALTED) {
          LOG.debug("Skipping [{}], server status [{}]", callable, getServer().getStatus());
          instr.incr(INST_GROUP, instrName + ".skips", 1);
        } else {
          LOG.debug("Executing [{}]", callable);
          instr.incr(INST_GROUP, instrName + ".execs", 1);
          Instrumentation.Cron cron = instr.createCron().start();
          try {
            callable.call();
          } catch (Exception ex) {
            instr.incr(INST_GROUP, instrName + ".fails", 1);
            LOG.error("Error executing [{}], {}", new Object[]{callable, ex.getMessage(), ex});
          } finally {
            instr.addCron(INST_GROUP, instrName, cron.stop());
          }
        }
      }
    };
    scheduler.scheduleWithFixedDelay(r, delay, interval, unit);
  } else {
    throw new IllegalStateException(
      MessageFormat.format("Scheduler shutting down, ignoring scheduling of [{}]", callable));
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:36,代码来源:SchedulerService.java

示例2: schedule

import org.apache.hadoop.lib.service.Instrumentation; //导入方法依赖的package包/类
@Override
public void schedule(final Callable<?> callable, long delay, long interval,
    TimeUnit unit) {
  Check.notNull(callable, "callable");
  if (!scheduler.isShutdown()) {
    LOG.debug(
        "Scheduling callable [{}], interval [{}] seconds, delay [{}] in [{}]",
        new Object[]{callable, delay, interval, unit});
    Runnable r = new Runnable() {
      @Override
      public void run() {
        String instrName = callable.getClass().getSimpleName();
        Instrumentation instr = getServer().get(Instrumentation.class);
        if (getServer().getStatus() == Server.Status.HALTED) {
          LOG.debug("Skipping [{}], server status [{}]", callable,
              getServer().getStatus());
          instr.incr(INST_GROUP, instrName + ".skips", 1);
        } else {
          LOG.debug("Executing [{}]", callable);
          instr.incr(INST_GROUP, instrName + ".execs", 1);
          Instrumentation.Cron cron = instr.createCron().start();
          try {
            callable.call();
          } catch (Exception ex) {
            instr.incr(INST_GROUP, instrName + ".fails", 1);
            LOG.error("Error executing [{}], {}",
                new Object[]{callable, ex.getMessage(), ex});
          } finally {
            instr.addCron(INST_GROUP, instrName, cron.stop());
          }
        }
      }
    };
    scheduler.scheduleWithFixedDelay(r, delay, interval, unit);
  } else {
    throw new IllegalStateException(MessageFormat
        .format("Scheduler shutting down, ignoring scheduling of [{}]",
            callable));
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:41,代码来源:SchedulerService.java

示例3: service

import org.apache.hadoop.lib.service.Instrumentation; //导入方法依赖的package包/类
@Test
@TestDir
@SuppressWarnings("unchecked")
public void service() throws Exception {
  String dir = TestDirHelper.getTestDir().getAbsolutePath();
  String services = StringUtils.join(",", Arrays.asList(InstrumentationService.class.getName()));
  Configuration conf = new Configuration(false);
  conf.set("server.services", services);
  Server server = new Server("server", dir, dir, dir, dir, conf);
  server.init();

  Instrumentation instrumentation = server.get(Instrumentation.class);
  assertNotNull(instrumentation);
  instrumentation.incr("g", "c", 1);
  instrumentation.incr("g", "c", 2);
  instrumentation.incr("g", "c1", 2);

  Instrumentation.Cron cron = instrumentation.createCron();
  cron.start();
  sleep(100);
  cron.stop();
  instrumentation.addCron("g", "t", cron);
  cron = instrumentation.createCron();
  cron.start();
  sleep(200);
  cron.stop();
  instrumentation.addCron("g", "t", cron);

  Instrumentation.Variable<String> var = new Instrumentation.Variable<String>() {
    @Override
    public String getValue() {
      return "foo";
    }
  };
  instrumentation.addVariable("g", "v", var);

  Instrumentation.Variable<Long> varToSample = new Instrumentation.Variable<Long>() {
    @Override
    public Long getValue() {
      return 1L;
    }
  };
  instrumentation.addSampler("g", "s", 10, varToSample);

  Map<String, ?> snapshot = instrumentation.getSnapshot();
  assertNotNull(snapshot.get("os-env"));
  assertNotNull(snapshot.get("sys-props"));
  assertNotNull(snapshot.get("jvm"));
  assertNotNull(snapshot.get("counters"));
  assertNotNull(snapshot.get("timers"));
  assertNotNull(snapshot.get("variables"));
  assertNotNull(snapshot.get("samplers"));
  assertNotNull(((Map<String, String>) snapshot.get("os-env")).get("PATH"));
  assertNotNull(((Map<String, String>) snapshot.get("sys-props")).get("java.version"));
  assertNotNull(((Map<String, ?>) snapshot.get("jvm")).get("free.memory"));
  assertNotNull(((Map<String, ?>) snapshot.get("jvm")).get("max.memory"));
  assertNotNull(((Map<String, ?>) snapshot.get("jvm")).get("total.memory"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("counters")).get("g"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("timers")).get("g"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("variables")).get("g"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("samplers")).get("g"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("counters")).get("g").get("c"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("counters")).get("g").get("c1"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("timers")).get("g").get("t"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("variables")).get("g").get("v"));
  assertNotNull(((Map<String, Map<String, Object>>) snapshot.get("samplers")).get("g").get("s"));

  StringWriter writer = new StringWriter();
  JSONObject.writeJSONString(snapshot, writer);
  writer.close();
  server.destroy();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:73,代码来源:TestInstrumentationService.java


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