final List<User> topUsers = op.getTopUsers(); assertEquals("Unexpected number of users", N_TOP_USERS, topUsers.size()); if (op.getOpType() == "open") { for (int i = 0; i < topUsers.size(); i++) { User user = topUsers.get(i); op.getTotalCount()); assertEquals("Unexpected number of ops", 1, tops.getOps().size()); final Op op = tops.getOps().get(0); assertEquals("Should only see close ops", "close", op.getOpType()); final List<User> topUsers = op.getTopUsers(); for (int i = 0; i < topUsers.size(); i++) { User user = topUsers.get(i); (1 + users.length) * (users.length / 2), op.getTotalCount());
/** * Flatten out the top window metrics into * {@link org.apache.hadoop.metrics2.MetricsRecord}s for consumption by * external metrics systems. Each metrics record added corresponds to the * reporting period a.k.a window length of the configured rolling windows. */ @Override public void getMetrics(MetricsCollector collector, boolean all) { if (!isMetricsSourceEnabled) { return; } for (final TopWindow window : getTopWindows()) { MetricsRecordBuilder rb = collector.addRecord(buildOpRecordName(window)) .setContext("dfs"); for (final Op op: window.getOps()) { rb.addCounter(buildOpTotalCountMetricsInfo(op), op.getTotalCount()); for (User user : op.getTopUsers()) { rb.addCounter(buildOpRecordMetricsInfo(op, user), user.getCount()); } } } }
private MetricsInfo buildOpTotalCountMetricsInfo(Op op) { return Interns.info("op=" + StringUtils.deleteWhitespace(op.getOpType()) + ".TotalCount", "Total operation count"); }
private MetricsInfo buildOpRecordMetricsInfo(Op op, User user) { return Interns.info("op=" + StringUtils.deleteWhitespace(op.getOpType()) + ".user=" + user.getUser() + ".count", "Total operations performed by user"); } }
/** * Flatten out the top window metrics into * {@link org.apache.hadoop.metrics2.MetricsRecord}s for consumption by * external metrics systems. Each metrics record added corresponds to the * reporting period a.k.a window length of the configured rolling windows. */ @Override public void getMetrics(MetricsCollector collector, boolean all) { if (!isMetricsSourceEnabled) { return; } for (final TopWindow window : getTopWindows()) { MetricsRecordBuilder rb = collector.addRecord(buildOpRecordName(window)) .setContext("dfs"); for (final Op op: window.getOps()) { rb.addCounter(buildOpTotalCountMetricsInfo(op), op.getTotalCount()); for (User user : op.getTopUsers()) { rb.addCounter(buildOpRecordMetricsInfo(op, user), user.getCount()); } } } }
private MetricsInfo buildOpTotalCountMetricsInfo(Op op) { return Interns.info("op=" + StringUtils.deleteWhitespace(op.getOpType()) + ".TotalCount", "Total operation count"); }
private MetricsInfo buildOpRecordMetricsInfo(Op op, User user) { return Interns.info("op=" + StringUtils.deleteWhitespace(op.getOpType()) + ".user=" + user.getUser() + ".count", "Total operations performed by user"); } }