package com.taobao.tddl.monitor.stat;
import com.taobao.tddl.common.utils.TStringUtil;
import com.taobao.tddl.monitor.utils.NagiosUtils;
/**
* 基于 Nagios 格式的统计日志输出类。 <br />
* 兼容 StatMonitor 的代码。
*
* @author changyuan.lh
*/
public class NagiosLogWriter extends StatLogWriter {
public void write(Object[] keys, Object[] fields, long... values) {
if (values.length < 2) {
throw new IllegalArgumentException("At least given 2 values");
}
// XXX: 兼容 StatMonitor 的输出, 放弃 min/max 只输出平均值
long count = values[0];
long value = values[1];
String averageValueStr = "invalid";
if (count != 0) {
double averageValue = (double) value / count;
averageValueStr = String.valueOf(averageValue);
}
if (fields == null) {
fields = keys;
}
// NagiosUtils.addNagiosLog(key1 + "|" + key2 + "|" + key3,
// averageValueStr);
NagiosUtils.addNagiosLog(TStringUtil.join(fields, "|"), averageValueStr);
}
}