下面列出了怎么用org.apache.hadoop.mapreduce.counters.Limits的API类实例代码及写法,或者点击链接到github查看源代码。
private void testMaxCounters(final Counters counters) {
LOG.info("counters max="+ Limits.getCountersMax());
for (int i = 0; i < Limits.getCountersMax(); ++i) {
counters.findCounter("test", "test"+ i);
}
setExpected(counters);
shouldThrow(LimitExceededException.class, new Runnable() {
public void run() {
counters.findCounter("test", "bad");
}
});
checkExpected(counters);
}
private void testMaxGroups(final Counters counters) {
LOG.info("counter groups max="+ Limits.getGroupsMax());
for (int i = 0; i < Limits.getGroupsMax(); ++i) {
// assuming COUNTERS_MAX > GROUPS_MAX
counters.findCounter("test"+ i, "test");
}
setExpected(counters);
shouldThrow(LimitExceededException.class, new Runnable() {
public void run() {
counters.findCounter("bad", "test");
}
});
checkExpected(counters);
}
private void testMaxCounters(final Counters counters) {
LOG.info("counters max="+ Limits.getCountersMax());
for (int i = 0; i < Limits.getCountersMax(); ++i) {
counters.findCounter("test", "test"+ i);
}
setExpected(counters);
shouldThrow(LimitExceededException.class, new Runnable() {
public void run() {
counters.findCounter("test", "bad");
}
});
checkExpected(counters);
}
private void testMaxGroups(final Counters counters) {
LOG.info("counter groups max="+ Limits.getGroupsMax());
for (int i = 0; i < Limits.getGroupsMax(); ++i) {
// assuming COUNTERS_MAX > GROUPS_MAX
counters.findCounter("test"+ i, "test");
}
setExpected(counters);
shouldThrow(LimitExceededException.class, new Runnable() {
public void run() {
counters.findCounter("bad", "test");
}
});
checkExpected(counters);
}
GenericGroup(String name, String displayName, Limits limits) {
super(name, displayName, limits);
}
@Override
protected Group newGenericGroup(String name, String displayName,
Limits limits) {
return new Group(new GenericGroup(name, displayName, limits));
}
GenericGroup(String name, String displayName, Limits limits) {
super(name, displayName, limits);
}
@Override
protected CounterGroup newGenericGroup(String name, String displayName,
Limits limits) {
return new GenericGroup(name, displayName, limits);
}
GenericGroup(String name, String displayName, Limits limits) {
super(name, displayName, limits);
}
@Override
protected Group newGenericGroup(String name, String displayName,
Limits limits) {
return new Group(new GenericGroup(name, displayName, limits));
}
GenericGroup(String name, String displayName, Limits limits) {
super(name, displayName, limits);
}
@Override
protected CounterGroup newGenericGroup(String name, String displayName,
Limits limits) {
return new GenericGroup(name, displayName, limits);
}
/** {@inheritDoc} */
@Override public Limits limits() {
return null;
}